Explorar o código

Merge remote-tracking branch 'origin/dev/20210326_2.0.2' into dev/20210326_2.0.2

# Conflicts:
#	src/main/java/com/diagbot/facade/ConsoleFacade.java
chengyao %!s(int64=4) %!d(string=hai) anos
pai
achega
83c6cc1d91

+ 64 - 44
src/main/java/com/diagbot/facade/ConsoleFacade.java

@@ -419,6 +419,8 @@ public class ConsoleFacade {
         Long ct = triggeringRulesMap.get("CT");
         //MR
         Long mr = triggeringRulesMap.get("MR");
+        //细菌培养
+        Long bacterialCulture = 0L;
         //抗菌药物
         Long antibiosis = 0L;
         //恶性肿瘤化学治疗
@@ -510,6 +512,16 @@ public class ConsoleFacade {
                 hashMapArrayList.add(stringStringHashMap);
             }
         }
+        //细菌培养
+        if (indexName.equals(QualityContent.XJPY_JCJL_FHL)||indexName.equals(QualityContent.QB)) {
+            if (bacterialCultureNum != null && bacterialCulture != null) {
+                Map<String, String> stringStringHashMap = new LinkedHashMap<>();
+                stringStringHashMap.put("name", QualityContent.XJPY_JCJL_FHL);
+                stringStringHashMap.put("notCopiedStr", getResult(bacterialCultureNum - bacterialCulture, bacterialCultureNum));
+                stringStringHashMap.put("num", bacterialCultureNum.toString());
+                hashMapArrayList.add(stringStringHashMap);
+            }
+        }
         //抗菌
         if (indexName.equals(QualityContent.KJYW_SY_FHL)||indexName.equals(QualityContent.QB)) {
             if (antibiosisFeeNum != null && antibiosis != null) {
@@ -611,7 +623,7 @@ public class ConsoleFacade {
             Long operationFeeNum = 0L;
             filterVO.setFlagStr("2");
             List<MedManageParamsDTO> doctorAdviceMedManageParams = behospitalInfoFacade.getMedManageParams(filterVO);
-            Map<String, List<String>> adviceNum = getAdviceNum(filterVO, doctorAdviceMedManageParams);
+         Map<String, Set<String>> adviceNum = getAdviceNum(filterVO, doctorAdviceMedManageParams);
         if(ListUtil.isNotEmpty(selectOperationNumMap)) {
             for (Map<String, String> stringStringMap : selectOperationNumMap) {
                 String behospitalCode = stringStringMap.get("behospitalCode");
@@ -638,8 +650,8 @@ public class ConsoleFacade {
                 }
             Long startCount = Long.valueOf(outHospitalCode.size());
             //手术人
-                List<String> operationList = adviceNum.get("operation");
-                if(ListUtil.isNotEmpty(operationList)){
+                Set<String> operationList = adviceNum.get("operation");
+                if(operationList!=null&&operationList.size()>0){
                     for (String s : operationList) {
                         operationCode.add(s);
                     }
@@ -648,21 +660,21 @@ public class ConsoleFacade {
                     operationFeeNum = Long.valueOf(operationCode.size());
                 }
                 //CT人数
-                List<String> ctList = adviceNum.get("CT");
+                  Set<String> ctList = adviceNum.get("CT");
                 Long CTNum=0L;
-                if(ListUtil.isNotEmpty(ctList)) {
+                if(ctList!=null&&ctList.size()>0) {
                     CTNum = Long.valueOf(ctList.size());
                 }
                 //MR人数
-                List<String> mrList = adviceNum.get("MR");
+                  Set<String> mrList = adviceNum.get("MR");
                 Long MRNum=0L;
-                if(ListUtil.isNotEmpty(mrList)) {
+                if(mrList!=null&&mrList.size()>0) {
                     MRNum = Long.valueOf(mrList.size());
                 }
                 //手术病理人数
                 Long operationPathologyFeeNum=0L;
-                List<String> operationPathologyList = adviceNum.get("operationPathology");
-                if(ListUtil.isNotEmpty(operationPathologyList)){
+                   Set<String> operationPathologyList = adviceNum.get("operationPathology");
+                if(operationPathologyList!=null&&operationPathologyList.size()>0){
                     for (String s : operationPathologyList) {
                         operationPathologyCode.add(s);
                     }
@@ -671,14 +683,14 @@ public class ConsoleFacade {
                     operationPathologyFeeNum = Long.valueOf(operationPathologyCode.size());
                 }
                 //细菌培养人数
-                List<String> bacterialCultureList = adviceNum.get("bacterialCulture");
+                  Set<String> bacterialCultureList = adviceNum.get("bacterialCulture");
                 Long bacterialCultureNum=0L;
-                if(ListUtil.isNotEmpty(bacterialCultureList)) {
+                if(bacterialCultureList!=null&&bacterialCultureList.size()>0) {
                     bacterialCultureNum = Long.valueOf(bacterialCultureList.size());
                 }
                 //抗菌药物人数
-                List<String> antibiosisList = adviceNum.get("antibiosis");
-                if(ListUtil.isNotEmpty(antibiosisList)) {
+                  Set<String> antibiosisList = adviceNum.get("antibiosis");
+                if(antibiosisList!=null&&antibiosisList.size()>0) {
                     for (String s : antibiosisList) {
                         antibiosisCode.add(s);
                     }
@@ -688,10 +700,10 @@ public class ConsoleFacade {
                     antibiosisFeeNum = Long.valueOf(antibiosisCode.size());
                 }
                 //恶性肿瘤化学治疗人数
-                List<String> chemotherapyMalignantTumorsList = adviceNum.get("chemotherapyMalignantTumors");
+                Set<String> chemotherapyMalignantTumorsList = adviceNum.get("chemotherapyMalignantTumors");
                 Long chemotherapyMalignantTumorsNum =0L;
-                if(ListUtil.isNotEmpty(chemotherapyMalignantTumorsList)) {
-                    chemotherapyMalignantTumorsNum=   Long.valueOf(chemotherapyMalignantTumorsList.size());
+                if(chemotherapyMalignantTumorsList!=null&&chemotherapyMalignantTumorsList.size()>0) {
+                    chemotherapyMalignantTumorsNum=Long.valueOf(chemotherapyMalignantTumorsList.size());
                 }
                 //出院人数
                     if(startCount!=null){
@@ -782,14 +794,14 @@ public class ConsoleFacade {
                     medIndexRelevanceFacade.save(medIndexRelevance);
                 }
             }
-        if(ListUtil.isNotEmpty(ctList)) {
+        if(ctList!=null&&ctList.size()>0) {
             medIndexRelevance.setRelevanceType(8);
             for (String CTCode : ctList) {
                 medIndexRelevance.setBehospitalCode(CTCode);
                 medIndexRelevanceFacade.save(medIndexRelevance);
             }
         }
-        if(ListUtil.isNotEmpty(mrList)) {
+        if(mrList!=null&&mrList.size()>0) {
             medIndexRelevance.setRelevanceType(9);
             for (String MrCode : mrList) {
                 medIndexRelevance.setBehospitalCode(MrCode);
@@ -803,7 +815,7 @@ public class ConsoleFacade {
                     medIndexRelevanceFacade.save(medIndexRelevance);
                 }
             }
-            if(ListUtil.isNotEmpty(bacterialCultureList)) {
+            if(bacterialCultureList!=null&&bacterialCultureList.size()>0) {
                 medIndexRelevance.setRelevanceType(11);
                 for (String Code : bacterialCultureList) {
                     medIndexRelevance.setBehospitalCode(Code);
@@ -817,7 +829,7 @@ public class ConsoleFacade {
                     medIndexRelevanceFacade.save(medIndexRelevance);
                 }
             }
-            if(ListUtil.isNotEmpty(chemotherapyMalignantTumorsList)) {
+            if(chemotherapyMalignantTumorsList!=null&&chemotherapyMalignantTumorsList.size()>0) {
                 medIndexRelevance.setRelevanceType(13);
                 for (String Code : chemotherapyMalignantTumorsList) {
                     medIndexRelevance.setBehospitalCode(Code);
@@ -932,18 +944,18 @@ public class ConsoleFacade {
     /**
      * 遍历医嘱信息存入相关数据
      */
-    public Map<String,List<String>> getAdviceNum(FilterVO filterVO, List<MedManageParamsDTO> doctorAdviceMedManageParamsList) {
+    public Map<String,Set<String>> getAdviceNum(FilterVO filterVO, List<MedManageParamsDTO> doctorAdviceMedManageParamsList) {
         CopyOnWriteArrayList<MedManageParamsDTO> doctorAdviceMedManageParams = new CopyOnWriteArrayList<>(doctorAdviceMedManageParamsList);
         String indexName = filterVO.getIndexName();
         Map mapCode = new HashMap<String,List<String>>();
-        List<String> CTBehospitalCode = new CopyOnWriteArrayList<>();
-        List<String> operationPathologyBehospitalCode = new CopyOnWriteArrayList<>();
-        List<String> MRBehospitalCode = new CopyOnWriteArrayList<>();
-        List<String> operationBehospitalCode = new CopyOnWriteArrayList<>();
-        List<String> pathologyBehospitalCode = new CopyOnWriteArrayList<>();
-        List<String> bacterialCultureCode = new CopyOnWriteArrayList<>();
-        List<String> antibiosisBehospitalCode = new CopyOnWriteArrayList<>();
-        List<String> chemotherapyMalignantTumorsBehospitalCode = new CopyOnWriteArrayList<>();
+        Set<String> CTBehospitalCode = new CopyOnWriteArraySet<>();
+        Set<String> operationPathologyBehospitalCode = new CopyOnWriteArraySet<>();
+        Set<String> MRBehospitalCode = new CopyOnWriteArraySet<>();
+        Set<String> operationBehospitalCode = new CopyOnWriteArraySet<>();
+        Set<String> pathologyBehospitalCode = new CopyOnWriteArraySet<>();
+        Set<String> bacterialCultureCode = new CopyOnWriteArraySet<>();
+        Set<String> antibiosisBehospitalCode = new CopyOnWriteArraySet<>();
+        Set<String> chemotherapyMalignantTumorsBehospitalCode = new CopyOnWriteArraySet<>();
         //无首页code
         List<String> behospitalCodeList = adviceVerify(filterVO);
         //首页为肿瘤code
@@ -1075,45 +1087,53 @@ public class ConsoleFacade {
         }finally {
             myPool.shutdown();
 
-            if(ListUtil.isEmpty(CTBehospitalCode)){
-                mapCode.put("CT",null);
-            }else {
+            if(CTBehospitalCode !=null && CTBehospitalCode.size()>0){
                 mapCode.put("CT",CTBehospitalCode);
-            }
-            if(ListUtil.isEmpty(MRBehospitalCode)){
-                mapCode.put("MR",null);
             }else {
-                mapCode.put("MR",MRBehospitalCode);
+                mapCode.put("CT",null);
             }
-            if(ListUtil.isEmpty(operationBehospitalCode)){
-                mapCode.put("operation",null);
+            if(MRBehospitalCode!=null && MRBehospitalCode.size()>0){
+                mapCode.put("MR",MRBehospitalCode);
             }else {
+                mapCode.put("MR",null);
+            }
+            if(operationBehospitalCode!=null && operationBehospitalCode.size()>0){
                 mapCode.put("operation",operationBehospitalCode);
             }
             if(ListUtil.isEmpty(operationBehospitalCode)||ListUtil.isEmpty(pathologyBehospitalCode)){
                 mapCode.put("operationPathology",null);
             }else {
+                mapCode.put("operation",null);
+            }
+            if((operationBehospitalCode!=null)&&(operationPathologyBehospitalCode!=null&&operationPathologyBehospitalCode.size()>0)){
                 for (String operation : operationBehospitalCode) {
                     if(pathologyBehospitalCode.contains(operation)){
                         operationPathologyBehospitalCode.add(operation);
                     }
                 }
+                mapCode.put("operationPathology",operationBehospitalCode);
                 mapCode.put("operationPathology",operationPathologyBehospitalCode);
             }
             if(ListUtil.isEmpty(bacterialCultureCode)){
                 mapCode.put("bacterialCulture",null);
             }else {
-                mapCode.put("bacterialCulture",bacterialCultureCode);
+                mapCode.put("operationPathology",null);
             }
-            if(ListUtil.isEmpty(antibiosisBehospitalCode)){
-                mapCode.put("antibiosis",null);
+            if(bacterialCultureCode!=null && bacterialCultureCode.size()>0){
+                mapCode.put("bacterialCulture",bacterialCultureCode);
+
             }else {
-                mapCode.put("antibiosis",antibiosisBehospitalCode);
+                mapCode.put("bacterialCulture",null);
             }
-            if(ListUtil.isEmpty(chemotherapyMalignantTumorsBehospitalCode)){
-                mapCode.put("chemotherapyMalignantTumors",null);
+            if(antibiosisBehospitalCode!=null && antibiosisBehospitalCode.size()>0){
+                mapCode.put("antibiosis",antibiosisBehospitalCode);
             }else {
+                mapCode.put("antibiosis",null);
+            }
+            if(antibiosisBehospitalCode!=null && antibiosisBehospitalCode.size()>0){
                 mapCode.put("chemotherapyMalignantTumors",antibiosisBehospitalCode);
+            }else {
+                mapCode.put("chemotherapyMalignantTumors",null);
             }
             return mapCode;
         }

+ 2 - 2
src/main/resources/mapper/MedIndexResultMapper.xml

@@ -51,8 +51,8 @@
             COALESCE (sum(a.implants_result), 0) AS 'implants_result',
             COALESCE (sum(a.blood_result), 0) AS 'blood_result',
             COALESCE (sum(a.rescue_result), 0) AS 'rescue_result',
-            COALESCE (sum(a.sec_file_result), 0) AS 'sec_file_result',
-            COALESCE (sum(a.fir_record_result), 0) AS 'fir_record_result'
+            COALESCE (sum(a.sec_file_result), 0) AS 'sec_file_result'
+
         FROM
             med_index_result a
         WHERE