From e0b4dd0b1465d99d31382d9729335815af98e6f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=B3=E7=BE=BD?= <关羽@gentronhealth.com> Date: Sat, 16 May 2026 21:07:52 +0800 Subject: [PATCH] =?UTF-8?q?Fix=20Bug=20#519:=20=E4=BF=9D=E5=AD=98=E8=AF=8A?= =?UTF-8?q?=E6=96=AD=E6=97=B6=E8=AF=AF=E5=88=A0cli=5Fcondition=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=E4=BC=A0=E6=9F=93=E7=97=85=E6=8A=A5=E5=8D=A1=E5=85=B3?= =?UTF-8?q?=E8=81=94=E6=96=AD=E8=A3=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 根因: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 --- .../service/impl/EncounterDiagnosisServiceImpl.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/impl/EncounterDiagnosisServiceImpl.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/impl/EncounterDiagnosisServiceImpl.java index bf3ff2068..b7f2f297c 100755 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/impl/EncounterDiagnosisServiceImpl.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/service/impl/EncounterDiagnosisServiceImpl.java @@ -35,8 +35,7 @@ public class EncounterDiagnosisServiceImpl extends ServiceImpl