|
|
@@ -77,7 +77,7 @@ public class FactorEnchangeFactory {
|
|
|
}
|
|
|
|
|
|
|
|
|
- public boolean runFactorEnchange(Integer medicalInfoRuleInfoId, MedicalInsRuleInfo medicalInsRuleInfo, MidIncidentAudit midIncidentAudit, Map<String, Object> localMap, List<RuleFactorRela> ruleFactorRelaList, List<FactorEnchance> factorEnchanceList) {
|
|
|
+ public boolean runFactorEnchange(Integer medicalInfoRuleInfoId, MedicalInsRuleInfo medicalInsRuleInfo, Object audit, Map<String, Object> localMap, List<RuleFactorRela> ruleFactorRelaList, List<FactorEnchance> factorEnchanceList) {
|
|
|
Map<Integer, FactorEnchance> factorEnchanceMap = factorEnchanceList.stream().collect(Collectors.toMap(FactorEnchance::getId, v -> v, (v1, v2) -> v1));
|
|
|
boolean result = true;
|
|
|
for (RuleFactorRela ruleFactorRela : ruleFactorRelaList) {
|
|
|
@@ -112,7 +112,7 @@ public class FactorEnchangeFactory {
|
|
|
result = setLogicalExpressionResultByFactorEnchance(localMap, factorEnchance);
|
|
|
if (Constant.WARING_EVENT_ATTR_ID == factorEnchance.getEventAttrId()) {
|
|
|
if (result) {
|
|
|
- insertMidWarningDetail(localMap, medicalInsRuleInfo, midIncidentAudit);
|
|
|
+ insertMidWarningDetail(localMap, medicalInsRuleInfo, audit);
|
|
|
}
|
|
|
} else {
|
|
|
localMap.put(getParamName(factorEnchance.getEventAttrId()), result);
|
|
|
@@ -146,34 +146,38 @@ public class FactorEnchangeFactory {
|
|
|
return ioTypeMap;
|
|
|
}
|
|
|
|
|
|
- public void insertMidWarningDetail(Map<String, Object> itemMap, MedicalInsRuleInfo medicalInsRuleInfo, MidIncidentAudit midIncidentAudit) {
|
|
|
- MidIncidentWarningVO midIncidentWarningVO = RuleEngine.midIncidentWarningVOThreadLocal.get();
|
|
|
- MidIncidentAuditDetail midIncidentAuditDetail = new MidIncidentAuditDetail();
|
|
|
- midIncidentAuditDetail.setMedicalDeptCode(midIncidentWarningVO.getMedical_dept_code());
|
|
|
- midIncidentAuditDetail.setMedicalDeptName(midIncidentWarningVO.getMedical_dept_name());
|
|
|
- Date date = new Date(System.currentTimeMillis());
|
|
|
- midIncidentAuditDetail.setCreateTime(date);
|
|
|
- midIncidentAuditDetail.setDoctorName(midIncidentWarningVO.getDoctor_name());
|
|
|
- midIncidentAuditDetail.setDoctorId(midIncidentWarningVO.getDoctor_code());
|
|
|
- midIncidentAuditDetail.setPatientId(midIncidentWarningVO.getPatient_id());
|
|
|
- midIncidentAuditDetail.setPatientName(midIncidentWarningVO.getPatient_name());
|
|
|
- midIncidentAuditDetail.setTreatmentType(medicalInsRuleInfo.getTreatmentType());
|
|
|
- midIncidentAuditDetail.setNoticeType("事中预警");
|
|
|
- midIncidentAuditDetail.setMedicalInsRuleInfoCode(medicalInsRuleInfo.getRuleCode());
|
|
|
- midIncidentAuditDetail.setMedicalInsRuleInfoId(medicalInsRuleInfo.getId());
|
|
|
- midIncidentAuditDetail.setMedicalInsRuleInfoName(medicalInsRuleInfo.getRuleName());
|
|
|
- midIncidentAuditDetail.setDescription(medicalInsRuleInfo.getDescription());
|
|
|
- midIncidentAuditDetail.setProejctCode(itemMap.get(Constant.PROJECT_CODE_KEY).toString());
|
|
|
- midIncidentAuditDetail.setProejctName(itemMap.get(Constant.PROJECT_NAME_KEY).toString());
|
|
|
- midIncidentAuditDetail.setMedicalProjectCode(itemMap.get(Constant.MEDICAL_PROJECT_CODE_KEY).toString());
|
|
|
- midIncidentAuditDetail.setMedicalProjectName(itemMap.get(Constant.MEDICAL_PROJECT_NAME_KEY).toString());
|
|
|
- midIncidentAuditDetail.setOutpatientNumber(midIncidentAudit.getOutpatientNumber());
|
|
|
- midIncidentAuditDetail.setPrescriptionNumber(midIncidentAudit.getPrescriptionNumber());
|
|
|
- midIncidentAuditDetail.setProjectType(itemMap.getOrDefault(Constant.PROJECT_TYPE_KEY, "default").toString());
|
|
|
- midIncidentAuditDetail.setViolationLevel(medicalInsRuleInfo.getViolationLevel());
|
|
|
- midIncidentAuditDetail.setTreatmentType(medicalInsRuleInfo.getTreatmentType());
|
|
|
- midIncidentAuditDetail.setMidIncidentAuditId(midIncidentAudit.getId());
|
|
|
- midIncidentAuditDetailService.save(midIncidentAuditDetail);
|
|
|
+ public void insertMidWarningDetail(Map<String, Object> itemMap, MedicalInsRuleInfo medicalInsRuleInfo, Object audit) {
|
|
|
+ if(audit instanceof MidIncidentAudit) {
|
|
|
+ MidIncidentAudit midIncidentAudit = (MidIncidentAudit) audit;
|
|
|
+ MidIncidentWarningVO midIncidentWarningVO = RuleEngine.midIncidentWarningVOThreadLocal.get();
|
|
|
+ MidIncidentAuditDetail midIncidentAuditDetail = new MidIncidentAuditDetail();
|
|
|
+ midIncidentAuditDetail.setMedicalDeptCode(midIncidentWarningVO.getMedical_dept_code());
|
|
|
+ midIncidentAuditDetail.setMedicalDeptName(midIncidentWarningVO.getMedical_dept_name());
|
|
|
+ Date date = new Date(System.currentTimeMillis());
|
|
|
+ midIncidentAuditDetail.setCreateTime(date);
|
|
|
+ midIncidentAuditDetail.setDoctorName(midIncidentWarningVO.getDoctor_name());
|
|
|
+ midIncidentAuditDetail.setDoctorId(midIncidentWarningVO.getDoctor_code());
|
|
|
+ midIncidentAuditDetail.setPatientId(midIncidentWarningVO.getPatient_id());
|
|
|
+ midIncidentAuditDetail.setPatientName(midIncidentWarningVO.getPatient_name());
|
|
|
+ midIncidentAuditDetail.setTreatmentType(medicalInsRuleInfo.getTreatmentType());
|
|
|
+ midIncidentAuditDetail.setNoticeType("事中预警");
|
|
|
+ midIncidentAuditDetail.setMedicalInsRuleInfoCode(medicalInsRuleInfo.getRuleCode());
|
|
|
+ midIncidentAuditDetail.setMedicalInsRuleInfoId(medicalInsRuleInfo.getId());
|
|
|
+ midIncidentAuditDetail.setMedicalInsRuleInfoName(medicalInsRuleInfo.getRuleName());
|
|
|
+ midIncidentAuditDetail.setDescription(medicalInsRuleInfo.getDescription());
|
|
|
+ midIncidentAuditDetail.setProejctCode(itemMap.get(Constant.PROJECT_CODE_KEY).toString());
|
|
|
+ midIncidentAuditDetail.setProejctName(itemMap.get(Constant.PROJECT_NAME_KEY).toString());
|
|
|
+ midIncidentAuditDetail.setMedicalProjectCode(itemMap.get(Constant.MEDICAL_PROJECT_CODE_KEY).toString());
|
|
|
+ midIncidentAuditDetail.setMedicalProjectName(itemMap.get(Constant.MEDICAL_PROJECT_NAME_KEY).toString());
|
|
|
+ midIncidentAuditDetail.setOutpatientNumber(midIncidentAudit.getOutpatientNumber());
|
|
|
+ midIncidentAuditDetail.setPrescriptionNumber(midIncidentAudit.getPrescriptionNumber());
|
|
|
+ midIncidentAuditDetail.setProjectType(itemMap.getOrDefault(Constant.PROJECT_TYPE_KEY, "default").toString());
|
|
|
+ midIncidentAuditDetail.setViolationLevel(medicalInsRuleInfo.getViolationLevel());
|
|
|
+ midIncidentAuditDetail.setTreatmentType(medicalInsRuleInfo.getTreatmentType());
|
|
|
+ midIncidentAuditDetail.setMidIncidentAuditId(midIncidentAudit.getId());
|
|
|
+ midIncidentAuditDetail.setAmount((Double) itemMap.get(Constant.AMOUNT_KEY));
|
|
|
+ midIncidentAuditDetailService.save(midIncidentAuditDetail);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|