关羽
6a0e596f84
Merge remote-tracking branch 'origin/关羽' into 关羽
2026-05-13 15:11:55 +08:00
关羽
1f679d68df
Fix Bug #435 : 门诊手术安排:编辑弹窗中"费用类别"字段数据未回显
...
根因:OpSchedule 实体缺少 feeType 字段,创建手术安排时费用类别未被持久化到数据库。编辑时详情查询通过复杂 JOIN 链(adm_encounter → adm_account → fin_contract)计算 feeType,链断裂时返回 null。
修复方案:
1. OpSchedule.java 新增 feeType 字段,使创建时费用类别持久化到 op_schedule.fee_type
2. SurgicalScheduleAppMapper.xml 详情查询改用 os.fee_type,移除不可靠的 JOIN 链
3. OpScheduleDto.java 移除重复的 feeType 声明(现从父类继承)
4. 新增 DDL 迁移脚本添加 fee_type 列
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-13 15:11:17 +08:00
关羽
062c8d9dee
Fix Bug #412 : 门诊医生站:传染病报告卡保存失败,提示报错
...
根因:getNextCardNo API 返回失败或异常时,infectiousDiseaseReportDialog.vue
将 cardNo 保持为空字符串。后端 DTO 对 cardNo 有 @NotBlank 校验,
空字符串导致保存请求被拒绝。
修复:
1. getNextCardNo API 失败时生成 TEMP_+timestamp 临时卡号
2. validateFormManually 放行 TEMP_ 开头的临时卡号
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-13 14:38:06 +08:00
荀彧
ffdfebaacf
Fix Bug #408 : 门诊医生站:检查标签页:选中检查申请记录后,"检查明细"标签页显示"暂无数据"
...
根因:handleRowClick 中从 API 响应提取 items 时,const resp = res.data || res 将 resp
设为 ExamApply 对象(res.data 有值),导致 resp.items 为 undefined(ExamApply 对象没有 items
字段),items 实际位于 AjaxResult 顶层(res.items)。
修复:防御性提取 items,优先取 res.items(AjaxResult 顶层),兼容 resp.items 和
resp.data.items 的嵌套情况,确保明细数据能正确加载到 selectedItems 中。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-13 14:34:29 +08:00
赵云
9ed52b7c48
Fix Bug #403 : 住院医生工作站:应用医嘱组套后,药品明细字段内容丢失未正确引入表格
...
修复 handleSaveGroup 中 mergedDetail 和 newRow 构建时的空值处理问题:
1. mergedDetail 中 dose/doseQuantity/dispensePerDuration 使用严格 null 检查,
避免组套中值为 null 时错误回退到 orderDetailInfos
2. newRow 中关键字段增加 mergedDetail 回退(?? 操作符),
确保当 item 中字段为 null/undefined 时能从 setValue 填充的完整数据中获取
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-13 14:14:30 +08:00
关羽
fc1ed6c4ce
Fix Bug #401 : 门诊完诊审计日志错误:div_log 表中 pool_id 与 slot_id 存值与设计规范不符
...
根因:DoctorStationMainAppServiceImpl.completeEncounter() 中获取 pool_id/slot_id 的逻辑有两处缺陷:
1. 当 queueItem 存在但 poolId 或 slotId 为 null 时,else if 分支因 queueItem != null 而跳过,
导致未进入回退链路,最终 divPoolId 和 divSlotId 均为 null。
修复:将 else if 拆为独立的 if 判断,确保 queueItem 值缺失时能正确回退。
2. 回退路径中先将 order.getSlotId() 赋给 divSlotId,再查询 ScheduleSlot 获取 poolId。
若 Slot 查询失败(返回 null),则 divSlotId 有值但 divPoolId 为 null,产生不完整审计记录。
修复:先查 Slot,成功后同时用 slot.getId() 和 slot.getPoolId() 赋值,保证数据一致性。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-13 14:07:15 +08:00
赵云
818564f5ba
Fix Bug #400 : 门诊医生站点击【完诊】后,triage_queue_item 表 status 字段未按规范更新为 30
...
根因分析:
triage_queue_item.status 字段在 DDL 中定义为 VARCHAR(50),但 Java 实体
TriageQueueItem.status 为 Integer 类型,应用层使用 TriageQueueStatus 枚举值
(0/10/20/30/40) 进行读写。数据类型不匹配导致 MyBatis-Plus 无法正确映射 status 字段,
完诊时使用 LambdaUpdateWrapper 更新 status=30 操作失败。
修复方案:
1. 修正 DDL:将 status 字段类型从 VARCHAR(50) 改为 INTEGER
2. 新增迁移 SQL:修改已有数据库表的 status 字段类型为 INTEGER
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-13 14:00:45 +08:00
关羽
78adbddfde
Fix Bug #405 : 住院医生工作站:临床医嘱保存成功后,医嘱条目仍处于可编辑状态(未锁定展示)
...
- handleSaveSign: 新增行点击确定后调用savePrescription持久化到后端,而非仅设置isEdit=false后调用handleAddPrescription
- handleSaveBatch: 修复nextId.value == 1 为赋值操作(=)
- handleSaveBatch: catch块增加错误提示,保存失败时用户可感知
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-13 13:36:27 +08:00
赵云
861db6b0f5
Fix Bug #408 : 门诊医生站检查明细标签页显示暂无数据 - 修复handleRowClick中resp.items被d.data覆盖后丢失的问题
...
根因:后端 getInfo 返回 { data: ExamApply, items: ExamApplyItem[] },
前端先将 resp 赋值给 d,随后又执行 d = resp.data,导致 d 变成 ExamApply 对象,
后续 d.items 永远为 undefined,明细列表无法加载。
修复:提前保存 resp.items 到 rawItems 变量,后续使用 rawItems 而非 d.items。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-13 13:24:02 +08:00
Ranyunqiao
b7df71fd0b
bug 362 428 436
2026-05-13 12:59:03 +08:00
陈琳
5bc8a8e517
Fix Bug #496 : 【住院医生工作站-检查申请】检查申请列表字段命名不规范及单号生成规则不符合医疗行业标准
...
1. 前端列标题:处方号 → 申请单号(表格列 + 详情弹窗)
2. 后端单号生成:原用 PAR 处方号前缀 → 改为 JCZ + yyMMdd + 5位顺序号
3. 新增 AssignSeqEnum.CHECK_APPLY_NO 枚举项(JCZ 前缀)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-13 11:03:32 +08:00
0264fa9d58
Merge branch 'develop' of https://gitea.gentronhealth.com/wangyizhe/his into develop
2026-05-13 10:57:20 +08:00
cd12dd7a22
bug471 手术管理-门诊手术安排:手术申请查询结果中混入住院检验申请单数据(脏数据)
2026-05-13 10:45:33 +08:00
关羽
bfddf87b2c
Fix Bug #496 : 【住院医生工作站-检查申请】检查申请列表字段命名不规范及单号生成规则不符合医疗行业标准
...
1. 前端 examineApplication.vue:列表表头和详情弹窗中"处方号"改为"申请单号"
2. 后端 RequestFormManageAppServiceImpl:检查申请单单号生成规则由 PAR+流水号 改为 JCZ+yyMMdd+5位顺序号(如:JCZ26051300001),其他类型申请单保持原有PAR规则不变
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-13 10:42:39 +08:00
关羽
84499d4ec1
Fix Bug #400 : 门诊医生站点击【完诊】后,triage_queue_item 表 status 字段未按规范更新为 30
...
根因:完诊时使用 triageQueueItemService.updateById(queueItem) 更新队列状态,
依赖 MyBatis Plus 的实体级更新策略,可能因字段级更新策略导致 status 字段未实际写入数据库。
修复策略:改用 LambdaUpdateWrapper 直接生成 UPDATE SQL,明确指定 SET status=30,
绕过实体级更新策略,确保 status 字段必定写入数据库。同时增加更新失败日志。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-13 10:37:02 +08:00
荀彧
01c5b62024
Fix Bug #401 : 门诊完诊审计日志错误:div_log 表中 pool_id 与 slot_id 存值与设计规范不符
...
调整完诊时 div_log 的 pool_id/slot_id 获取优先级:优先使用 triage_queue_item
(挂号时录入的号源信息,为权威来源),队列项不存在或值缺失时回退使用
encounter → order → slot → pool 链路
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-13 10:15:20 +08:00