From db69450d1ab9851c8d62781e665c4302a24575b5 Mon Sep 17 00:00:00 2001 From: xueqingkun Date: Thu, 16 Nov 2023 17:15:25 +0800 Subject: [PATCH] =?UTF-8?q?web=20:=20=E6=9F=A5=E8=AF=A2=E8=BE=85=E5=8A=A9?= =?UTF-8?q?=E6=A3=80=E6=9F=A5=E7=9A=84=E5=8E=86=E5=8F=B2=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E5=92=8C=E6=9F=A5=E8=AF=A2=E4=BD=93=E6=A0=BC=E6=A3=80=E6=9F=A5?= =?UTF-8?q?=E5=8E=86=E5=8F=B2=E8=AE=B0=E5=BD=95=E6=8E=A5=E5=8F=A3=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=8E=BB=E9=87=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/AskAncillaryServiceImpl.java | 11 ++++++++++- .../service/impl/AskPhysicalServiceImpl.java | 11 ++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskAncillaryServiceImpl.java b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskAncillaryServiceImpl.java index 8796e13c..00e30f28 100644 --- a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskAncillaryServiceImpl.java +++ b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskAncillaryServiceImpl.java @@ -17,6 +17,9 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import java.util.*; +import java.util.concurrent.ConcurrentHashMap; +import java.util.function.Function; +import java.util.function.Predicate; import java.util.stream.Collectors; @Service @@ -82,7 +85,13 @@ public class AskAncillaryServiceImpl implements AskAncillaryService { @Override public List queryAskAncillaryHistory(String processId) { - return diagnosisAncillaryRecordService.queryAncillaryRecord(processId); + return diagnosisAncillaryRecordService.queryAncillaryRecord(processId) + .stream().filter(distinctPredicateNotNull(AskAncillaryHistoryResVO::getItemId)).collect(Collectors.toList()); } + + public static Predicate distinctPredicateNotNull(Function function){ + ConcurrentHashMap map = new ConcurrentHashMap<>(); + return t-> null != function.apply(t) && null == map.putIfAbsent(function.apply(t), true); + } } diff --git a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskPhysicalServiceImpl.java b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskPhysicalServiceImpl.java index 06226ade..d30dbccc 100644 --- a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskPhysicalServiceImpl.java +++ b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskPhysicalServiceImpl.java @@ -17,6 +17,9 @@ import org.springframework.stereotype.Service; import java.util.Comparator; import java.util.List; import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; +import java.util.function.Function; +import java.util.function.Predicate; import java.util.stream.Collectors; @Service @@ -96,7 +99,8 @@ public class AskPhysicalServiceImpl implements AskPhysicalService { @Override public List queryAskPhysicalHistory(String processId) { - return diagnosisPhysicalRecordService.queryAskPhysicalHistory(processId); + return diagnosisPhysicalRecordService.queryAskPhysicalHistory(processId).stream() + .filter(distinctPredicateNotNull(e->e.getToolId()+e.getLocationId())).collect(Collectors.toList()); } @@ -115,4 +119,9 @@ public class AskPhysicalServiceImpl implements AskPhysicalService { return diagnosisPhysicalRecordVo; } + public static Predicate distinctPredicateNotNull(Function function){ + ConcurrentHashMap map = new ConcurrentHashMap<>(); + return t-> null != function.apply(t) && null == map.putIfAbsent(function.apply(t), true); + } + }