551bb359d43a99fc19d6f790a179ae3be695af73
根因分析: 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>
Description
No description provided
Languages
Java
49.5%
Vue
44.8%
JavaScript
4.6%
HTML
0.7%
SCSS
0.1%