Bläddra i källkod

首次病程未在患者入院8小时内完成修改逻辑

huj 5 år sedan
förälder
incheckning
211dc389bb

+ 23 - 7
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstcourserecord/FIRC0093.java

@@ -24,12 +24,14 @@ import java.util.Map;
 public class FIRC0093 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) throws ParseException {
         status.set("0");
+        BeHospitalizedDoc beHospitalizedDoc = inputInfo.getBeHospitalizedDoc();
         FirstCourseRecordDoc firstCourseRecordDoc = inputInfo.getFirstCourseRecordDoc();
-        if (firstCourseRecordDoc != null ) {
+        if (firstCourseRecordDoc != null && beHospitalizedDoc != null) {
             Map<String, String> courseRecordDocStructureMap = firstCourseRecordDoc.getStructureMap();
-            if (courseRecordDocStructureMap != null ) {
+            Map<String, String> beHospitalizedDocStructureMap = beHospitalizedDoc.getStructureMap();
+            if (courseRecordDocStructureMap != null && beHospitalizedDocStructureMap != null) {
                 String couDate = courseRecordDocStructureMap.get("记录时间");
-                String beDate = courseRecordDocStructureMap.get("入院日期");
+                String beDate = beHospitalizedDocStructureMap.get("入院日期");
                 if (StringUtils.isNotEmpty(couDate) && StringUtils.isNotEmpty(beDate)) {
                     Date date_in = StringUtil.parseDateTime(beDate);
                     Date date_out = StringUtil.parseDateTime(couDate);
@@ -39,13 +41,27 @@ public class FIRC0093 extends QCCatalogue {
                     boolean firc = CatalogueUtil.compareTime(date_in, date_out, 8 * 60L);
                     if (firc) {
                         status.set("-1");
-                        return;
                     }
                 }
             }
-        }else {
-            status.set("-1");
-            return;
+        } else {
+            if (beHospitalizedDoc != null) {
+                Map<String, String> beHospitalizedDocStructureMap = beHospitalizedDoc.getStructureMap();
+                if (beHospitalizedDocStructureMap != null) {
+                    String beDate = beHospitalizedDocStructureMap.get("入院日期");
+                    if (StringUtils.isNotEmpty(beDate)) {
+                        Date date_in = StringUtil.parseDateTime(beDate);
+                        Date date_out = new Date();
+                        if (date_in == null) {
+                            return;
+                        }
+                        boolean firc = CatalogueUtil.compareTime(date_in, date_out, 8 * 60L);
+                        if (firc) {
+                            status.set("-1");
+                        }
+                    }
+                }
+            }
         }
     }
 }