|
@@ -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) {
|