e8a815deea72058253a5b2d6fca882f5161de45d
根因: - ** - `DoctorStationAdviceAppMapper.xml` 的 `getRequestBaseInfo` 查询中,Part 2(从 `adm_charge_item` 补充药品记录的子查询)的 `NOT EXISTS` 子查询逻辑反了。 - 当手术计费查询(`generateSourceEnum=6`)时: - Part 1** ✅ `WHERE T1.generate_source_enum = 6` — 正确返回手术相关药品 - Part 2** 🐛 `NOT EXISTS (SELECT ... WHERE T5.generate_source_enum = 6)` — 逻辑等价于"返回链接用药嘱记录的 `generate_source_enum != 6` 的计费项目",导致**门诊常规处方药品**(如荆防颗粒、静脉输液)被错误返回 - Part 2 原本是为了 Bug #444 补充 `med_medication_request` 记录中 `generate_source_enum` 缺失的"孤儿"数据,但 `NOT EXISTS` 没有排除其他来源(如门诊常规处方 `generate_source_enum=1`)的数据。 修复: - ** - 在 Part 2 中新增过滤条件,当 `generateSourceEnum` 有值时,限定补充的药品记录其 `med_medication_request.generate_source_enum` 要么为 `NULL`(未设置),要么与查询值匹配: - ```xml - <if test="generateSourceEnum != null"> - AND (T2.generate_source_enum IS NULL OR T2.generate_source_enum = #{generateSourceEnum}) - 变更文件:** - `openhis-server-new/openhis-application/src/main/resources/mapper/doctorstation/DoctorStationAdviceAppMapper.xml` — Part 2 新增 `generate_source_enum` 过滤条件 - 全链路验证(6 环):** - 1. **录入** → 手术安排界面点击"计费"→ `handleChargeCharge()` 设置 `generateSourceEnum: 6` - 2. **保存** → `prescriptionlist.vue` 中签到/保存时设置 `generateSourceEnum=6` ✓ - 4. **修改** → 不受影响(编辑使用同一查询) ✓ - 5. **删除/签发/签退** → 不受影响(各自有独立的状态校验) ✓ - 6. **关联模块** → 注册医生站 `AdviceManageAppMapper.xml` 无 Part 2 补充逻辑,不受影响 ✓ - 编译检查:** `mvn compile` 通过 ✅
Description
No description provided
Languages
Java
47.5%
Vue
45.9%
JavaScript
5.6%
HTML
0.6%
SCSS
0.1%