浏览代码

量表排序2

wangfeng 3 年之前
父节点
当前提交
f48dcadde6
共有 1 个文件被更改,包括 20 次插入6 次删除
  1. 20 6
      src/main/java/com/diagbot/facade/KlConceptStaticFacade.java

+ 20 - 6
src/main/java/com/diagbot/facade/KlConceptStaticFacade.java

@@ -49,6 +49,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;
@@ -339,6 +340,7 @@ public class KlConceptStaticFacade extends KlConceptStaticServiceImpl {
 
     /**
      * 静态知识检索-分页返回
+     *
      * @param staticKnowledgeIndexPageVO
      * @return
      */
@@ -418,7 +420,7 @@ public class KlConceptStaticFacade extends KlConceptStaticServiceImpl {
         List<KlConceptScale> scaleDetails = klConceptScaleFacade.list(new QueryWrapper<KlConceptScale>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .in("concept_id", conceptIds)
-                .orderByAsc("concept_id", "parent_id", "order_no"));
+                .orderByAsc("text_type", "group_num", "order_no"));
         Map<Long, List<KlConceptScale>> scaleDetailMap = scaleDetails.stream()
                 .collect(Collectors.groupingBy(KlConceptScale::getConceptId));
 
@@ -840,6 +842,7 @@ public class KlConceptStaticFacade extends KlConceptStaticServiceImpl {
 
     /**
      * 获取量表结构
+     *
      * @param conceptId
      * @return
      */
@@ -848,21 +851,21 @@ public class KlConceptStaticFacade extends KlConceptStaticServiceImpl {
         List<KlConceptScale> scaleList = klConceptScaleFacade.list(new QueryWrapper<KlConceptScale>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("concept_id", conceptId)
-                .orderByAsc("parent_id", "order_no"));
+                .orderByAsc("text_type", "group_num", "order_no"));
         if (ListUtil.isEmpty(scaleList)) {
             return null;
         }
         List<ConceptScaleDetailDTO> scaleDetailList = BeanUtil.listCopyTo(scaleList, ConceptScaleDetailDTO.class);
         if (null != scaleVO) {
             List<String> codeList = new ArrayList<>();
-            codeList= scaleDetailList.stream().filter(s -> StringUtils.isNotBlank(s.getRuleCode())).map(ac -> ac.getRuleCode()).collect(Collectors.toList());
+            codeList = scaleDetailList.stream().filter(s -> StringUtils.isNotBlank(s.getRuleCode())).map(ac -> ac.getRuleCode()).collect(Collectors.toList());
             scaleVO.setCodeList(codeList);
             ScaleDTO scaleDTO = klRegulationBaseFacade.process(scaleVO);
             List<String> codeListNew = scaleDTO.getCodeList(); //Arrays.asList("100001", "100013");
             if (ListUtil.isNotEmpty(codeListNew)) {
                 for (String str : codeListNew) {
                     for (ConceptScaleDetailDTO data2 : scaleDetailList) {
-                        if (null!=data2.getRuleCode()&&data2.getRuleCode().equals(str)) {
+                        if (null != data2.getRuleCode() && data2.getRuleCode().equals(str)) {
                             data2.setMatch(1);
                         }
                     }
@@ -879,7 +882,7 @@ public class KlConceptStaticFacade extends KlConceptStaticServiceImpl {
             if (ListUtil.isNotEmpty(codeListNew)) {
                 for (String str : codeListNew) {
                     for (ConceptScaleDetailDTO data2 : scaleDetailList) {
-                        if (null!=data2.getRuleCode()&&data2.getRuleCode().equals(str)) {
+                        if (null != data2.getRuleCode() && data2.getRuleCode().equals(str)) {
                             data2.setMatch(1);
                         }
                     }
@@ -888,7 +891,7 @@ public class KlConceptStaticFacade extends KlConceptStaticServiceImpl {
         }
 
         Map<Long, List<ConceptScaleDetailDTO>> parentMap
-                = scaleDetailList.stream().collect(Collectors.groupingBy(ConceptScaleDetailDTO::getParentId));
+                = scaleDetailList.stream().sorted(Comparator.comparing(ConceptScaleDetailDTO::getTextType).thenComparing(ConceptScaleDetailDTO::getGroupNum)).collect(Collectors.groupingBy(ConceptScaleDetailDTO::getParentId));
         List<ConceptScaleDetailDTO> retScacleDetailList = parentMap.get(-1L);
         if (ListUtil.isEmpty(retScacleDetailList)) {
             return null;
@@ -905,13 +908,24 @@ public class KlConceptStaticFacade extends KlConceptStaticServiceImpl {
         for (ConceptScaleSubDTO subDTO : retList) {
             scaleRecursion(subDTO, parentMap);
         }
+        //排序
+        for (ConceptScaleSubDTO data : retList) {
+            if (ListUtil.isNotEmpty(data.getDetailList())) {
+                for (ConceptScaleDetailDTO datasub : data.getDetailList()) {
+                    if (ListUtil.isNotEmpty(datasub.getSubList())) {
+                        datasub.setSubList(datasub.getSubList().stream().sorted(Comparator.comparing(ConceptScaleSubDTO::getGroupNum)).collect(Collectors.toList()));
+                    }
 
+                }
+            }
+        }
         retDTO.setScaleDetails(retList);
         return retDTO;
     }
 
     /**
      * 递归
+     *
      * @param item
      * @param treeMap
      */