赵云
551bb359d4
Fix Bug #489: 【医嘱闭环】医生站签发单条长期药品医嘱,护士校对界面生成重复(两条)待校对记录
根因分析:
1. SQL查询JOIN倍增:selectInpatientAdvicePage 中多个LEFT JOIN(如adm_encounter_location、
adm_encounter_participant、med_medication)可能产生重复行,外层查询无DISTINCT去重
2. 防重复逻辑缺陷:handMedication() 中仅对 DbOpType.INSERT 进行去重,若同一请求中包含
INSERT 和 UPDATE(编辑后签发的医嘱),两者uniqueKey相同但UPDATE不受去重限制,
导致 UPDATE 修改旧记录 + INSERT 创建新记录 = 两条数据
修复方案:
1. 在AdviceProcessAppMapper.xml的UNION两侧子查询中添加SELECT DISTINCT,防止JOIN倍增
2. 在AdviceManageAppServiceImpl.java中移除dbOpType限制,对所有医嘱(INSERT+UPDATE)
统一按uniqueKey去重,确保同一业务医嘱只处理一次
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-13 20:11:53 +08:00
..
2026-05-13 20:11:53 +08:00
2026-05-08 09:14:18 +08:00