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