Procházet zdrojové kódy

数据地址维护

rengb před 5 roky
rodič
revize
8dec6086df

+ 6 - 4
dbanaly/src/main/java/com/lantone/qc/dbanaly/facade/comsis/XmlDataAnalysisFacade.java

@@ -177,7 +177,7 @@ public class XmlDataAnalysisFacade {
         if (ListUtil.isEmpty(keysBehospitalCodeEntryList)) {
             return;
         }
-        Map<Set<String>, Set<String>> keysBehospitalCodesMap = keysBehospitalCodeEntryList.stream().collect(Collectors.groupingBy(Map.Entry::getKey, Collectors.mapping(Map.Entry::getValue, Collectors.toSet())));
+        Map<Set<String>, List<String>> keysBehospitalCodesMap = keysBehospitalCodeEntryList.stream().collect(Collectors.groupingBy(Map.Entry::getKey, Collectors.mapping(Map.Entry::getValue, Collectors.toList())));
 
         //1、找出已经分析生成过的文书模块模板类型;2、找出相应的map_keys-模块模板类型id对应信息;3、找出相应的模块模板类型id-示例病历号对应信息
         Map<Set<String>, Long> alreadyExistsDataMap = Maps.newHashMap();//相应的map_keys-模块模板类型id对应信息
@@ -223,7 +223,7 @@ public class XmlDataAnalysisFacade {
                 continue;
             }
             alreadyExistsRecordAnalyzeId = alreadyExistsDataMap.get(keys);
-            behospitalCodeDeptInfoSet = keysBehospitalCodesMap.get(keys).stream().map(bec -> behospitalCodeDeptInfoMap.get(bec)).collect(Collectors.toSet());
+            behospitalCodeDeptInfoSet = keysBehospitalCodesMap.get(keys).stream().distinct().map(bec -> behospitalCodeDeptInfoMap.get(bec)).collect(Collectors.toSet());
             RecordAnalyze recordAnalyze = new RecordAnalyze();
             if (alreadyExistsRecordAnalyzeId == null) {
                 recordAnalyze.setName(modeName + "-" + recTitle + "-" + sexAdd + type);
@@ -248,7 +248,7 @@ public class XmlDataAnalysisFacade {
                 uptRecordAnalyzeList.add(recordAnalyze);
 
                 exitBecs = raBecsMap.get(alreadyExistsRecordAnalyzeId);
-                for (String bhrec : keysBehospitalCodesMap.get(keys)) {
+                for (String bhrec : keysBehospitalCodesMap.get(keys).stream().distinct().collect(Collectors.toList())) {
                     if (exitBecs == null || !exitBecs.contains(bhrec)) {
                         RecordAnalyzeExample recordAnalyzeExample = new RecordAnalyzeExample();
                         recordAnalyzeExample.setRecordAnalyzeId(alreadyExistsRecordAnalyzeId);
@@ -273,12 +273,14 @@ public class XmlDataAnalysisFacade {
                     recordAnalyzeDetailList.add(recordAnalyzeDetail);
                 });
 
-                keysBehospitalCodesMap.get(mapKeySet).forEach(bocd -> {
+                keysBehospitalCodesMap.get(mapKeySet).stream().distinct().forEach(bocd -> {
                     RecordAnalyzeExample recordAnalyzeExample = new RecordAnalyzeExample();
                     recordAnalyzeExample.setRecordAnalyzeId(raly.getId());
                     recordAnalyzeExample.setBehospitalCode(bocd);
                     recordAnalyzeExampleList.add(recordAnalyzeExample);
+                });
 
+                keysBehospitalCodesMap.get(mapKeySet).forEach(bocd -> {
                     Abnormal abnormal = new Abnormal();
                     abnormal.setHospitalId(hospitalId);
                     abnormal.setBehospitalCode(bocd);