Prechádzať zdrojové kódy

Merge remote-tracking branch 'origin/dev-1.2' into dev

hujing 5 rokov pred
rodič
commit
ba81b28327

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0533.java

@@ -31,7 +31,7 @@ public class CON0533 extends QCCatalogue {
                 continue;
             }
             Map<String, String> consultationResultStructureMap = consultationApplicationDoc.getStructureMap();
-            String consultationDateStr = consultationResultStructureMap.get("会诊类");
+            String consultationDateStr = consultationResultStructureMap.get("会诊类");
             if (CatalogueUtil.isEmpty(consultationDateStr)) {
                 status.set("-1");
                 return;

+ 15 - 6
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0514.java

@@ -40,24 +40,33 @@ public class LEA0514 extends QCCatalogue {
                     return;
                 }
                 //首页出院诊断
-                List<Diag> dischargeDiags = new ArrayList<>();
+                List<String> dischargeDiags = new ArrayList<>();
                 for (Map<String, String> dischargeDiagMap : dischargeDiagStructure) {
                     String diagnoseName = dischargeDiagMap.get(Content.diagnoseName);
                     if (CatalogueUtil.isEmpty(diagnoseName)) {
                         continue;
                     }
-                    Diag diag = new Diag();
-                    diag.setName(diagnoseName);
-                    dischargeDiags.add(diag);
+                    dischargeDiags.add(diagnoseName);
                 }
                 if (leaveDiagLabel != null) {
                     //出院记录出院诊断
-                    List<Diag> beHospitalizedDiags = leaveDiagLabel.getDiags();
-                    if (!ListUtil.equals(beHospitalizedDiags, dischargeDiags)) {
+                    List<Diag> leaveDiags = leaveDiagLabel.getDiags();
+                    List<String> leaveDiagStrList = getDiagList(leaveDiags);
+                    if (!ListUtil.equals(leaveDiagStrList, dischargeDiags)) {
                         status.set("-1");
                     }
                 }
             }
         }
     }
+
+    private List<String> getDiagList(List<Diag> diags) {
+        List<String> diagList = new ArrayList<>();
+        for (Diag diag : diags) {
+            if (diag.getHospitalDiagName() != null) {
+                diagList.add(diag.getHospitalDiagName());
+            }
+        }
+        return diagList;
+    }
 }

+ 30 - 21
kernel/src/main/java/com/lantone/qc/kernel/catalogue/operationdiscussion/OPE0350.java

@@ -26,29 +26,38 @@ public class OPE0350 extends QCCatalogue {
         //            return;
         //        }
         //        boolean isOperativePatient = CatalogueUtil.isOperativePatients(doctorAdviceDocs);
-//        boolean isOperativePatient = true;//是手术患者(暂时默认是)
-//        if (isOperativePatient) {
-            List<OperationDoc> operationDocs = inputInfo.getOperationDocs();
-            if(operationDocs == null || operationDocs.size() == 0){
-                status.set("0");
-                return;
-            }
-            if (ListUtil.isNotEmpty(operationDocs)) {
-                long count = operationDocs.stream().filter(operationDoc -> {
-                    boolean flag = false;
-                    if (operationDoc.getOperationDiscussionDoc() != null
-                            && operationDoc.getOperationDiscussionDoc().getOperationDiscussionLabel() != null
-                            && (StringUtil.isBlank(operationDoc.getOperationDiscussionDoc().getOperationDiscussionLabel().getOperativeFindings())
-                            || operationDoc.getOperationDiscussionDoc().getOperationDiscussionLabel().getOperativeFindings().length() < 30)) {
-                        flag = true;
-                    }
-                    return flag;
-                }).count();
-                if (count > 0) {
-                    status.set("-1");
+        //        boolean isOperativePatient = true;//是手术患者(暂时默认是)
+        //        if (isOperativePatient) {
+        List<OperationDoc> operationDocs = inputInfo.getOperationDocs();
+        if (operationDocs == null || operationDocs.size() == 0) {
+            status.set("0");
+            return;
+        }
+        if (ListUtil.isNotEmpty(operationDocs)) {
+            long count = operationDocs.stream().filter(operationDoc -> {
+                boolean flag = false;
+                if (operationDoc.getOperationDiscussionDoc() != null
+                        && operationDoc.getOperationDiscussionDoc().getOperationDiscussionLabel() != null
+                        && (StringUtil.isBlank(operationDoc.getOperationDiscussionDoc().getOperationDiscussionLabel().getOperativeFindings())
+                        || operationDoc.getOperationDiscussionDoc().getOperationDiscussionLabel().getOperativeFindings().length() < 30)) {
+                    flag = true;
+                }
+                return flag;
+            }).count();
+
+            long structureCount = operationDocs.stream().filter(operationDoc -> {
+                boolean flag = false;
+                if (operationDoc.getOperationDiscussionDoc() != null
+                        && StringUtil.isBlank(operationDoc.getOperationDiscussionDoc().getStructureMap().get("手术经过"))) {
+                    flag = true;
                 }
+                return flag;
+            }).count();
+            if (count > 0 && structureCount > 0) {
+                status.set("-1");
             }
         }
-//    }
+    }
+    //    }
 
 }

+ 3 - 3
kernel/src/main/java/com/lantone/qc/kernel/catalogue/operationdiscussion/OPE0353.java

@@ -48,12 +48,12 @@ public class OPE0353 extends QCCatalogue {
                     || operationDiscussionDoc.getStructureMap().get("术后注意事项") != null) {
                 continue;
             }
-
+            String treatPlan = operationDiscussionDoc.getStructureMap().get("治疗计划和措施");
             OperationDiscussionLabel operationDiscussionLabel = operationDiscussionDoc.getOperationDiscussionLabel();
             String measuresAfterOp = operationDiscussionLabel.getMeasuresAfterOp();
             String attentionAfterOp = operationDiscussionLabel.getAttentionAfterOp();
-            if (StringUtil.isBlank(measuresAfterOp) || measuresAfterOp.length() < 10
-                    || StringUtil.isBlank(attentionAfterOp) || attentionAfterOp.length() < 10) {
+            if ((StringUtil.isBlank(measuresAfterOp) || measuresAfterOp.length() < 10 || StringUtil.isBlank(attentionAfterOp) || attentionAfterOp.length() < 10)
+                    && StringUtil.isBlank(treatPlan)) {
                 status.set("-1");
                 return;
             }

+ 1 - 4
kernel/src/main/java/com/lantone/qc/kernel/catalogue/operationdiscussion/OPE0650.java

@@ -28,16 +28,13 @@ public class OPE0650 extends QCCatalogue {
             status.set("0");
             return;
         }
-        if (operationDocs.size() == 0) {
-            return;
-        }
         for (OperationDoc operationDoc : operationDocs) {
             OperationDiscussionDoc operationDiscussionDoc = operationDoc.getOperationDiscussionDoc();
             if (operationDiscussionDoc == null) {
                 continue;
             }
             Map<String, String> operationDiscussionStructureMap = operationDiscussionDoc.getStructureMap();
-            if (CatalogueUtil.isEmpty(operationDiscussionStructureMap.get("手术方式"))) {
+            if (CatalogueUtil.isEmpty(operationDiscussionStructureMap.get("手术名称"))) {
                 status.set("-1");
                 return;
             }