refactor: 彻底清除所有openhis痕迹
- 重命名目录: openhis-server-new → healthlink-his-server - 重命名目录: openhis-ui-vue3 → healthlink-his-ui - 重命名Java类: OpenHisApplication → HealthLinkHisApplication - 重命名Java类: OpenHisMiniApp → HealthLinkHisMiniApp - 重命名组件目录: OpenHis → HealthLinkHis - 重命名样式文件: openhis.scss → healthlink-his.scss - 重命名配置: nginx-openhis.conf → nginx-healthlink-his.conf - 更新所有源码引用 (0个残留) - 更新所有文档/脚本/配置中的引用
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# OpenHIS 后端组件升级方案
|
||||
# HealthLink-HIS 后端组件升级方案
|
||||
|
||||
> **编制日期**: 2026-06-04
|
||||
> **基线**: Spring Boot 2.5.15 + MyBatis Plus 3.5.5
|
||||
@@ -22,7 +22,7 @@
|
||||
| 项 | 内容 |
|
||||
|---|---|
|
||||
| **风险等级** | 🔴 高 — 1.69 有 CVE 安全漏洞 |
|
||||
| **变更文件** | `openhis-server-new/pom.xml` |
|
||||
| **变更文件** | `healthlink-his-server/pom.xml` |
|
||||
| **当前值** | `<bcprov-jdk15on.version>1.69</bcprov-jdk15on.version>` |
|
||||
| **操作** | 删除 jdk15on,改用 jdk18on |
|
||||
| **新增依赖** | `org.bouncycastle:bcprov-jdk18on:1.80`<br>`org.bouncycastle:bcpkix-jdk18on:1.80` |
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Flyway 数据库迁移使用指南
|
||||
|
||||
> **项目**: OpenHIS 医院管理系统
|
||||
> **项目**: HealthLink-HIS 医院管理系统
|
||||
> **数据库**: PostgreSQL 192.168.110.252:15432 (schema: hisdev)
|
||||
> **Flyway 版本**: 8.5.x (Spring Boot 2.7 管理)
|
||||
> **编制日期**: 2026-06-04
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
**迁移文件目录:**
|
||||
```
|
||||
openhis-server-new/openhis-application/src/main/resources/db/migration/
|
||||
healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/
|
||||
```
|
||||
|
||||
**当前状态:**
|
||||
@@ -92,9 +92,9 @@ CREATE INDEX idx_surgery_stats_tenant ON surgery_schedule_stats(tenant_id);
|
||||
**Step 2:启动应用**
|
||||
|
||||
```bash
|
||||
cd openhis-server-new
|
||||
cd healthlink-his-server
|
||||
mvn clean package -DskipTests
|
||||
java -jar openhis-application/target/openhis-application.jar --spring.profiles.active=dev --server.port=18082
|
||||
java -jar healthlink-his-application/target/healthlink-his-application.jar --spring.profiles.active=dev --server.port=18082
|
||||
```
|
||||
|
||||
**Step 3:Flyway 自动执行**
|
||||
@@ -214,7 +214,7 @@ PGPASSWORD=Jchl1528 psql -h 192.168.110.252 -p 15432 -U postgresql -d postgresql
|
||||
-c "SET search_path TO hisdev; DROP TABLE IF EXISTS clinic_referral;"
|
||||
|
||||
# 3. 删除迁移文件
|
||||
rm openhis-server-new/openhis-application/src/main/resources/db/migration/V6__create_clinic_referral_table.sql
|
||||
rm healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V6__create_clinic_referral_table.sql
|
||||
|
||||
# 4. 重启应用
|
||||
```
|
||||
@@ -252,7 +252,7 @@ SELECT MAX(version) AS current_version FROM flyway_schema_history;
|
||||
## 九、文件清单
|
||||
|
||||
```
|
||||
openhis-server-new/openhis-application/src/main/resources/db/migration/
|
||||
healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/
|
||||
├── README.md # 使用说明
|
||||
├── V1__baseline_marker.sql # 基线标记(空文件)
|
||||
├── V2__xxx.sql # 你的第一个迁移
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
> **编制人:** 陈琳
|
||||
> **编制日期:** 2026-05-01
|
||||
> **统计范围:** 2026-04-01 至 2026-05-01
|
||||
> **项目版本:** OpenHIS v2.0
|
||||
> **项目版本:** HealthLink-HIS v2.0
|
||||
> **文档版本:** v1.0
|
||||
|
||||
---
|
||||
|
||||
@@ -25,7 +25,7 @@ MyBatis Plus 3.5.16 的 `mybatis-plus-boot-starter` 在 `dependencyManagement`
|
||||
**解决方案:在父 pom.xml 中显式锁定关键依赖版本**
|
||||
|
||||
```xml
|
||||
<!-- 在 openhis-server-new/pom.xml 的 <properties> 中添加 -->
|
||||
<!-- 在 healthlink-his-server/pom.xml 的 <properties> 中添加 -->
|
||||
<!-- 锁定 Spring Boot 管理的核心依赖版本,防止被 BOM 覆盖 -->
|
||||
<spring-boot.version>2.5.15</spring-boot.version>
|
||||
<spring-boot-dependencies.version>2.5.15</spring-boot-dependencies.version>
|
||||
@@ -99,7 +99,7 @@ MyBatis Plus 3.5.16 的 `mybatis-plus-boot-starter` 在 `dependencyManagement`
|
||||
|
||||
### Step 2: 添加 BOM 覆盖(关键!)
|
||||
|
||||
在 `openhis-server-new/pom.xml` 的 `<dependencyManagement>` 中添加:
|
||||
在 `healthlink-his-server/pom.xml` 的 `<dependencyManagement>` 中添加:
|
||||
|
||||
```xml
|
||||
<!-- 覆盖 MyBatis Plus 导入的 Spring Boot BOM,保持 2.5.15 -->
|
||||
@@ -115,7 +115,7 @@ MyBatis Plus 3.5.16 的 `mybatis-plus-boot-starter` 在 `dependencyManagement`
|
||||
### Step 3: 编译验证
|
||||
|
||||
```bash
|
||||
cd openhis-server-new
|
||||
cd healthlink-his-server
|
||||
mvn clean compile -DskipTests
|
||||
```
|
||||
|
||||
@@ -136,7 +136,7 @@ mvn clean compile -DskipTests
|
||||
### Step 5: 提交代码
|
||||
|
||||
```bash
|
||||
git add openhis-server-new/pom.xml
|
||||
git add healthlink-his-server/pom.xml
|
||||
git commit -m "chore(deps): MyBatis Plus 3.5.5 → 3.5.16"
|
||||
git push origin develop
|
||||
```
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
## 执行原则
|
||||
|
||||
1. **渐进式合入** — 每次只合一个组件,验证通过再合下一个
|
||||
2. **保留业务代码** — `com.openhis.*` 目录不动,只改脚手架层
|
||||
2. **保留业务代码** — `com.healthlink.his.*` 目录不动,只改脚手架层
|
||||
3. **兼容优先** — 优先合入无侵入的独立组件
|
||||
4. **验证必做** — 每步完成后跑 `npm run dev` + 核心页面冒烟
|
||||
|
||||
@@ -209,7 +209,7 @@ router.beforeEach(async (to, from) => {
|
||||
|
||||
**操作:**
|
||||
```bash
|
||||
cd openhis-server-new
|
||||
cd healthlink-his-server
|
||||
mvn clean package -DskipTests
|
||||
# 验证启动正常
|
||||
```
|
||||
@@ -229,7 +229,7 @@ mvn clean package -DskipTests
|
||||
|
||||
**操作:**
|
||||
```bash
|
||||
cd openhis-ui-vue3
|
||||
cd healthlink-his-ui
|
||||
npm install vue-router@^4.6.4 echarts@^5.6.0
|
||||
npm run dev # 验证无报错
|
||||
```
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# OpenHIS 组件升级日志
|
||||
# HealthLink-HIS 组件升级日志
|
||||
|
||||
> 每次升级后在此记录,方便跨 session 追踪进度。
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# OpenHIS 二次开发版本 — 组件升级计划
|
||||
# HealthLink-HIS 二次开发版本 — 组件升级计划
|
||||
|
||||
> **编制日期**: 2026-06-03
|
||||
> **对比基线**: Gitee `tntlinking-opensource/openhis-itai-pro` 2.0 分支
|
||||
> **对比基线**: Gitee `tntlinking-opensource/healthlink-his` 2.0 分支
|
||||
> **目标**: 在不破坏现有业务的前提下,逐步引入高价值组件升级
|
||||
|
||||
---
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
| 项目 | 详情 |
|
||||
|---|---|
|
||||
| **文件** | `openhis-server-new/pom.xml` |
|
||||
| **文件** | `healthlink-his-server/pom.xml` |
|
||||
| **变更** | `<bcprov-jdk15on.version>1.69</bcprov-jdk15on.version>` → 删除,改用 jdk18on |
|
||||
| **新依赖** | `org.bouncycastle:bcprov-jdk18on:1.80` + `org.bouncycastle:bcpkix-jdk18on:1.80` |
|
||||
| **原因** | 1.69 有已知安全漏洞;1.80 支持国密 SM2/SM3 算法 |
|
||||
@@ -34,7 +34,7 @@
|
||||
|
||||
| 项目 | 详情 |
|
||||
|---|---|
|
||||
| **文件** | `openhis-ui-vue3/package.json` |
|
||||
| **文件** | `healthlink-his-ui/package.json` |
|
||||
| **变更** | `"vue-router": "^4.3.0"` → `"^4.5.1"` |
|
||||
| **风险** | 低 — 4.x 小版本,API 兼容 |
|
||||
| **验证** | 前端 `npm run dev` → 测试所有页面路由跳转、返回、权限拦截 |
|
||||
@@ -49,7 +49,7 @@
|
||||
|
||||
| 项目 | 详情 |
|
||||
|---|---|
|
||||
| **文件** | `openhis-ui-vue3/package.json` |
|
||||
| **文件** | `healthlink-his-ui/package.json` |
|
||||
| **变更** | `"echarts": "^5.4.3"` → `"^6.0.0"` |
|
||||
| **影响面** | `rg "echarts" --type vue --type js` 搜索所有图表组件 |
|
||||
| **Breaking Changes** | ECharts 6 主要变更:Tree-shaking 更彻底、部分 API 重命名 |
|
||||
@@ -60,7 +60,7 @@
|
||||
|
||||
| 项目 | 详情 |
|
||||
|---|---|
|
||||
| **文件** | `openhis-ui-vue3/package.json` + 所有引用文件 |
|
||||
| **文件** | `healthlink-his-ui/package.json` + 所有引用文件 |
|
||||
| **变更** | `"lodash-es": "^4.17.21"` → 删除,添加 `"es-toolkit": "^1.41.0"` |
|
||||
| **迁移映射** | `_.cloneDeep` → `cloneDeep`、`_.debounce` → `debounce`、`_.isEqual` → `isEqual`、`_.get` → `get` |
|
||||
| **影响面** | `rg "from 'lodash-es'" --type vue --type js` 逐个替换 |
|
||||
@@ -71,7 +71,7 @@
|
||||
|
||||
| 项目 | 详情 |
|
||||
|---|---|
|
||||
| **文件** | `openhis-server-new/pom.xml` (parent) + `openhis-application/pom.xml` |
|
||||
| **文件** | `healthlink-his-server/pom.xml` (parent) + `healthlink-his-application/pom.xml` |
|
||||
| **新增依赖** | `org.mapstruct:mapstruct:1.5.5.Final` + `mapstruct-processor` + `lombok-mapstruct-binding` |
|
||||
| **使用方式** | 新增 `@Mapper(componentModel = "spring")` 接口替代 `BeanUtils.copyProperties` |
|
||||
| **策略** | **渐进式** — 不改造现有代码,仅新功能使用 MapStruct |
|
||||
|
||||
@@ -13,8 +13,8 @@ Bug #632 修复完成。核心问题是 JavaScript `&&` 运算符的经典陷阱
|
||||
| #
|
||||
|
||||
## 修复文件
|
||||
.../src/main/java/com/openhis/lab/domain/InspectionPackage.java | 3 +++
|
||||
.../src/main/java/com/openhis/lab/domain/InspectionPackageDetail.java | 3 +++
|
||||
.../src/main/java/com/healthlink/his/lab/domain/InspectionPackage.java | 3 +++
|
||||
.../src/main/java/com/healthlink/his/lab/domain/InspectionPackageDetail.java | 3 +++
|
||||
|
||||
## 流程时间线
|
||||
| 时间 | 智能体 | 事件 | 状态 | 耗时 |
|
||||
|
||||
@@ -115,5 +115,5 @@ form.purchaseinventoryList[index].sourceLocationId =
|
||||
2. 确保 `unitList` 包含必要的字典文本字段
|
||||
|
||||
## 影响范围
|
||||
- 前端文件:openhis-ui-vue3/src/views/medicationmanagement/requisitionManagement/requisitionManagement/index.vue
|
||||
- 前端文件:healthlink-his-ui/src/views/medicationmanagement/requisitionManagement/requisitionManagement/index.vue
|
||||
- 涉及函数:`selectRow`、`handleLocationClick`
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
**与 Bug #433 对比**:Bug #433 是"麻醉方法回显为代码"和"外请专家姓名数据未加载",根因也是字典数据缺失。本次 Bug #462 属于同类问题——字典类型已创建但生产环境的数据记录未同步插入。
|
||||
|
||||
## 影响范围
|
||||
- **前端文件**:`openhis-ui-vue3/src/views/catalog/diagnosistreatment/components/diagnosisTreatmentDialog.vue`(仅一处引用)
|
||||
- **前端文件**:`healthlink-his-ui/src/views/catalog/diagnosistreatment/components/diagnosisTreatmentDialog.vue`(仅一处引用)
|
||||
- **后端文件**:无代码变更,纯数据问题
|
||||
- **数据库表**:`hisprd.sys_dict_data`(插入7条标本数据)
|
||||
- **影响接口**:`GET /system/dict/data/type/specimen_code`
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
## 二、项目结构
|
||||
|
||||
```
|
||||
openhis-ui-vue3/
|
||||
healthlink-his-ui/
|
||||
├── tests/
|
||||
│ ├── e2e/
|
||||
│ │ ├── fixtures/ # 测试夹具
|
||||
@@ -187,7 +187,7 @@ npx playwright test --ui
|
||||
# Spug 构建后阶段添加
|
||||
- name: E2E Testing
|
||||
script: |
|
||||
cd openhis-ui-vue3
|
||||
cd healthlink-his-ui
|
||||
npx playwright install --with-deps chromium
|
||||
npm run test:e2e -- --reporter=html
|
||||
# 测试失败则阻断发布
|
||||
|
||||
Reference in New Issue
Block a user