|
@@ -40,6 +40,7 @@ import org.springframework.stereotype.Component;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Arrays;
|
|
|
+import java.util.Comparator;
|
|
|
import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
@@ -340,11 +341,32 @@ public class KlConceptStaticFacade extends KlConceptStaticServiceImpl {
|
|
|
|
|
|
List<StaticKnowledgeIndexPageDTO> records = page.getRecords();
|
|
|
|
|
|
+ if (ListUtil.isEmpty(records)) {
|
|
|
+ return page;
|
|
|
+ }
|
|
|
+ List<Long> conceptIds = records.stream().map(StaticKnowledgeIndexPageDTO::getId).collect(Collectors.toList());
|
|
|
+ List<KlConceptDetail> details = klConceptDetailFacade.list(new QueryWrapper<KlConceptDetail>()
|
|
|
+ .eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
+ .in("concept_id", conceptIds)
|
|
|
+ .orderByAsc("concept_id", "order_no"));
|
|
|
+ Map<Long, List<KlConceptDetail>> detailMap = details.stream()
|
|
|
+ .collect(Collectors.groupingBy(KlConceptDetail::getConceptId));
|
|
|
+
|
|
|
records.forEach(i -> {
|
|
|
i.setTypeName(medRetrievalFacade.convertTypeName(i.getTypeName(), 2, dicTypeName));
|
|
|
if (dicTypeMap.containsKey(i.getTypeName())) {
|
|
|
i.setType(Integer.valueOf(dicTypeMap.get(i.getTypeName())));
|
|
|
}
|
|
|
+ i.setHasInfo(1);
|
|
|
+ i.setHasStaticKnowledge(detailMap.get(i.getId()).stream()
|
|
|
+ .filter(x -> x.getContentType().contains("1")).count() > 0 ? 1 : 0);
|
|
|
+ i.setHasNotice(detailMap.get(i.getId()).stream()
|
|
|
+ .filter(x -> x.getContentType().contains("2")).count() > 0 ? 1 : 0);
|
|
|
+ i.setHasClinicalPathway(detailMap.get(i.getId()).stream()
|
|
|
+ .filter(x -> x.getContentType().contains("3")).count() > 0 ? 1 : 0);
|
|
|
+ i.setHasTreatInfo(detailMap.get(i.getId()).stream()
|
|
|
+ .filter(x -> x.getContentType().contains("4")).count() > 0 ? 1 : 0);
|
|
|
+ i.setAbstractContent(detailMap.get(i.getId()).get(0).getContent());
|
|
|
});
|
|
|
|
|
|
page.setRecords(records);
|