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:
2026-06-05 13:36:28 +08:00
parent d07cab2314
commit 893cbf1fe0
5314 changed files with 3919 additions and 19866 deletions

View File

@@ -25,8 +25,8 @@
- 结果transfer 组件的 "已选择" 区域显示"无数据"
### 涉及文件
- **前端**: `openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/laboratoryTests.vue` (line 347-382)
- **前端**: `openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationShow/testApplication.vue` (line 193-210, 弹窗渲染处)
- **前端**: `healthlink-his-ui/src/views/inpatientDoctor/home/components/order/applicationForm/laboratoryTests.vue` (line 347-382)
- **前端**: `healthlink-his-ui/src/views/inpatientDoctor/home/components/applicationShow/testApplication.vue` (line 193-210, 弹窗渲染处)
### 修复方案

View File

@@ -19,7 +19,7 @@
- **Fix**: Update `loadApplicationToForm()` line 2000 to match the stricter check: `item.feePackageId != null && item.feePackageId !== '' && item.feePackageId !== 'null' && item.packageName`.
## Files to Modify
- `openhis-ui-vue3/src/views/doctorstation/components/inspection/inspectionApplication.vue`
- `healthlink-his-ui/src/views/doctorstation/components/inspection/inspectionApplication.vue`
## Changes
1. `initData()`: Add `formData.executeTime = formatDateTime(new Date())` after line 899

View File

@@ -28,8 +28,8 @@
## 影响范围
- 前端文件:`openhis-ui-vue3/src/views/doctorstation/components/prescription/orderGroupDrawer.vue`
- 前端文件:`openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/index.vue`
- 前端文件:`healthlink-his-ui/src/views/doctorstation/components/prescription/orderGroupDrawer.vue`
- 前端文件:`healthlink-his-ui/src/views/inpatientDoctor/home/components/order/index.vue`
- 影响场景:住院医生工作站和门诊医生工作站应用医嘱组套
## 修复方案
@@ -55,7 +55,7 @@
## 修复结果:✅ 成功10行改动
**修改文件**`openhis-ui-vue3/src/views/doctorstation/components/prescription/orderGroupDrawer.vue`
**修改文件**`healthlink-his-ui/src/views/doctorstation/components/prescription/orderGroupDrawer.vue`
**改动说明**:在 `handleUseOrderGroup` 函数的 processed item 中显式添加了以下缺失字段:
- `doseUnitCode_dictText`:剂量单位显示文本(如"mg"),用于"单次剂量"列的后缀显示

View File

@@ -4,7 +4,7 @@
- 仓库根目录:`/root/.openclaw/workspace/his-repo`
- 分支:`develop`
- 标准启动路径:`cd openhis-server-new && mvn compile -pl openhis-application -am`
- 标准启动路径:`cd healthlink-his-server && mvn compile -pl healthlink-his-application -am`
- 标准验证路径:`bash .harness/check.sh`(一键全部门禁)
- 标准初始化:`bash .harness/init.sh`
- 标准作业流程:`.harness/STANDARD_OPERATING_PROCEDURE.md`

View File

