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); + } + } + }