0027005599 2 лет назад
Родитель
Сommit
6b760e2d63

+ 2 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/SystemEventAttrConstant.java

@@ -139,6 +139,8 @@ public class SystemEventAttrConstant {
 
     public static final String ITEMMAP_AFTER_INCIDENT_DETAIL_LOG_ID = "id";
 
+    public static final String ITEMMAP_MID_INCIDENT_DETAIL_LOG_ID = "id";
+
     /**
      * 事前工单idkey
      */

+ 6 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/entity/AfterwardsAuditDetail.java

@@ -176,6 +176,12 @@ public class AfterwardsAuditDetail implements Serializable {
     private String patientAge;
 
     private Double patientAgeDays;
+
+    @ApiModelProperty(value = "项目所属类别")
+    @Dict(dicCode = "categories_items")
+    private String expenseCategory;
+    @Dict(dicCode = "change_class")
+    private String changeClass;
     @TableField(exist = false)
     private String startTime;
     @TableField(exist = false)

+ 6 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/entity/MidIncidentAuditDetail.java

@@ -213,4 +213,10 @@ public class MidIncidentAuditDetail implements Serializable {
     @ApiModelProperty(value = "项目所属类别")
     @Dict(dicCode = "categories_items")
     private String expenseCategory;
+    @Dict(dicCode = "change_class")
+    private String changeClass;
+
+    private java.lang.Integer medicalRuleProjectId;
+
+    private String errorDescription;
 }

+ 13 - 11
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/ruleengine/FactorEnchangeFactory.java

@@ -1,9 +1,7 @@
 package org.jeecg.modules.medical.ruleengine;
 
 import cn.hutool.core.collection.CollectionUtil;
-import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang.StringUtils;
 import org.jeecg.common.constant.CommonConstant;
@@ -23,7 +21,6 @@ import org.jeecg.modules.medical.entity.FactorEnchance;
 import org.jeecg.modules.medical.entity.MedicalInsRuleInfo;
 import org.jeecg.modules.medical.entity.MidIncidentAudit;
 import org.jeecg.modules.medical.entity.MidIncidentAuditDetail;
-import org.jeecg.modules.medical.entity.MidIncidentWarningVO;
 import org.jeecg.modules.medical.entity.RuleFactorRela;
 import org.jeecg.modules.medical.ruleengine.dict.DictUtil;
 import org.jeecg.modules.medical.service.IAdvanceWarningAuditDetailService;
@@ -39,7 +36,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Component;
-import reactor.core.publisher.Flux;
 
 import javax.annotation.PostConstruct;
 import java.math.BigDecimal;
@@ -267,7 +263,7 @@ public class FactorEnchangeFactory {
                 afterwardsAuditDetail.setDoctorId(afterwardsAudit.getDoctorId());
                 afterwardsAuditDetail.setPatientId(afterwardsAudit.getPatientId());
                 afterwardsAuditDetail.setPatientName(afterwardsAudit.getPatientName());
-                afterwardsAuditDetail.setTreatmentType(itemMap.getOrDefault("VISIT_TYPE","1").toString());
+                afterwardsAuditDetail.setTreatmentType(itemMap.getOrDefault("VISIT_TYPE", "1").toString());
                 afterwardsAuditDetail.setNoticeType("after");
                 afterwardsAuditDetail.setMedicalInsRuleInfoCode(medicalInsRuleInfo.getRuleCode());
                 afterwardsAuditDetail.setMedicalInsRuleInfoId(medicalInsRuleInfo.getId());
@@ -291,7 +287,7 @@ public class FactorEnchangeFactory {
 
                 afterwardsAuditDetail.setUseDay((Integer) itemMap.getOrDefault(SystemEventAttrConstant.USE_DAY, 1));
                 afterwardsAuditDetail.setPatientAge(itemMap.getOrDefault(SystemEventAttrConstant.PATIENT_AGE_KEY, "1").toString());
-                afterwardsAuditDetail.setPatientGender(itemMap.getOrDefault(SystemEventAttrConstant.PATIENT_GENDER_KEY,"3").toString());
+                afterwardsAuditDetail.setPatientGender(itemMap.getOrDefault(SystemEventAttrConstant.PATIENT_GENDER_KEY, "3").toString());
                 afterwardsAuditDetail.setCreateBy("auto");
                 afterwardsAuditDetail.setQuantity(otherMap.get(SystemEventAttrConstant.QUANTITY) != null ? Integer.parseInt(otherMap.get(SystemEventAttrConstant.QUANTITY).toString()) : 1);
                 afterwardsAuditDetail.setMedicalInsuranceMark(otherMap.get(Constant.MEDICAL_INSURANCE_MARK_KEY) != null ? otherMap.get(Constant.MEDICAL_INSURANCE_MARK_KEY).toString() : "0");
@@ -319,7 +315,7 @@ public class FactorEnchangeFactory {
             afterwardsAuditDetail.setDoctorId(afterwardsAudit.getDoctorId());
             afterwardsAuditDetail.setPatientId(afterwardsAudit.getPatientId());
             afterwardsAuditDetail.setPatientName(afterwardsAudit.getPatientName());
-            afterwardsAuditDetail.setTreatmentType(itemMap.getOrDefault("VISIT_TYPE","1").toString());
+            afterwardsAuditDetail.setTreatmentType(itemMap.getOrDefault("VISIT_TYPE", "1").toString());
             afterwardsAuditDetail.setNoticeType("after");
             afterwardsAuditDetail.setMedicalInsRuleInfoCode(medicalInsRuleInfo.getRuleCode());
             afterwardsAuditDetail.setMedicalInsRuleInfoId(medicalInsRuleInfo.getId());
@@ -336,7 +332,7 @@ public class FactorEnchangeFactory {
             afterwardsAuditDetail.setProjectUseTime(projectUseTimeStr);
 
             afterwardsAuditDetail.setPatientAge(itemMap.getOrDefault(SystemEventAttrConstant.PATIENT_AGE_KEY, "1").toString());
-            afterwardsAuditDetail.setPatientGender(itemMap.getOrDefault(SystemEventAttrConstant.PATIENT_GENDER_KEY,"3").toString());
+            afterwardsAuditDetail.setPatientGender(itemMap.getOrDefault(SystemEventAttrConstant.PATIENT_GENDER_KEY, "3").toString());
             afterwardsAuditDetail.setUseDay((Integer) itemMap.getOrDefault(SystemEventAttrConstant.USE_DAY, 1));
             afterwardsAuditDetail.setQuantity(itemMap.get(SystemEventAttrConstant.QUANTITY) != null ? Integer.parseInt(itemMap.get(SystemEventAttrConstant.QUANTITY).toString()) : 1);
             afterwardsAuditDetail.setViolationLevel(medicalInsRuleInfo.getViolationLevel());
@@ -369,7 +365,7 @@ public class FactorEnchangeFactory {
                 midIncidentAuditDetail.setPatientId(itemMap.get("patient_id").toString());
                 midIncidentAuditDetail.setPatientName(itemMap.get("patient_name").toString());
                 String treatmentType = medicalInsRuleInfo.getTreatmentType();
-                if(otherItemMap.containsKey("visit_type")){
+                if (otherItemMap.containsKey("visit_type")) {
                     treatmentType = otherItemMap.get("visit_type").toString();
                 }
                 midIncidentAuditDetail.setTreatmentType(treatmentType);
@@ -422,7 +418,7 @@ public class FactorEnchangeFactory {
             midIncidentAuditDetail.setPatientId(itemMap.get("patient_id").toString());
             midIncidentAuditDetail.setPatientName(itemMap.get("patient_name").toString());
             String treatmentType = medicalInsRuleInfo.getTreatmentType();
-            if(itemMap.containsKey("visit_type")){
+            if (itemMap.containsKey("visit_type")) {
                 treatmentType = itemMap.get("visit_type").toString();
             }
             midIncidentAuditDetail.setTreatmentType(treatmentType);
@@ -442,7 +438,7 @@ public class FactorEnchangeFactory {
             midIncidentAuditDetail.setMedicalProjectCode(itemMap.get(Constant.MEDICAL_PROJECT_CODE_KEY).toString());
             midIncidentAuditDetail.setMedicalProjectName(itemMap.get(Constant.MEDICAL_PROJECT_NAME_KEY).toString());
             midIncidentAuditDetail.setDoseDay(Integer.parseInt(itemMap.getOrDefault(SystemEventAttrConstant.DOSE_DAY, 0).toString()));
-            BigDecimal price = new BigDecimal(itemMap.getOrDefault(SystemEventAttrConstant.PRICE,"0").toString());
+            BigDecimal price = new BigDecimal(itemMap.getOrDefault(SystemEventAttrConstant.PRICE, "0").toString());
             midIncidentAuditDetail.setPrice(price);
             midIncidentAuditDetail.setDoseForm((String) itemMap.getOrDefault(SystemEventAttrConstant.DOSE_FORM, ""));
             midIncidentAuditDetail.setTakeFrequence((String) itemMap.getOrDefault(SystemEventAttrConstant.TAKE_FREQUENCE, ""));
@@ -456,7 +452,13 @@ public class FactorEnchangeFactory {
             Integer useDay = Integer.parseInt(itemMap.getOrDefault(SystemEventAttrConstant.USE_DAY, "1").toString());
             midIncidentAuditDetail.setUseDay(useDay);
             midIncidentAuditDetail.setProjectType(itemMap.getOrDefault(Constant.PROJECT_TYPE_KEY, "default").toString());
+            midIncidentAuditDetail.setMedicalRuleProjectId((Integer) itemMap.get(SystemEventAttrConstant.MEDICAL_INS_RULE_PROJECT_ID));
+            Object spelLog = itemMap.get(Constant.SPEL_LOG);
+            if(null != spelLog) {
+                midIncidentAuditDetail.setErrorDescription(spelLog.toString());
+            }
             Double amount = (Double) itemMap.getOrDefault(Constant.AMOUNT_KEY, 0.0);
+
             midIncidentAuditService.lambdaUpdate().setSql("amount = amount +" + amount.doubleValue()).eq(MidIncidentAudit::getId, midIncidentAudit.getId()).update();
             midIncidentAuditDetailService.save(midIncidentAuditDetail);
         }