|
@@ -16,6 +16,7 @@ import org.jeecg.common.system.vo.DictModel;
|
|
|
import org.jeecg.common.util.DateUtils;
|
|
import org.jeecg.common.util.DateUtils;
|
|
|
import org.jeecg.modules.medical.Constant;
|
|
import org.jeecg.modules.medical.Constant;
|
|
|
import org.jeecg.modules.medical.SystemEventAttrConstant;
|
|
import org.jeecg.modules.medical.SystemEventAttrConstant;
|
|
|
|
|
+import org.jeecg.modules.medical.common.CommonUtil;
|
|
|
import org.jeecg.modules.medical.entity.AdvanceWarningAudit;
|
|
import org.jeecg.modules.medical.entity.AdvanceWarningAudit;
|
|
|
import org.jeecg.modules.medical.entity.AdvanceWarningVO;
|
|
import org.jeecg.modules.medical.entity.AdvanceWarningVO;
|
|
|
import org.jeecg.modules.medical.entity.AdviceDetailsVO;
|
|
import org.jeecg.modules.medical.entity.AdviceDetailsVO;
|
|
@@ -648,6 +649,7 @@ public class RuleEngine {
|
|
|
insertLog(midIncidentWarningVO);
|
|
insertLog(midIncidentWarningVO);
|
|
|
//callScenario 1=事前 2=事后 3=事前/事后 4=事中 5=事后/事中
|
|
//callScenario 1=事前 2=事后 3=事前/事后 4=事中 5=事后/事中
|
|
|
List<String> callScenarioList = Arrays.asList("4", "5");
|
|
List<String> callScenarioList = Arrays.asList("4", "5");
|
|
|
|
|
+ List<String> treatmentTypeList = CommonUtil.getVisitTypeList(midIncidentWarningVO.getVisit_type());
|
|
|
boolean sendFlag = false;
|
|
boolean sendFlag = false;
|
|
|
List<Map<String,Object>> detailMapList = new ArrayList<>();
|
|
List<Map<String,Object>> detailMapList = new ArrayList<>();
|
|
|
for(AdviceDetailsVO adviceDetailsVO : midIncidentWarningVO.getAdvice_details()){
|
|
for(AdviceDetailsVO adviceDetailsVO : midIncidentWarningVO.getAdvice_details()){
|
|
@@ -658,7 +660,7 @@ public class RuleEngine {
|
|
|
|
|
|
|
|
for (Map<String, Object> itemMap : detailMapList) {
|
|
for (Map<String, Object> itemMap : detailMapList) {
|
|
|
itemMap.put(Constant.MEDICAL_DIAGNOSE_CODE_KEY, medicalDiagnoseStrList);
|
|
itemMap.put(Constant.MEDICAL_DIAGNOSE_CODE_KEY, medicalDiagnoseStrList);
|
|
|
- List<MedicalInsRuleProject> medicalInsRuleProjectList = medicalInsRuleProjectService.getRuleProjectByMedicalProjectCode(itemMap.get(Constant.MEDICAL_PROJECT_CODE_KEY).toString(), callScenarioList);
|
|
|
|
|
|
|
+ List<MedicalInsRuleProject> medicalInsRuleProjectList = medicalInsRuleProjectService.getRuleProjectByMedicalProjectCode(itemMap.get(Constant.MEDICAL_PROJECT_CODE_KEY).toString(), callScenarioList, treatmentTypeList);
|
|
|
if (CollectionUtil.isEmpty(medicalInsRuleProjectList)) {
|
|
if (CollectionUtil.isEmpty(medicalInsRuleProjectList)) {
|
|
|
log.error("项目编码未匹配到对应的医保规则:{} 在规则库数据库中未检索到数据", itemMap.get(Constant.MEDICAL_PROJECT_CODE_KEY));
|
|
log.error("项目编码未匹配到对应的医保规则:{} 在规则库数据库中未检索到数据", itemMap.get(Constant.MEDICAL_PROJECT_CODE_KEY));
|
|
|
} else {
|
|
} else {
|
|
@@ -755,9 +757,10 @@ public class RuleEngine {
|
|
|
midIncidentAudit.setInterfName(intefName);
|
|
midIncidentAudit.setInterfName(intefName);
|
|
|
//callScenario 1=事前 2=事后 3=事前/事后 4=事中 5=事后/事中
|
|
//callScenario 1=事前 2=事后 3=事前/事后 4=事中 5=事后/事中
|
|
|
List<String> callScenarioList = Arrays.asList("4", "5");
|
|
List<String> callScenarioList = Arrays.asList("4", "5");
|
|
|
|
|
+ List<String> treatmentTypeList = CommonUtil.getVisitTypeList(midIncidentWarningVO.getVisit_type());
|
|
|
boolean sendFlag = false;
|
|
boolean sendFlag = false;
|
|
|
for (Map<String, Object> itemMap : itemList) {
|
|
for (Map<String, Object> itemMap : itemList) {
|
|
|
- List<MedicalInsRuleProject> medicalInsRuleProjectList = medicalInsRuleProjectService.getRuleProjectByMedicalProjectCode(itemMap.get(Constant.MEDICAL_PROJECT_CODE_KEY).toString(), callScenarioList);
|
|
|
|
|
|
|
+ List<MedicalInsRuleProject> medicalInsRuleProjectList = medicalInsRuleProjectService.getRuleProjectByMedicalProjectCode(itemMap.get(Constant.MEDICAL_PROJECT_CODE_KEY).toString(), callScenarioList, treatmentTypeList);
|
|
|
if (CollectionUtil.isEmpty(medicalInsRuleProjectList)) {
|
|
if (CollectionUtil.isEmpty(medicalInsRuleProjectList)) {
|
|
|
log.error("项目编码未匹配到对应的医保规则:{} 在规则库数据库中未检索到数据", itemMap.get(Constant.MEDICAL_PROJECT_CODE_KEY));
|
|
log.error("项目编码未匹配到对应的医保规则:{} 在规则库数据库中未检索到数据", itemMap.get(Constant.MEDICAL_PROJECT_CODE_KEY));
|
|
|
} else {
|
|
} else {
|
|
@@ -827,7 +830,8 @@ public class RuleEngine {
|
|
|
JSONObject itemMap = JSON.parseObject(jsonStr);
|
|
JSONObject itemMap = JSON.parseObject(jsonStr);
|
|
|
//callScenario 1=事前 2=事后 3=事前/事后 4=事中 5=事后/事中
|
|
//callScenario 1=事前 2=事后 3=事前/事后 4=事中 5=事后/事中
|
|
|
List<String> callScenarioList = Arrays.asList("2", "5", "3");
|
|
List<String> callScenarioList = Arrays.asList("2", "5", "3");
|
|
|
- List<MedicalInsRuleProject> medicalInsRuleProjectList = medicalInsRuleProjectService.getRuleProjectByMedicalProjectCode(itemMap.get(Constant.MEDICAL_PROJECT_CODE_KEY).toString(), callScenarioList);
|
|
|
|
|
|
|
+ List<String> treatmentTypeList = CommonUtil.getVisitTypeList(afterwardsAudit.getTreatmentType());
|
|
|
|
|
+ List<MedicalInsRuleProject> medicalInsRuleProjectList = medicalInsRuleProjectService.getRuleProjectByMedicalProjectCode(itemMap.get(Constant.MEDICAL_PROJECT_CODE_KEY).toString(), callScenarioList, treatmentTypeList);
|
|
|
if (CollectionUtil.isEmpty(medicalInsRuleProjectList)) {
|
|
if (CollectionUtil.isEmpty(medicalInsRuleProjectList)) {
|
|
|
log.error("项目编码未匹配到对应的医保规则:{} 在规则库数据库中未检索到数据", itemMap.get(Constant.MEDICAL_PROJECT_CODE_KEY));
|
|
log.error("项目编码未匹配到对应的医保规则:{} 在规则库数据库中未检索到数据", itemMap.get(Constant.MEDICAL_PROJECT_CODE_KEY));
|
|
|
} else {
|
|
} else {
|