0027005599 пре 2 година
родитељ
комит
5afe164ad3

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

@@ -245,6 +245,52 @@ public class CommonUtil {
         }
     }
 
+    public static void setMidChangeClass(Map<String,Object> dataMap){
+        if(null == dataMap.get("MEDICAL_INSURANCE_MARK")){
+            dataMap.put("medical_insurance_mark", "1");
+            dataMap.put(SystemEventAttrConstant.HIS_CHANGE_CLASS,"01");
+        }else{
+            if("Y".equals(dataMap.get("MEDICAL_INSURANCE_MARK"))){
+                dataMap.put("medical_insurance_mark", "1");
+                dataMap.put(SystemEventAttrConstant.HIS_CHANGE_CLASS,"01");
+            }else{
+                dataMap.put("medical_insurance_mark", "0");
+                dataMap.put(SystemEventAttrConstant.HIS_CHANGE_CLASS,"03");
+            }
+        }
+    }
+
+
+    public static void setHospChangeClass(Map<String,Object> dataMap){
+        if(null == dataMap.get("MEDICAL_INSURANCE_MARK")){
+            dataMap.put("MEDICAL_INSURANCE_MARK", "1");
+            dataMap.put("P_TYPE","01");
+        }else{
+            if("Y".equals(dataMap.get("MEDICAL_INSURANCE_MARK"))){
+                dataMap.put("MEDICAL_INSURANCE_MARK", "1");
+                dataMap.put("P_TYPE","01");
+            }else{
+                dataMap.put("MEDICAL_INSURANCE_MARK", "0");
+                dataMap.put("P_TYPE","03");
+            }
+        }
+    }
+
+    public static void setOutpatientChangeClass(Map<String,Object> dataMap){
+        if(null == dataMap.get("MEDICAL_INSURANCE_MARK")){
+            dataMap.put("MEDICAL_INSURANCE_MARK", "1");
+            dataMap.put("P_CATEGORY","01");
+        }else{
+            if("Y".equals(dataMap.get("MEDICAL_INSURANCE_MARK"))){
+                dataMap.put("MEDICAL_INSURANCE_MARK", "1");
+                dataMap.put("P_CATEGORY","01");
+            }else{
+                dataMap.put("MEDICAL_INSURANCE_MARK", "0");
+                dataMap.put("P_CATEGORY","03");
+            }
+        }
+    }
+
 
 
     public static void main(String[] args) {

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

@@ -90,6 +90,7 @@ public class XCFYDatav_hospitalizatio_settle_detailJob implements Job {
                     if (StringUtils.isNotBlank(pCategory)) {
                         dataMap.put("CATEGORIES_ITEMS", cateGoriesMap.getOrDefault(categoriesItems, categoriesItems));
                     }
+                    CommonUtil.setHospChangeClass(dataMap);
                     return true;
                 }
             }, new TransferDataCallFunction() {

+ 8 - 6
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/job/XCFYDatav_master_admission_billJob.java

@@ -235,6 +235,7 @@ public class XCFYDatav_master_admission_billJob implements Job {
                     if (null == useDay) {
                         dataMap.put("USE_DAY", 1);
                     }
+
                     String pCategory = dataMap.getOrDefault("P_CATEGORY", "").toString();
                     if (StringUtils.isNotBlank(pCategory)) {
                         dataMap.put("P_CATEGORY", cateGoriesMap.getOrDefault(pCategory, pCategory));
@@ -245,12 +246,13 @@ public class XCFYDatav_master_admission_billJob implements Job {
                         dataMap.put("CATEGORIES_ITEMS", cateGoriesMap.getOrDefault(categoriesItems, categoriesItems));
                     }
                     Object pType = dataMap.get("P_TYPE");
-                    if(null == pType) {
-                        //甲类01
-                        dataMap.put("P_TYPE", "01");
-                    }else{
-                        CommonUtil.setPtype(dataMap, "P_TYPE");
-                    }
+//                    if(null == pType) {
+//                        //甲类01
+//                        dataMap.put("P_TYPE", "01");
+//                    }else{
+//                        CommonUtil.setPtype(dataMap, "P_TYPE");
+//                    }
+                    CommonUtil.setHospChangeClass(dataMap);
                     return true;
                 }
             }, new TransferDataCallFunction() {

+ 2 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/job/XCFYDatav_outpatient_settle_billJob.java

@@ -195,7 +195,8 @@ public class XCFYDatav_outpatient_settle_billJob implements Job {
                     }
                 }
                 //甲类01
-                dataMap.put("P_CATEGORY", "01");
+//                dataMap.put("P_CATEGORY", "01");
+                CommonUtil.setOutpatientChangeClass(dataMap);
                 Object categoriesItems = dataMap.get("EXPENSE_CATEGORY");
                 if (null != categoriesItems && StringUtils.isNotBlank(categoriesItems.toString())) {
                     dataMap.put("EXPENSE_CATEGORY", cateGoriesMap.getOrDefault(categoriesItems.toString(), categoriesItems.toString()));

+ 1 - 5
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/job/XCFYDatav_outpatient_settle_detailsJob.java

@@ -84,7 +84,6 @@ public class XCFYDatav_outpatient_settle_detailsJob implements Job {
                     }
                     dataMap.put("CREATE_BY", "auto");
                     dataMap.put("CREATE_TIME", new Date());
-                    dataMap.put("P_CATEGORY", "01");
                     String itemIDHosp = dataMap.getOrDefault("ITEM_ID_HOSP", "").toString();
                     String itemId = dataMap.getOrDefault("ITEM_ID", "").toString();
                     if (StringUtils.isNotBlank(itemIDHosp) && StringUtils.isBlank(itemId)) {
@@ -94,10 +93,7 @@ public class XCFYDatav_outpatient_settle_detailsJob implements Job {
                             dataMap.put("ITEM_NAME", itemIdArr[1]);
                         }
                     }
-                    String pCategory = dataMap.getOrDefault("P_CATEGORY", "").toString();
-                    if (StringUtils.isNotBlank(pCategory)) {
-                        dataMap.put("P_CATEGORY", cateGoriesMap.getOrDefault(pCategory, pCategory));
-                    }
+                    CommonUtil.setOutpatientChangeClass(dataMap);
 
                     Object categoriesItems = dataMap.get("EXPENSE_CATEGORY");
                     if (null != categoriesItems && StringUtils.isNotBlank(categoriesItems.toString())) {

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

@@ -31,6 +31,7 @@ import org.jeecg.modules.medical.service.IMedicalInsRuleProjectDiagnoseService;
 import org.jeecg.modules.medical.service.IMedicalInsRuleProjectService;
 import org.jeecg.modules.medical.service.IMidIncidentAuditDetailService;
 import org.jeecg.modules.medical.threadpool.MidRunRuleEngineCallable;
+import org.jeecg.modules.system.entity.SysUser;
 import org.jeecg.modules.system.service.ISysDictService;
 import org.jeecg.modules.utils.DateTimeUtil;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -93,9 +94,6 @@ public class HospGetDataToRuleEngine {
         }
         List<Map<String, Object>> diagnoseMapList = new ArrayList<>();
         for (Map<String, Object> detailMap : diagnoseList) {
-            if(null == detailMap.get("MEDICAL_INSURANCE_MARK")){
-                detailMap.put("medical_insurance_mark", "1");
-            }
             detailMap.put("MEDICAL_DEPT_CODE", detailMap.get("ADMISSION_DEPT"));
             detailMap.put("MEDICAL_DEPT_NAME", detailMap.get("ADMISSION_DEPT_NAME"));
             Map<String, Object> lowercaseMap = new HashMap<>();
@@ -110,10 +108,16 @@ public class HospGetDataToRuleEngine {
         Double totalAmount = 0.0;
         Map<String, String> categoriesItemMap = CommonUtil.getCategoriesItemsMap();
         String visitTime = DateUtil.format(new Date(), DatePattern.NORM_DATETIME_PATTERN);
+//        List<SysUser> sysUserList = sysUserService.lambdaQuery().eq(SysUser::getDoctorId, masterAdmissionBill.getDoctorId()).list();
+//        String doctorLevel = "0";
+//        if (CollectionUtil.isNotEmpty(sysUserList)) {
+//            doctorLevel = sysUserList.get(0).getDoctorLevel();
+//        }
         for (Map<String, Object> detailMap : detailList) {
             if (CollectionUtil.isNotEmpty(diagnoseList)) {
                 detailMap.putAll(diagnoseList.get(0));
             }
+            CommonUtil.setMidChangeClass(detailMap);
             Object pCategory = detailMap.get("EXPENSE_CATEGORY");
             if (null != pCategory && StringUtils.isNotBlank(pCategory.toString())) {
                 detailMap.put("EXPENSE_CATEGORY", categoriesItemMap.getOrDefault(pCategory, pCategory.toString()));
@@ -131,13 +135,13 @@ public class HospGetDataToRuleEngine {
             if (!lowercaseMap.containsKey("visit_type")) {
                 lowercaseMap.put("visit_type", "1");
             }
+
             BigDecimal amount = (BigDecimal) lowercaseMap.get("amount");
             lowercaseMap.put("amount", amount.doubleValue());
             totalAmount = totalAmount + amount.doubleValue();
             Object patientGender = lowercaseMap.get("patient_gender");
             lowercaseMap.put("patient_gender", CommonUtil.getMedicalSex(patientGender));
             Object quantity = lowercaseMap.get("quantity");
-            lowercaseMap.put(SystemEventAttrConstant.HIS_CHANGE_CLASS,"01");
             if (null != quantity) {
                 BigDecimal quantityInt = (BigDecimal) quantity;
                 if (quantityInt.intValue() <= 0) {