From 2eca6a7f314209707d61a1fc697ba6afdd5964de Mon Sep 17 00:00:00 2001 From: zhaoyun Date: Fri, 19 Jun 2026 05:08:47 +0800 Subject: [PATCH] =?UTF-8?q?fix(#785):=20zhaoyun=20(=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=90=88=E5=85=A5)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/EncounterLocationServiceImpl.java | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/administration/service/impl/EncounterLocationServiceImpl.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/administration/service/impl/EncounterLocationServiceImpl.java index f572dd7f8..b8b380af2 100755 --- a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/administration/service/impl/EncounterLocationServiceImpl.java +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/administration/service/impl/EncounterLocationServiceImpl.java @@ -47,7 +47,6 @@ public class EncounterLocationServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(EncounterLocation::getEncounterId, encounterId) + .eq(EncounterLocation::getFormEnum, formEnum) + .eq(EncounterLocation::getStatusEnum, EncounterActivityStatus.ACTIVE.getValue()) + .orderByAsc(EncounterLocation::getStartTime); + List records = baseMapper.selectList(queryWrapper); + if (records != null && records.size() > 1) { + // 保留第一条,将其余的标记为已完成 + for (int i = 1; i < records.size(); i++) { + EncounterLocation duplicate = records.get(i); + duplicate.setStatusEnum(EncounterActivityStatus.COMPLETED.getValue()); + baseMapper.updateById(duplicate); + } + } + }