Explorar el Código

自动化测试

zhaops hace 4 años
padre
commit
602c1415ba

+ 40 - 20
cdssman-service/src/main/java/com/diagbot/facade/MedRuleConvertFacade.java

@@ -157,7 +157,6 @@ public class MedRuleConvertFacade {
         Map<Long, List<RuleDTO>> groupMap = groupList
                 .stream()
                 .collect(Collectors.groupingBy(RuleDTO::getRuleOrderNo));
-        ruleOrderNo = 0L;
         for (Map.Entry<Long, List<RuleDTO>> entry : groupMap.entrySet()) {
             Map<Integer, List<ResultRule>> tempMap = new HashMap<>();
             Integer num = 1;
@@ -165,7 +164,6 @@ public class MedRuleConvertFacade {
                 List<ResultRule> tempList = Lists.newLinkedList();
 
                 ResultRule result = new ResultRule();
-                result.setRuleOrderNo(ruleOrderNo);
                 result.setRuleType(ruleVO.getRuleType());
 
                 result.setRuleId(record.getRuleId());
@@ -372,8 +370,7 @@ public class MedRuleConvertFacade {
                 }
                 tempMap.put(num++, tempList);
             }
-            inputList.addAll(addRuleOrderNo(tempMap, ruleOrderNo));
-            ruleOrderNo = (long) inputList.size();
+            inputList = addRuleOrderNo(tempMap, 1, Lists.newLinkedList(), inputList);
         }
 
         //药品分类扩展
@@ -385,7 +382,6 @@ public class MedRuleConvertFacade {
         Map<Long, List<ResultRule>> medMap = inputList
                 .stream()
                 .collect(Collectors.groupingBy(ResultRule::getRuleOrderNo));
-        ruleOrderNo = 0L;
         for (Map.Entry<Long, List<ResultRule>> entry : medMap.entrySet()) {
             Map<Integer, List<ResultRule>> tempMap = new HashMap<>();
             Integer num = 1;
@@ -419,12 +415,10 @@ public class MedRuleConvertFacade {
                 }
                 tempMap.put(num++, tempList);
             }
-            medicineList.addAll(addRuleOrderNo(tempMap, ruleOrderNo));
-            ruleOrderNo = (long) medicineList.size();
+            medicineList = addRuleOrderNo(tempMap, 1, Lists.newLinkedList(), medicineList);
         }
 
         //禁忌条件“流产”转成包含流产的诊断
-        ruleOrderNo = 0L;
         Map<Long, List<ResultRule>> containsDiseaseMap = medicineList
                 .stream()
                 .collect(Collectors.groupingBy(ResultRule::getRuleOrderNo));
@@ -467,12 +461,10 @@ public class MedRuleConvertFacade {
                 }
                 tempMap.put(num++, tempList);
             }
-            containsDiseaseList.addAll(addRuleOrderNo(tempMap, ruleOrderNo));
-            ruleOrderNo = (long) containsDiseaseList.size();
+            containsDiseaseList = addRuleOrderNo(tempMap, 1, Lists.newLinkedList(), containsDiseaseList);
         }
 
         //正常项目重复开立处理
-        ruleOrderNo = 0L;
         Map<Long, List<ResultRule>> rePacsBillMap = containsDiseaseList
                 .stream()
                 .collect(Collectors.groupingBy(ResultRule::getRuleOrderNo));
@@ -498,15 +490,13 @@ public class MedRuleConvertFacade {
                 }
                 tempMap.put(num++, tempList);
             }
-            rePacsBillList.addAll(addRuleOrderNo(tempMap, ruleOrderNo));
-            ruleOrderNo = (long) rePacsBillList.size();
+            rePacsBillList = addRuleOrderNo(tempMap, 1, Lists.newLinkedList(), rePacsBillList);
         }
 
         if (hospitalId < 0) {
             conflictMappingList = BeanUtil.listCopyTo(rePacsBillList, ResultRule.class);
         } else {
             //术语映射-开单项映射
-            ruleOrderNo = 0L;
             Map<Long, List<ResultRule>> billMappingMap = rePacsBillList
                     .stream()
                     .collect(Collectors.groupingBy(ResultRule::getRuleOrderNo));
@@ -587,12 +577,10 @@ public class MedRuleConvertFacade {
                     }
                     tempMap.put(num++, tempList);
                 }
-                billMappingList.addAll(addRuleOrderNo(tempMap, ruleOrderNo));
-                ruleOrderNo = (long) billMappingList.size();
+                billMappingList = addRuleOrderNo(tempMap, 1, Lists.newLinkedList(), billMappingList);
             }
 
             //术语映射-禁忌项映射
-            ruleOrderNo = 0L;
             Map<Long, List<ResultRule>> conflictMappingMap = billMappingList
                     .stream()
                     .collect(Collectors.groupingBy(ResultRule::getRuleOrderNo));
@@ -633,8 +621,7 @@ public class MedRuleConvertFacade {
                     }
                     tempMap.put(num++, tempList);
                 }
-                conflictMappingList.addAll(addRuleOrderNo(tempMap, ruleOrderNo));
-                ruleOrderNo = (long) conflictMappingList.size();
+                conflictMappingList = addRuleOrderNo(tempMap, 1, Lists.newLinkedList(), conflictMappingList);
             }
         }
 
@@ -684,7 +671,40 @@ public class MedRuleConvertFacade {
         return retList;
     }
 
-    public List<ResultRule> addRuleOrderNo(Map<Integer, List<ResultRule>> map, Long ruleOrderNo) {
+    public List<ResultRule> addRuleOrderNo(Map<Integer, List<ResultRule>> map, Integer index, List<ResultRule> tempList,  List<ResultRule> retList) {
+        if (index < map.size()) {
+            List<ResultRule> list = map.get(index++);
+            for (ResultRule subResult : list) {
+                ResultRule addResult = new ResultRule();
+                BeanUtil.copyProperties(subResult, addResult);
+                List<ResultRule> groupRuleList = Lists.newLinkedList();
+                if (ListUtil.isNotEmpty(tempList)) {
+                    groupRuleList = BeanUtil.listCopyTo(tempList, ResultRule.class);
+                }
+                groupRuleList.add(addResult);
+                retList = addRuleOrderNo(map, index, groupRuleList, retList);
+            }
+        } else if (index == map.size()) {
+            List<ResultRule> list = map.get(index);
+            for (ResultRule subResult : list) {
+                ResultRule addResult = new ResultRule();
+                BeanUtil.copyProperties(subResult, addResult);
+                Long ruleOrderNo = retList.size() + 1L;
+                List<ResultRule> groupRuleList = Lists.newLinkedList();
+                if (ListUtil.isNotEmpty(tempList)) {
+                    groupRuleList = BeanUtil.listCopyTo(tempList, ResultRule.class);
+                }
+                groupRuleList.add(addResult);
+                for (ResultRule item : groupRuleList) {
+                    item.setRuleOrderNo(ruleOrderNo);
+                }
+                retList.addAll(groupRuleList);
+            }
+        }
+        return retList;
+    }
+
+    public List<ResultRule> getGroupRules(Map<Integer, List<ResultRule>> map, Long ruleOrderNo) {
         List<ResultRule> retList = Lists.newLinkedList();
         ruleOrderNo++;
         if (map == null || map.size() == 0) {