@@ -85,7 +85,7 @@ git status --short
```bash
# L1: 编译检查
cd openhis-server-new && mvn compile -pl openhis-application -am
cd healthlink-his-server && mvn compile -pl healthlink-his-application -am
# L2: 全链路门禁
bash .harness/check.sh

View File

@@ -37,7 +37,7 @@ echo "╚═══════════════════════
# ── L1: 编译检查 ──
echo ""
echo "╔══ L1 编译检查 ══════════════════════╗"
check "L1" "后端编译" "cd '$ROOT_DIR/openhis-server-new' && mvn compile -pl openhis-application -am -q"
check "L1" "后端编译" "cd '$ROOT_DIR/healthlink-his-server' && mvn compile -pl healthlink-his-application -am -q"
# ── L2: 全链路检查 ──
echo ""
@@ -50,7 +50,7 @@ check "L2" "PROGRESS.md 存在" "test -f '$ROOT_DIR/.harness/PROGRESS.md'"
check "L2" "feature_list.json 有效" "python3 -c 'import json; json.load(open(\"$ROOT_DIR/.harness/feature_list.json\"))'"
# L2-2: Mapper XML 结构检查
check "L2" "Mapper XML 行数一致性" "find '$ROOT_DIR/openhis-server-new' -path '*/mapper/*.xml' -exec wc -l {} + 2>/dev/null | tail -1 | awk '{print \$1}' | xargs test 0 -lt"
check "L2" "Mapper XML 行数一致性" "find '$ROOT_DIR/healthlink-his-server' -path '*/mapper/*.xml' -exec wc -l {} + 2>/dev/null | tail -1 | awk '{print \$1}' | xargs test 0 -lt"
# ── L3: 约束合规检查 ──
echo ""

View File

@@ -1,5 +1,5 @@
{
"project": "OpenHIS",
"project": "HealthLink-HIS",
"last_updated": "2026-05-28",
"rules": {
"single_active_feature": true,

View File

@@ -13,8 +13,8 @@ git log --oneline -3 2>/dev/null || true
echo ""
echo "==> 编译检查"
cd openhis-server-new
mvn compile -pl openhis-application -am -q 2>/dev/null && echo " ✅ 编译通过" || echo " ❌ 编译失败"
cd healthlink-his-server
mvn compile -pl healthlink-his-application -am -q 2>/dev/null && echo " ✅ 编译通过" || echo " ❌ 编译失败"
echo ""
echo "==> 读取进度"

View File

@@ -24,6 +24,6 @@
## 命令速查
- 编译:`cd openhis-server-new && mvn compile -pl openhis-application -am`
- 编译:`cd healthlink-his-server && mvn compile -pl healthlink-his-application -am`
- 打包:`mvn clean package -DskipTests`
- 启动:`mvn spring-boot:run`

View File

@@ -1,7 +1,7 @@
# OpenHIS — Harness Engineering 开发指南
# HealthLink-HIS — Harness Engineering 开发指南
> **模型决定上限Harness 决定底线。**
> 本文件是 OpenHIS 项目的 Harness Engineering 落地。整合了 OpenAI/Anthropic Harness Engineering 方法论与 walkinglabs 实战模式。
> 本文件是 HealthLink-HIS 项目的 Harness Engineering 落地。整合了 OpenAI/Anthropic Harness Engineering 方法论与 walkinglabs 实战模式。
> **🔴 铁律统一文件**: `/root/.codex/rules/IRON_LAWS.md` — 所有智能体必须遵守,运行时自动加载。
> **📦 技能包安装**: https://github.com/paskaa/agentforge-harness-skill — 其他电脑一键安装所有铁律和技能。
@@ -10,7 +10,7 @@
## 📋 项目信息
OpenHIS 医院管理系统 | Java 17 + Spring Boot + MyBatis Plus | Vue 3 + Element Plus | PostgreSQL
HealthLink-HIS 医院管理系统 | Java 17 + Spring Boot + MyBatis Plus | Vue 3 + Element Plus | PostgreSQL
### 构建和运行
@@ -21,25 +21,25 @@ cd /root/.openclaw/workspace/his-repo
bash .harness/init.sh
# 后端编译
cd openhis-server-new && mvn compile -pl openhis-application -am
cd healthlink-his-server && mvn compile -pl healthlink-his-application -am
# 后端打包
mvn clean package -DskipTests
# 后端运行
cd openhis-application && mvn spring-boot:run
cd healthlink-his-application && mvn spring-boot:run
# 前端
cd openhis-ui-vue3 && npm install && npm run dev
cd healthlink-his-ui && npm install && npm run dev
```
### 关键路径
```
后端代码: openhis-server-new/openhis-application/src/main/java/com/
后端配置: openhis-server-new/openhis-application/src/main/resources/
后端代码: healthlink-his-server/healthlink-his-application/src/main/java/com/
后端配置: healthlink-his-server/healthlink-his-application/src/main/resources/
Mapper XML: .../mapper/ (regdoctorstation/, doctorstation/, ...)
前端代码: openhis-ui-vue3/src/
前端代码: healthlink-his-ui/src/
Harness: .harness/ (init.sh, PROGRESS.md, feature_list.json, ...)
```
@@ -89,7 +89,7 @@ Harness: .harness/ (init.sh, PROGRESS.md, feature_list.json, ...)
| 层级 | 命令 | 时间 |
|---|---|---|
| L1 编译 | `mvn compile -pl openhis-application -am` | <30 |
| L1 编译 | `mvn compile -pl healthlink-his-application -am` | <30 |
| L2 全链路 | 六环检查清单见下文 | <5 分钟 |
| L3 审查 | 你人工审查 diff | 10-30 分钟 |
@@ -191,7 +191,7 @@ Harness: .harness/ (init.sh, PROGRESS.md, feature_list.json, ...)
### 数据库变更必须通过 Flyway 迁移(铁律)
凡涉及**新建表新增字段修改字段加索引** DDL 变更**必须**通过 Flyway 框架实现
1. `openhis-server-new/openhis-application/src/main/resources/db/migration/` 创建 `V{n}__描述.sql`
1. `healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/` 创建 `V{n}__描述.sql`
2. 版本号递增`V2`, `V3`, `V4`...双下划线分隔
3. **禁止**直接在数据库执行 DDL 而不创建迁移文件
4. **禁止**修改已执行的迁移文件Flyway 会校验 checksum
@@ -234,7 +234,7 @@ rg "状态枚举名\|相关方法名\|相关字段名" --type java --type vue
| 项目 | 规范 |
|---|---|
| 包结构 | `com.openhis`业务)、`com.core`核心 |
| 包结构 | `com.healthlink.his`业务)、`com.core`核心 |
| 命名 | PascalCase方法 camelCase常量 SCREAMING_SNAKE_CASE |
| 注解 | `@Slf4j``@Data``@Service/@Controller/@Repository` |
| 异常 | 统一异常处理业务异常继承 `RuntimeException` |
@@ -250,7 +250,7 @@ rg "状态枚举名\|相关方法名\|相关字段名" --type java --type vue
### 导入顺序
**Java** `java.*` `javax.*` 第三方 `com.core.*` `com.openhis.*`
**Java** `java.*` `javax.*` 第三方 `com.core.*` `com.healthlink.his.*`
**Vue** `vue` 相关 第三方 `@/` 别名 相对路径
---
@@ -272,8 +272,8 @@ rg "状态枚举名\|相关方法名\|相关字段名" --type java --type vue
|---|---|
| 后端端口 | 18080 |
| 前端端口 | 81 |
| API 前缀 | `/openhis` |
| Swagger | `/openhis/swagger-ui/index.html` |
| API 前缀 | `/healthlink-his` |
| Swagger | `/healthlink-his/swagger-ui/index.html` |
| 后端配置 | `application.yml` / `application-{profile}.yml` |
| 前端配置 | `vite.config.js` / `.env.*` |

