web : 查询辅助检查的历史记录和查询体格检查历史记录接口数据去重

release_1.0.0
xueqingkun 1 year ago
parent ffe9e092b0
commit db69450d1a

@ -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<AskAncillaryHistoryResVO> queryAskAncillaryHistory(String processId) {
return diagnosisAncillaryRecordService.queryAncillaryRecord(processId);
return diagnosisAncillaryRecordService.queryAncillaryRecord(processId)
.stream().filter(distinctPredicateNotNull(AskAncillaryHistoryResVO::getItemId)).collect(Collectors.toList());
}
public static <K> Predicate<K> distinctPredicateNotNull(Function<K,Object> function){
ConcurrentHashMap<Object, Boolean> map = new ConcurrentHashMap<>();
return t-> null != function.apply(t) && null == map.putIfAbsent(function.apply(t), true);
}
}

@ -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<AskPhysicalHistoryResVO> 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 <K> Predicate<K> distinctPredicateNotNull(Function<K,Object> function){
ConcurrentHashMap<Object, Boolean> map = new ConcurrentHashMap<>();
return t-> null != function.apply(t) && null == map.putIfAbsent(function.apply(t), true);
}
}

Loading…
Cancel
Save