Fix Bug #519: 保存诊断时误删cli_condition导致传染病报卡关联断裂
根因:deleteEncounterDiagnosisInfos() 调用 conditionMapper.deleteByEncounterId() 删除了 cli_condition 记录,而 infectious_card.diag_id 指向的就是 cli_condition.id。 数据库验证:infectious_card 表中 10 条记录仅 1 条能 JOIN 到 cli_condition, 其余 9 条的 condition 已被级联删除,导致再次保存诊断时 hasInfectiousReport=0, 前端未过滤已报卡诊断,重复弹出报卡界面。 修复:移除 conditionMapper.deleteByEncounterId(encounterId),仅删除就诊诊断关联记录。 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -35,8 +35,7 @@ public class EncounterDiagnosisServiceImpl extends ServiceImpl<EncounterDiagnosi
|
||||
*/
|
||||
@Override
|
||||
public void deleteEncounterDiagnosisInfos(Long encounterId) {
|
||||
// 不删除中医
|
||||
conditionMapper.deleteByEncounterId(encounterId);
|
||||
// 仅删除就诊诊断关联记录,不删除cli_condition(否则会导致传染病报卡diag_id失效)
|
||||
baseMapper.deleteByEncounterId(encounterId);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user