View File

@@ -27,7 +27,7 @@ if (data.anesthesiaTypeEnum != null) form.anesMethod = Number(data.anesthesiaTyp
## 影响范围
- **前端**: `openhis-ui-vue3/src/views/surgicalschedule/index.vue``handleEdit``handleView` 方法
- **前端**: `healthlink-his-ui/src/views/surgicalschedule/index.vue``handleEdit``handleView` 方法
- **后端**: 无需修改(字段已存在且正常返回)
- **数据库**: 无需修改(字段已存在)

View File

@@ -74,6 +74,6 @@
同时保留 `orderedDescFieldKeys` 用于打印功能(已有代码使用)。
## 变更文件
- `openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationShow/examineApplication.vue`(前端模板修改)
- `healthlink-his-ui/src/views/inpatientDoctor/home/components/applicationShow/examineApplication.vue`(前端模板修改)
修复结果:✅ 成功5行改动+5/-8

View File

@@ -4,8 +4,8 @@
| 序号 | 文件路径 | 修改类型 | 说明 |
|------|---------|---------|------|
| 1 | `his-source/openhis-server-new/openhis-domain/src/main/resources/mapper/administration/ScheduleSlotMapper.xml` | SQL 查询修改 | 性别字段直接从患者表获取 |
| 2 | `his-source/openhis-server-new/openhis-application/src/main/java/com/openhis/web/appointmentmanage/appservice/impl/TicketAppServiceImpl.java` | Java 代码修改 | 性别处理逻辑修改 |
| 1 | `his-source/healthlink-his-server/openhis-domain/src/main/resources/mapper/administration/ScheduleSlotMapper.xml` | SQL 查询修改 | 性别字段直接从患者表获取 |
| 2 | `his-source/healthlink-his-server/healthlink-his-application/src/main/java/com/openhis/web/appointmentmanage/appservice/impl/TicketAppServiceImpl.java` | Java 代码修改 | 性别处理逻辑修改 |
---
@@ -13,7 +13,7 @@
### 修改 1: ScheduleSlotMapper.xml
**文件:** `his-source/openhis-server-new/openhis-domain/src/main/resources/mapper/administration/ScheduleSlotMapper.xml`
**文件:** `his-source/healthlink-his-server/openhis-domain/src/main/resources/mapper/administration/ScheduleSlotMapper.xml`
**修改位置:** 第97行
@@ -33,7 +33,7 @@ pinfo.gender_enum AS genderEnum,
### 修改 2: TicketAppServiceImpl.java
**文件:** `his-source/openhis-server-new/openhis-application/src/main/java/com/openhis/web/appointmentmanage/appservice/impl/TicketAppServiceImpl.java`
**文件:** `his-source/healthlink-his-server/healthlink-his-application/src/main/java/com/openhis/web/appointmentmanage/appservice/impl/TicketAppServiceImpl.java`
**修改位置:** 第140-145行
@@ -75,7 +75,7 @@ if (genderEnum != null) {
### 修改 TicketSlotDTO.java
**文件:** `his-source/openhis-server-new/openhis-domain/src/main/java/com/openhis/appointmentmanage/domain/TicketSlotDTO.java`
**文件:** `his-source/healthlink-his-server/openhis-domain/src/main/java/com/openhis/appointmentmanage/domain/TicketSlotDTO.java`
**修改:** 添加 `genderEnum` 字段
@@ -96,7 +96,7 @@ public void setGenderEnum(Integer genderEnum) {
## 编译部署
```bash
cd his-source/openhis-server-new
cd his-source/healthlink-his-server
mvn clean package -DskipTests
```

View File

@@ -24,7 +24,7 @@
- 确保与挂号界面查询的数据来源一致
### 修改文件
- `his-source/openhis-server-new/openhis-application/src/main/java/com/openhis/web/appointmentmanage/appservice/impl/TicketAppServiceImpl.java`
- `his-source/healthlink-his-server/healthlink-his-application/src/main/java/com/openhis/web/appointmentmanage/appservice/impl/TicketAppServiceImpl.java`
### 代码变更
```java

View File

@@ -37,8 +37,8 @@ Planning Time: 4.349 ms
### 影响范围
**涉及文件:**
- `openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationAdviceAppServiceImpl.java` 后端手术分页查询实现需加缓存
- `openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/surgery.vue` 前端手术申请单组件需修复 loading 状态
- `healthlink-his-server/healthlink-his-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationAdviceAppServiceImpl.java` 后端手术分页查询实现需加缓存
- `healthlink-his-ui/src/views/inpatientDoctor/home/components/order/applicationForm/surgery.vue` 前端手术申请单组件需修复 loading 状态
**涉及数据表:**
- `wor_activity_definition` 活动定义表手术项目源表10,102条手术记录

View File

@@ -35,8 +35,8 @@
中间状态(已校对=2、待接收=3、已接收=4由护理/医技等外部系统管理,本代码范围不涉及。
### 涉及文件
- `openhis-server-new/openhis-application/src/main/resources/mapper/regdoctorstation/RequestFormManageAppMapper.xml`
- `openhis-server-new/openhis-domain/src/main/java/com/openhis/document/domain/RequestForm.java`
- `healthlink-his-server/healthlink-his-application/src/main/resources/mapper/regdoctorstation/RequestFormManageAppMapper.xml`
- `healthlink-his-server/openhis-domain/src/main/java/com/openhis/document/domain/RequestForm.java`
## 修复结果
@@ -55,6 +55,6 @@
- 添加 `status` 字段,补全领域模型
### 验证
- ✅ Java 编译通过mvn compile -pl openhis-application -am -DskipTests
- ✅ Java 编译通过mvn compile -pl healthlink-his-application -am -DskipTests
- ✅ XML 格式正确ElementTree 解析成功)
- ✅ 改动量 > 3 行(+86/-49

View File

@@ -4,9 +4,9 @@
[住院护士站-三测单] 体征录入点击保存后缺乏执行反馈且窗口异常自动关闭
## 涉及文件
- 前端: `openhis-ui-vue3/src/views/inpatientNurse/tprChart/components/addTprDialog.vue`
- API: `openhis-ui-vue3/src/views/inpatientNurse/tprChart/components/api.js`
- 父组件: `openhis-ui-vue3/src/views/inpatientNurse/tprChart/index.vue`
- 前端: `healthlink-his-ui/src/views/inpatientNurse/tprChart/components/addTprDialog.vue`
- API: `healthlink-his-ui/src/views/inpatientNurse/tprChart/components/api.js`
- 父组件: `healthlink-his-ui/src/views/inpatientNurse/tprChart/index.vue`
## 根因分析

View File

@@ -4,8 +4,8 @@
- **项目名称**: 开源HIS改造落地
- **当前分支**: develop
- **代码路径**:
- 前端: openhis-ui-vue3
- 后端: openhis-server-new
- 前端: healthlink-his-ui
- 后端: healthlink-his-server
- ** Git仓库**: https://gitea.gentronhealth.com/wangyizhe/his
- **禅道地址**: https://zentao.gentronhealth.com

View File

@@ -6,7 +6,7 @@
**修复人:** 关羽
**修复日期:** 2026-04-06
**项目版本:** OpenHIS v2.0
**项目版本:** HealthLink-HIS v2.0
---
@@ -23,13 +23,13 @@
- MyBatis 返回的 `register_time` 无法映射到前端的 `registerTime`,导致数据无法显示
**代码位置:**
- 文件:`openhis-server-new/openhis-application/src/main/resources/mapper/chargemanage/OutpatientRegistrationAppMapper.xml`
- 文件:`healthlink-his-server/healthlink-his-application/src/main/resources/mapper/chargemanage/OutpatientRegistrationAppMapper.xml`
- 方法:`getCurrentDayEncounter`
- 行号:约第 72 行和第 88 行
### 二、修改步骤
**文件:** `openhis-server-new/openhis-application/src/main/resources/mapper/chargemanage/OutpatientRegistrationAppMapper.xml`
**文件:** `healthlink-his-server/healthlink-his-application/src/main/resources/mapper/chargemanage/OutpatientRegistrationAppMapper.xml`
**修改 1字段别名修正第 72 行)**
```xml
@@ -77,12 +77,12 @@ ORDER BY T9.registerTime DESC
- 当前端未传递这些字段时,它们为 null导致数据库插入失败或 NullPointerException
**代码位置:**
- 文件:`openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationAdviceAppServiceImpl.java`
- 文件:`healthlink-his-server/healthlink-his-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationAdviceAppServiceImpl.java`
- 方法:`handMedication()``handDevice()``handService()`
### 二、修改步骤
**文件:** `openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationAdviceAppServiceImpl.java`
**文件:** `healthlink-his-server/healthlink-his-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationAdviceAppServiceImpl.java`
#### 修改 1handMedication 方法(约第 756 行)
@@ -160,7 +160,7 @@ if (adviceSaveDto.getFounderOrgId() == null) {
### 当前状态
已读取 `openhis-ui-vue3/src/views/charge/outpatientregistration/index.vue` 文件,未发现明显的 UI 布局问题。
已读取 `healthlink-his-ui/src/views/charge/outpatientregistration/index.vue` 文件,未发现明显的 UI 布局问题。
现有页面符合 Element Plus 组件库规范,布局合理。
@@ -198,8 +198,8 @@ if (adviceSaveDto.getFounderOrgId() == null) {
| 序号 | 文件路径 | 修改类型 | 说明 |
|------|---------|---------|------|
| 1 | `openhis-server-new/openhis-application/src/main/resources/mapper/chargemanage/OutpatientRegistrationAppMapper.xml` | 字段别名修复 | 将 `register_time` 改为 `registerTime` |
| 2 | `openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationAdviceAppServiceImpl.java` | 新增字段补全逻辑 | 在三个医嘱处理方法中添加 `practitionerId``founderOrgId` 自动补全 |
| 1 | `healthlink-his-server/healthlink-his-application/src/main/resources/mapper/chargemanage/OutpatientRegistrationAppMapper.xml` | 字段别名修复 | 将 `register_time` 改为 `registerTime` |
| 2 | `healthlink-his-server/healthlink-his-application/src/main/java/com/openhis/web/doctorstation/appservice/impl/DoctorStationAdviceAppServiceImpl.java` | 新增字段补全逻辑 | 在三个医嘱处理方法中添加 `practitionerId``founderOrgId` 自动补全 |
---
@@ -207,13 +207,13 @@ if (adviceSaveDto.getFounderOrgId() == null) {
1. **后端部署:**
```bash
cd openhis-server-new
cd healthlink-his-server
mvn clean package -DskipTests
```
2. **重启服务:**
```bash
cd openhis-server-new/openhis-application
cd healthlink-his-server/healthlink-his-application
mvn spring-boot:run
```

View File

@@ -4,7 +4,7 @@
检验申请列表的【操作】列仅显示固定的"打印"和"删除"按钮,未根据申请单状态动态切换操作权限。
## 根因分析
文件 `openhis-ui-vue3/src/views/doctorstation/components/inspection/inspectionApplication.vue` 第97-104行
文件 `healthlink-his-ui/src/views/doctorstation/components/inspection/inspectionApplication.vue` 第97-104行
- 操作列模板中固定渲染"打印"和"删除"按钮,没有任何状态判断逻辑
- 缺少"修改"和"撤回"按钮
@@ -36,7 +36,7 @@
| 其他状态 | 已采证/已送检/报告已出/已作废 | 详情 |
### 涉及文件
- `openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationShow/testApplication.vue` - 前端操作列动态按钮
- `openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationShow/api.js` - 前端APIdeleteRequestForm, withdrawRequestForm
- `openhis-server-new/openhis-application/src/main/java/com/openhis/web/regdoctorstation/controller/RequestFormManageController.java` - 后端Controller/delete, /withdraw 端点)
- `openhis-server-new/openhis-application/src/main/java/com/openhis/web/regdoctorstation/appservice/impl/RequestFormManageAppServiceImpl.java` - 后端Service实现
- `healthlink-his-ui/src/views/inpatientDoctor/home/components/applicationShow/testApplication.vue` - 前端操作列动态按钮
- `healthlink-his-ui/src/views/inpatientDoctor/home/components/applicationShow/api.js` - 前端APIdeleteRequestForm, withdrawRequestForm
- `healthlink-his-server/healthlink-his-application/src/main/java/com/openhis/web/regdoctorstation/controller/RequestFormManageController.java` - 后端Controller/delete, /withdraw 端点)
- `healthlink-his-server/healthlink-his-application/src/main/java/com/openhis/web/regdoctorstation/appservice/impl/RequestFormManageAppServiceImpl.java` - 后端Service实现

View File

@@ -844,7 +844,7 @@ import {
reject,
submitApproval,
} from '../components/api';
import TraceNoDialog from '@/components/OpenHis/TraceNoDialog/index.vue';
import TraceNoDialog from '@/components/HealthLinkHis/TraceNoDialog/index.vue';
import {formatDate, formatDateymd} from '@/utils/index';
import {ref} from 'vue';
import useUserStore from '@/store/modules/user';

View File

@@ -643,8 +643,8 @@ import {
getstocktakingDetail,
submitApproval,
} from '../components/api';
import PopoverList from '@/components/OpenHis/popoverList/index.vue';
import TraceNoDialog from '@/components/OpenHis/TraceNoDialog/index.vue';
import PopoverList from '@/components/HealthLinkHis/popoverList/index.vue';
import TraceNoDialog from '@/components/HealthLinkHis/TraceNoDialog/index.vue';
import MedicineList from '../components/medicineList.vue';
import {formatDate} from '@/utils/index';
import useUserStore from '@/store/modules/user';

View File

@@ -680,7 +680,7 @@ import {
reject,
submitApproval,
} from '../lossReporting';
import PopoverList from '@/components/OpenHis/popoverList/index.vue';
import PopoverList from '@/components/HealthLinkHis/popoverList/index.vue';
import transferManagement from './components/lossReporting.vue';
import {formatDate, formatDateymd} from '@/utils/index';
import useUserStore from '@/store/modules/user';

View File

@@ -128,7 +128,7 @@
<script setup>
import {onMounted, reactive, ref} from 'vue';
import {ElMessage, ElMessageBox} from 'element-plus';
import {parseTime} from '@/utils/openhis';
import {parseTime} from '@/utils/his';
import Pagination from '@/components/Pagination';
import {
cancelSupplyRequestData,

View File

@@ -159,7 +159,7 @@
<script setup>
import {onMounted, reactive, ref} from 'vue';
import {ElMessage} from 'element-plus';
import {parseTime} from '@/utils/openhis';
import {parseTime} from '@/utils/his';
import Pagination from '@/components/Pagination';
import request from '@/utils/request';
//import { getPriceAdjustmentPage, getPriceAdjustmentDetail, cancelPriceAdjustment } from './components/api';

View File

@@ -765,7 +765,7 @@ import {
searchAllOrgData,
searchHealthData,
} from './components/api';
import PopoverList from '@/components/OpenHis/popoverList/index.vue';
import PopoverList from '@/components/HealthLinkHis/popoverList/index.vue';
import medicineList from './components/medicineList.vue';
import useUserStore from '@/store/modules/user';
import {ref, watch} from 'vue';

View File

@@ -758,9 +758,9 @@ import {
reject,
submitApproval,
} from "./components/api";
import PopoverList from "@/components/OpenHis/popoverList/index.vue";
import PopoverList from "@/components/HealthLinkHis/popoverList/index.vue";
import MedicineList from "./components/medicineList.vue";
import TraceNoDialog from "@/components/OpenHis/TraceNoDialog/index.vue";
import TraceNoDialog from "@/components/HealthLinkHis/TraceNoDialog/index.vue";
import {formatDate, formatDateymd} from "@/utils/index";
import {useStore} from "@/store/store";
import useUserStore from "@/store/modules/user";

View File

@@ -663,7 +663,7 @@ import {
getPharmacyList,
submitApproval,
} from './purchaseinventory';
import PopoverList from '@/components/OpenHis/popoverList/index.vue';
import PopoverList from '@/components/HealthLinkHis/popoverList/index.vue';
import MedicineList from './medicineList.vue';
import {formatDate} from '@/utils/index';
import useUserStore from '@/store/modules/user';

View File

@@ -633,13 +633,13 @@ import {
requisitionIssueApproved,
submitApproval,
} from '../components/api';
import PopoverList from '@/components/OpenHis/popoverList/index.vue';
import PopoverList from '@/components/HealthLinkHis/popoverList/index.vue';
import transferManagement from '../components/list.vue';
import {formatDate} from '@/utils/index';
import useUserStore from '@/store/modules/user';
import {useStore} from '@/store/store';
import useTagsViewStore from '@/store/modules/tagsView';
import TraceNoDialog from '@/components/OpenHis/TraceNoDialog/index.vue'
import TraceNoDialog from '@/components/HealthLinkHis/TraceNoDialog/index.vue'
/** 领用保存 IssueDto后端 Jackson 只认 yyyy-MM-dd HH:mm:ss库存接口可能回传 2025/4/2 00:00:00 等 */
function toIssueDateTimeStr(val) {

View File

@@ -643,8 +643,8 @@ import {
returnIssueApproved,
submitTHApproval,
} from '../components/api';
import PopoverList from '@/components/OpenHis/popoverList/index.vue';
import TraceNoDialog from '@/components/OpenHis/TraceNoDialog/index.vue';
import PopoverList from '@/components/HealthLinkHis/popoverList/index.vue';
import TraceNoDialog from '@/components/HealthLinkHis/TraceNoDialog/index.vue';
import transferManagement from '../components/list.vue';
import {formatDate} from '@/utils/index';
import useUserStore from '@/store/modules/user';

View File

@@ -789,7 +789,7 @@ import {
} from './components/api';
import {formatDate, formatDateymd} from '@/utils/index';
import useUserStore from '@/store/modules/user';
import TraceNoDialog from '@/components/OpenHis/TraceNoDialog/index.vue';
import TraceNoDialog from '@/components/HealthLinkHis/TraceNoDialog/index.vue';
import {useStore} from '@/store/store';
import useTagsViewStore from '@/store/modules/tagsView';

View File

@@ -635,7 +635,7 @@ import {formatDate} from '@/utils/index';
import useUserStore from '@/store/modules/user';
import {useStore} from '@/store/store';
import useTagsViewStore from '@/store/modules/tagsView';
import TraceNoDialog from '@/components/OpenHis/TraceNoDialog/index.vue';
import TraceNoDialog from '@/components/HealthLinkHis/TraceNoDialog/index.vue';
const tagsViewStore = useTagsViewStore();
const store = useStore();

View File

@@ -752,9 +752,9 @@ import {
reject,
submitApproval,
} from '../components/transferManagement';
import PopoverList from '@/components/OpenHis/popoverList/index.vue';
import PopoverList from '@/components/HealthLinkHis/popoverList/index.vue';
import transferManagement from '../components/transferManagement.vue';
import TraceNoDialog from '@/components/OpenHis/TraceNoDialog/index.vue';
import TraceNoDialog from '@/components/HealthLinkHis/TraceNoDialog/index.vue';
import {formatDate, formatDateymd} from '@/utils/index';
import useUserStore from '@/store/modules/user';
import {useStore} from '@/store/store';

View File

@@ -1,8 +1,8 @@
{
"name": "openhis",
"name": "healthlink-his",
"version": "3.8.10",
"description": "OpenHIS管理系统",
"author": "OpenHIS",
"description": "HealthLink-HIS管理系统",
"author": "HealthLink-HIS",
"license": "MIT",
"type": "module",
"scripts": {

View File

@@ -67,7 +67,7 @@
✅ 成功16行改动+16/-2
修改文件:`openhis-server-new/openhis-common/src/main/java/com/openhis/common/aspectj/DictAspect.java`
修改文件:`healthlink-his-server/openhis-common/src/main/java/com/openhis/common/aspectj/DictAspect.java`
修复策略:
1. DictAspect 在 SQL 查询前检查 `_dictText` 字段是否已被手动填充,若已有值则跳过查询

View File

@@ -89,6 +89,6 @@ END
医技接收时将 status_enum 从 10 (PROOFREAD) 更新为 11 (PENDING_RECEIVE)→12 (RECEIVED),检查后更新为 3 (COMPLETED)。
## 涉及文件
1. `openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/RequestStatus.java` — 枚举新增
2. `openhis-server-new/openhis-application/src/main/resources/mapper/regdoctorstation/RequestFormManageAppMapper.xml` — SQL CASE 修复
3. `openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/service/impl/ServiceRequestServiceImpl.java` — 校对方法修改
1. `healthlink-his-server/openhis-common/src/main/java/com/openhis/common/enums/RequestStatus.java` — 枚举新增
2. `healthlink-his-server/healthlink-his-application/src/main/resources/mapper/regdoctorstation/RequestFormManageAppMapper.xml` — SQL CASE 修复
3. `healthlink-his-server/openhis-domain/src/main/java/com/openhis/workflow/service/impl/ServiceRequestServiceImpl.java` — 校对方法修改

View File

@@ -49,8 +49,8 @@
## 2026-05-18 复核验证
经二次代码审查确认:
- `openhis-ui-vue3` 全目录搜索 `汇总发药申请`: **0个匹配**
- `openhis-ui-vue3` 全目录搜索 `SummaryDrug`/`summaryDrug`: **0个匹配**
- `healthlink-his-ui` 全目录搜索 `汇总发药申请`: **0个匹配**
- `healthlink-his-ui` 全目录搜索 `SummaryDrug`/`summaryDrug`: **0个匹配**
- `inpatientDoctor/home/index.vue` 标签页列表: 无"汇总发药申请"仅8个正常标签页
- `inpatientNurse/` 目录导航配置: 无残留引用
@@ -72,7 +72,7 @@
经全面代码审计确认:
- `inpatientDoctor/home/index.vue` 标签页列表: 仅8个正常标签页住院病历、诊断录入、临床医嘱、检验申请、检查申请、手术申请、输血申请、报告查询无"汇总发药申请"
- `inpatientNurse/constants/navigation.js`: 6个护士导航项无"汇总发药申请"
- `openhis-ui-vue3` 全目录搜索 `汇总发药申请`: 仅1处API注释`drug/inpatientMedicationDispensing/components/api.js`,药房模块,非医生界面)
- `healthlink-his-ui` 全目录搜索 `汇总发药申请`: 仅1处API注释`drug/inpatientMedicationDispensing/components/api.js`,药房模块,非医生界面)
- 全目录搜索 `SummaryDrug`/`summaryDrug`: 0个匹配
- 路由表无 `medicine-summary`/`medicineSummary` 相关入口
- 工作树状态: clean无需额外提交

View File

@@ -36,6 +36,6 @@ getOrgLocListByOrgIdAndActivityDefinitionId(orgLoc.getOrganizationId(), orgLoc.g
3. **新增 Service 方法**`getOrgLocListByActivityDefinitionId(Long activityDefinitionId)` 用于按诊疗定义查询所有记录
## 涉及文件
- `openhis-server-new/openhis-application/src/main/java/com/openhis/web/basedatamanage/appservice/impl/OrganizationLocationAppServiceImpl.java`
- `openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/IOrganizationLocationService.java`
- `openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/impl/OrganizationLocationServiceImpl.java`
- `healthlink-his-server/healthlink-his-application/src/main/java/com/openhis/web/basedatamanage/appservice/impl/OrganizationLocationAppServiceImpl.java`
- `healthlink-his-server/openhis-domain/src/main/java/com/openhis/administration/service/IOrganizationLocationService.java`
- `healthlink-his-server/openhis-domain/src/main/java/com/openhis/administration/service/impl/OrganizationLocationServiceImpl.java`

View File

@@ -1,6 +1,6 @@
#!/bin/bash
# ============================================================
# OpenHIS 前端部署脚本
# HealthLink-HIS 前端部署脚本
# 用法: bash deploy-frontend.sh [prod|test|staging|dev]
# 默认: prod
# ============================================================
@@ -8,11 +8,11 @@ set -e
MODE=${1:-prod}
PROJECT_DIR=$(cd "$(dirname "$0")/.." && pwd)
UI_DIR="$PROJECT_DIR/openhis-ui-vue3"
UI_DIR="$PROJECT_DIR/healthlink-his-ui"
DIST_DIR="$UI_DIR/dist"
echo "=========================================="
echo " OpenHIS 前端部署"
echo " HealthLink-HIS 前端部署"
echo " 环境: $MODE"
echo " 目录: $UI_DIR"
echo "=========================================="
@@ -72,11 +72,11 @@ echo ""
echo "[5/5] 部署方式:"
echo ""
echo " 方式一: 复制到 Nginx"
echo " cp -r $DIST_DIR/* /usr/share/nginx/html/openhis/"
echo " cp -r $DIST_DIR/* /usr/share/nginx/html/healthlink-his/"
echo " nginx -s reload"
echo ""
echo " 方式二: 软链接(推荐,方便更新)"
echo " ln -sfn $DIST_DIR /usr/share/nginx/html/openhis"
echo " ln -sfn $DIST_DIR /usr/share/nginx/html/healthlink-his"
echo " nginx -s reload"
echo ""
echo "=========================================="

View File

@@ -1,16 +1,16 @@
# ============================================================
# OpenHIS 前端依赖问题排查与修复脚本
# HealthLink-HIS 前端依赖问题排查与修复脚本
# 用法: bash fix-deps.sh
# ============================================================
set -e
PROJECT_DIR=$(cd "$(dirname "$0")/.." && pwd)
UI_DIR="$PROJECT_DIR/openhis-ui-vue3"
UI_DIR="$PROJECT_DIR/healthlink-his-ui"
cd "$UI_DIR"
echo "=========================================="
echo " OpenHIS 前端依赖诊断"
echo " HealthLink-HIS 前端依赖诊断"
echo "=========================================="
echo ""

View File

@@ -1,22 +1,22 @@
# ============================================================
# OpenHIS 前端 Nginx 配置
# HealthLink-HIS 前端 Nginx 配置
# 放到 /etc/nginx/conf.d/openhis.conf 或 include 到 nginx.conf
# ============================================================
server {
listen 80;
server_name openhis.local; # 改成实际域名或 IP
server_name healthlink-his.local; # 改成实际域名或 IP
# 前端静态文件
location / {
root /usr/share/nginx/html/openhis;
root /usr/share/nginx/html/healthlink-his;
index index.html;
try_files $uri $uri/ /index.html; # SPA 路由回退
}
# 后端 API 代理
location /prd-api/ {
proxy_pass http://127.0.0.1:18080/openhis/;
proxy_pass http://127.0.0.1:18082/healthlink-his/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
@@ -35,14 +35,14 @@ server {
# 静态资源缓存(带 hash 的文件长期缓存)
location ~* /assets/.*\.(js|css|woff2?|ttf|eot|png|jpg|jpeg|gif|svg|ico)$ {
root /usr/share/nginx/html/openhis;
root /usr/share/nginx/html/healthlink-his;
expires 365d;
add_header Cache-Control "public, immutable";
}
# index.html 不缓存(保证更新及时生效)
location = /index.html {
root /usr/share/nginx/html/openhis;
root /usr/share/nginx/html/healthlink-his;
add_header Cache-Control "no-cache, no-store, must-revalidate";
}
}

View File

@@ -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` |

View File

@@ -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 3Flyway 自动执行**
@@ -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 # 你的第一个迁移

View File

@@ -3,7 +3,7 @@
> **编制人:** 陈琳
> **编制日期:** 2026-05-01
> **统计范围:** 2026-04-01 至 2026-05-01
> **项目版本:** OpenHIS v2.0
> **项目版本:** HealthLink-HIS v2.0
> **文档版本:** v1.0
---

View File

@@ -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
```

View File

@@ -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 # 验证无报错
```

View File

@@ -1,4 +1,4 @@
# OpenHIS 组件升级日志
# HealthLink-HIS 组件升级日志
> 每次升级后在此记录,方便跨 session 追踪进度。

View File

@@ -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 |

View File

@@ -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 +++
## 流程时间线
| 时间 | 智能体 | 事件 | 状态 | 耗时 |

View File

@@ -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`

View File

@@ -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`

View File

@@ -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
# 测试失败则阻断发布

View File

@@ -1,4 +1,4 @@
# OpenHIS 铁律
# HealthLink-HIS 铁律
## 铁律 #1: 修改完必须测试
**任何代码修改后,必须完成以下测试才能提交:**

View File

@@ -175,7 +175,7 @@ mvn clean compile -DskipTests
### Step 7: 启动测试
```bash
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 8: 检查控制台输出

View File

@@ -45,7 +45,7 @@ public class SwaggerConfig {
private Info apiInfo() {
return new Info()
.title("开放医院管理系统 - 接口文档")
.description("OpenHIS API 文档,基于 Springdoc OpenAPI 3.0")
.description("HealthLink-HIS API 文档,基于 Springdoc OpenAPI 3.0")
.contact(new Contact().name(coreConfig.getName()))
.version("版本号: " + coreConfig.getVersion());
}

Some files were not shown because too many files have changed in this diff Show More