Răsfoiți Sursa

去除诊断类型同样多次违规

0027005599 2 ani în urmă
părinte
comite
490cdd3cbf

+ 5 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/Constant.java

@@ -237,4 +237,9 @@ public class Constant {
     public static final String JOB_DELETE_OLD_DATE_SWITCH = "JOB_DELETE_OLD_DATE_SWITCH";
 
     public static final String SWITCH_OPEN = "OPEN";
+
+    /**
+     * 过滤的规则id
+     */
+    public static final String FILTER_RULE_ID = "FILTER_RULE_ID";
 }

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

@@ -241,6 +241,7 @@ public class CommonUtil {
             dataMap.put(Constant.MEDICAL_PROJECT_NAME_KEY, medicalDiagnoseNameStr);
             dataMap.put(Constant.PROJECT_TYPE_KEY, "diagnoses");
             dataMap.put(Constant.AMOUNT_KEY, totalAmount);
+            dataMap.put(Constant.FILTER_RULE_ID, medicalInsRuleInfo.getId());
         }
     }
 

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

@@ -2,6 +2,7 @@ package org.jeecg.modules.medical.ruleengine;
 
 import cn.hutool.core.collection.CollectionUtil;
 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;
@@ -223,17 +224,16 @@ public class FactorEnchangeFactory {
         advanceWarningAuditDetailService.save(advanceWarningAuditDetail);
     }
 
-    /**
-     * 生成违规描述
-     *
-     * @param itemMap
-     * @return
-     */
-//    public String genDescription(Map<String,Object> itemMap, String prescription){
-//
-//    }
+
     public void insertAfterWarningDetail(Map<String, Object> itemMap, MedicalInsRuleInfo medicalInsRuleInfo, AfterwardsAudit afterwardsAudit, List<Map<String, Object>> itemList) {
         CommonUtil.setObjectByRuleType(itemMap, medicalInsRuleInfo);
+        if(itemMap.containsKey(Constant.FILTER_RULE_ID)) {
+            Integer filterRuleId = (Integer) itemMap.get(Constant.FILTER_RULE_ID);
+            QueryWrapper<AfterwardsAuditDetail> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("medical_ins_rule_info_id", filterRuleId);
+            queryWrapper.eq("afterwards_audit_id", afterwardsAudit.getId());
+            afterwardsAuditDetailService.remove(queryWrapper);
+        }
         if (Constant.VALIDATION_HANDER_METHOD_RETURN.equals(medicalInsRuleInfo.getViolationHandingMethod())) {
             Double totalAmount = (Double) itemMap.get(SystemEventAttrConstant.HIS_TOTAL_AMOUNT);
             afterwardsAuditService.lambdaUpdate().set(AfterwardsAudit::getAmount, totalAmount).eq(AfterwardsAudit::getId, afterwardsAudit.getId()).update();