瀏覽代碼

会诊次数判断与台州一致

huj 4 年之前
父節點
當前提交
9b2dfe085e
共有 1 個文件被更改,包括 11 次插入28 次删除
  1. 11 28
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0528.java

+ 11 - 28
kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0528.java

@@ -11,6 +11,7 @@ import org.springframework.stereotype.Component;
 import java.text.ParseException;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 
 /**
  * @ClassName : CON0528
@@ -24,36 +25,18 @@ public class CON0528 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) throws ParseException {
         status.set("0");
         List<ConsultationDoc> consultationDocs = inputInfo.getConsultationDocs();
-        List<DoctorAdviceDoc> doctorAdviceDocs = inputInfo.getDoctorAdviceDocs();
-        if (doctorAdviceDocs.size() == 0) {
+        if (consultationDocs.size() == 0) {
             return;
         }
-        boolean findConsultation = false, findConsultationRemove = false;
-        for (DoctorAdviceDoc doctorAdviceDoc : doctorAdviceDocs) {
-            Map<String, String> doctStructureMap = doctorAdviceDoc.getStructureMap();
-            if (doctStructureMap.get("医嘱项目名称") != null) {
-                if (doctStructureMap.get("医嘱项目名称").contains("会诊")) {
-                    findConsultation = true;
-                }
-                if (doctStructureMap.get("医嘱项目名称").contains("会诊")
-                        && doctStructureMap.get("医嘱项目名称").contains("取消")) {
-                    findConsultationRemove = true;
-                }
-            }
-        }
-        //医嘱有会诊但没有取消会诊
-        if (findConsultation && !findConsultationRemove) {
-            if (consultationDocs.size() > 0) {
-                for (ConsultationDoc consulation : consultationDocs) {
-                    ConsultationRecordDoc consultationRecordDoc = consulation.getConsultationRecordDoc();
-                    if (consultationRecordDoc == null) {
-                        status.set("-1");
-                        return;
-                    }
-                }
-            }
-        } else {
-            status.set("0");
+        long consultationRecordCount = consultationDocs
+                .stream().map(ConsultationDoc::getConsultationRecordDoc).filter(Objects::nonNull).count();
+
+        long consultationResultsCount = consultationDocs
+                .stream().map(ConsultationDoc::getConsultationResultsDoc).filter(Objects::nonNull).count();
+
+        if (consultationRecordCount < consultationResultsCount) {
+            status.set("-1");
+            info.set("会诊记录病程数:" + consultationRecordCount + ",会诊结果数:" + consultationResultsCount);
         }
     }
 }