Quellcode durchsuchen

住院事中接口数据补充

0027005599 vor 2 Jahren
Ursprung
Commit
b5ab9735db

+ 50 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/common/CommonUtil.java

@@ -10,6 +10,7 @@ import org.jeecg.modules.medical.SystemEventAttrConstant;
 import org.jeecg.modules.medical.entity.MedicalInsRuleInfo;
 import org.jeecg.modules.medical.ruleengine.SPELUtil;
 import org.jeecg.modules.system.service.ISysDictService;
+import org.jeecg.modules.utils.DateTimeUtil;
 import org.quartz.DisallowConcurrentExecution;
 import org.springframework.data.redis.core.RedisTemplate;
 
@@ -291,6 +292,55 @@ public class CommonUtil {
         }
     }
 
+    public static void setMidPatientAgeDays(Map<String,Object> dataMap){
+        Object patientAge = dataMap.getOrDefault("patient_age", "0天");
+        if (patientAge == null) {
+            patientAge = "0天";
+        }
+        Integer days = DateTimeUtil.getDayByAgeStr(patientAge.toString());
+        Object visitTime = dataMap.get("visit_time");
+        Object patientBirthday = dataMap.get("patient_birthday");
+        Long ageDays = 0l;
+        if (null != patientBirthday && days <= 0) {
+            Date patientBirthDayDate = (Date) patientBirthday;
+
+            if (null != visitTime) {
+                Date visitTimeDate = (Date) visitTime;
+                ageDays = DateUtil.betweenDay(patientBirthDayDate, visitTimeDate, false);
+            } else {
+                ageDays = DateUtil.betweenDay(patientBirthDayDate, new Date(), false);
+            }
+            dataMap.put("patient_age_days", ageDays.doubleValue());
+            dataMap.put("patientAgeDays", ageDays.doubleValue());
+        } else {
+            dataMap.put("patient_age_days", days.doubleValue());
+            dataMap.put("patientAgeDays", days.doubleValue());
+        }
+    }
+
+    public static void setAfterPatientAgeDays(Map<String,Object> dataMap){
+        Object patientAge = dataMap.getOrDefault("PATIENT_AGE", "0天");
+        if (patientAge == null) {
+            patientAge = "0天";
+        }
+        Integer days = DateTimeUtil.getDayByAgeStr(patientAge.toString());
+        Object visitTime = dataMap.get("VISIT_TIME");
+        Object patientBirthday = dataMap.get("PATIENT_BIRTHDAY");
+        Long ageDays = 0l;
+        if (null != patientBirthday && days <= 0) {
+            Date patientBirthDayDate = (Date) patientBirthday;
+
+            if (null != visitTime) {
+                Date visitTimeDate = (Date) visitTime;
+                ageDays = DateUtil.betweenDay(patientBirthDayDate, visitTimeDate, false);
+            } else {
+                ageDays = DateUtil.betweenDay(patientBirthDayDate, new Date(), false);
+            }
+            dataMap.put("PATIENT_AGE_DAYS", ageDays.doubleValue());
+        } else {
+            dataMap.put("PATIENT_AGE_DAYS", days.doubleValue());
+        }
+    }
 
 
     public static void main(String[] args) {

+ 1 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/ruleengine/HospGetDataToRuleEngine.java

@@ -178,6 +178,7 @@ public class HospGetDataToRuleEngine {
             } else {
                 lowercaseMap.put("quantity", 1);
             }
+            CommonUtil.setMidPatientAgeDays(lowercaseMap);
             detailMapList.add(lowercaseMap);
         }