|
@@ -100,7 +100,6 @@ public class FactorEnchangeFactory {
|
|
|
List<FactorCondRela> factorCondRelaList = factorCondRelaService.lambdaQuery().orderByAsc(FactorCondRela::getSeqNum).list();
|
|
List<FactorCondRela> factorCondRelaList = factorCondRelaService.lambdaQuery().orderByAsc(FactorCondRela::getSeqNum).list();
|
|
|
factorCondRelaMap = factorCondRelaList.stream().collect(Collectors.groupingBy(FactorCondRela::getFactorEnhanceId));
|
|
factorCondRelaMap = factorCondRelaList.stream().collect(Collectors.groupingBy(FactorCondRela::getFactorEnhanceId));
|
|
|
LambdaQueryWrapper<FactorAttrRela> queryWrapper = new LambdaQueryWrapper();
|
|
LambdaQueryWrapper<FactorAttrRela> queryWrapper = new LambdaQueryWrapper();
|
|
|
-// queryWrapper.eq(FactorAttrRela::getFactorEnhanceId, factorEnchanceId);
|
|
|
|
|
queryWrapper.orderByAsc(FactorAttrRela::getSeqNum);
|
|
queryWrapper.orderByAsc(FactorAttrRela::getSeqNum);
|
|
|
List<FactorAttrRela> factorAttrRelaList = factorAttrRelaService.list(queryWrapper);
|
|
List<FactorAttrRela> factorAttrRelaList = factorAttrRelaService.list(queryWrapper);
|
|
|
|
|
|
|
@@ -180,18 +179,11 @@ public class FactorEnchangeFactory {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public Map<Integer, List<FactorAttrRela>> getIoMap(Integer factorEnchanceId) {
|
|
public Map<Integer, List<FactorAttrRela>> getIoMap(Integer factorEnchanceId) {
|
|
|
-// LambdaQueryWrapper<FactorAttrRela> queryWrapper = new LambdaQueryWrapper();
|
|
|
|
|
-// queryWrapper.eq(FactorAttrRela::getFactorEnhanceId, factorEnchanceId);
|
|
|
|
|
-// queryWrapper.orderByAsc(FactorAttrRela::getSeqNum);
|
|
|
|
|
List<FactorAttrRela> factorAttrRelaList = factorEnhanceIdAndListMap.get(factorEnchanceId);
|
|
List<FactorAttrRela> factorAttrRelaList = factorEnhanceIdAndListMap.get(factorEnchanceId);
|
|
|
-// Map<Integer, List<FactorAttrRela>> ioTypeMap = new HashMap<>();
|
|
|
|
|
-// if (CollectionUtil.isNotEmpty(factorAttrRelaList)) {
|
|
|
|
|
if (CollectionUtil.isEmpty(factorAttrRelaList)) {
|
|
if (CollectionUtil.isEmpty(factorAttrRelaList)) {
|
|
|
return new HashMap<>();
|
|
return new HashMap<>();
|
|
|
}
|
|
}
|
|
|
Map<Integer, List<FactorAttrRela>> ioTypeMap = factorAttrRelaList.stream().collect(Collectors.groupingBy(FactorAttrRela::getIoType));
|
|
Map<Integer, List<FactorAttrRela>> ioTypeMap = factorAttrRelaList.stream().collect(Collectors.groupingBy(FactorAttrRela::getIoType));
|
|
|
-// }
|
|
|
|
|
-
|
|
|
|
|
return ioTypeMap;
|
|
return ioTypeMap;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -245,52 +237,11 @@ public class FactorEnchangeFactory {
|
|
|
if (Constant.VALIDATION_HANDER_METHOD_RETURN.equals(medicalInsRuleInfo.getViolationHandingMethod())) {
|
|
if (Constant.VALIDATION_HANDER_METHOD_RETURN.equals(medicalInsRuleInfo.getViolationHandingMethod())) {
|
|
|
afterwardsAuditService.lambdaUpdate().set(AfterwardsAudit::getAmount, afterwardsAudit.getAmount()).eq(AfterwardsAudit::getId, afterwardsAudit.getId()).update();
|
|
afterwardsAuditService.lambdaUpdate().set(AfterwardsAudit::getAmount, afterwardsAudit.getAmount()).eq(AfterwardsAudit::getId, afterwardsAudit.getId()).update();
|
|
|
List<AfterwardsAuditDetail> afterwardsAuditDetailList = new ArrayList<>();
|
|
List<AfterwardsAuditDetail> afterwardsAuditDetailList = new ArrayList<>();
|
|
|
- Date date = new Date(System.currentTimeMillis());
|
|
|
|
|
for (Map<String, Object> otherMap : itemList) {
|
|
for (Map<String, Object> otherMap : itemList) {
|
|
|
- AfterwardsAuditDetail afterwardsAuditDetail = new AfterwardsAuditDetail();
|
|
|
|
|
- Double amount = (Double) otherMap.getOrDefault(Constant.AMOUNT_KEY, 0.0);
|
|
|
|
|
- afterwardsAuditDetail.setAmount(amount);
|
|
|
|
|
- afterwardsAuditDetail.setProejctCode(otherMap.get(Constant.PROJECT_CODE_KEY).toString());
|
|
|
|
|
- afterwardsAuditDetail.setProejctName(otherMap.get(Constant.PROJECT_NAME_KEY).toString());
|
|
|
|
|
- afterwardsAuditDetail.setMedicalProjectCode(otherMap.get(Constant.MEDICAL_PROJECT_CODE_KEY).toString());
|
|
|
|
|
- afterwardsAuditDetail.setMedicalProjectName(otherMap.get(Constant.MEDICAL_PROJECT_NAME_KEY).toString());
|
|
|
|
|
- afterwardsAuditDetail.setProjectType(otherMap.getOrDefault(Constant.PROJECT_TYPE_KEY, "default").toString());
|
|
|
|
|
- afterwardsAuditDetail.setMedicalDeptCode(afterwardsAudit.getMedicalDeptCode());
|
|
|
|
|
- afterwardsAuditDetail.setMedicalDeptName(afterwardsAudit.getMedicalDeptName());
|
|
|
|
|
-
|
|
|
|
|
- afterwardsAuditDetail.setCreateTime(date);
|
|
|
|
|
- afterwardsAuditDetail.setDoctorName(afterwardsAudit.getDoctorName());
|
|
|
|
|
- afterwardsAuditDetail.setDoctorId(afterwardsAudit.getDoctorId());
|
|
|
|
|
- afterwardsAuditDetail.setPatientId(afterwardsAudit.getPatientId());
|
|
|
|
|
- afterwardsAuditDetail.setPatientName(afterwardsAudit.getPatientName());
|
|
|
|
|
- afterwardsAuditDetail.setTreatmentType(itemMap.getOrDefault("VISIT_TYPE", "1").toString());
|
|
|
|
|
- afterwardsAuditDetail.setNoticeType("after");
|
|
|
|
|
- afterwardsAuditDetail.setMedicalInsRuleInfoCode(medicalInsRuleInfo.getRuleCode());
|
|
|
|
|
- afterwardsAuditDetail.setMedicalInsRuleInfoId(medicalInsRuleInfo.getId());
|
|
|
|
|
- afterwardsAuditDetail.setMedicalInsRuleInfoName(medicalInsRuleInfo.getRuleName());
|
|
|
|
|
- String desc = getDesc(medicalInsRuleInfo, itemMap);
|
|
|
|
|
- afterwardsAuditDetail.setDescription(desc);
|
|
|
|
|
- afterwardsAuditDetail.setOutpatientNumber(afterwardsAudit.getOutpatientNumber());
|
|
|
|
|
- afterwardsAuditDetail.setPrescriptionNumber(afterwardsAudit.getPrescriptionNumber());
|
|
|
|
|
-
|
|
|
|
|
- afterwardsAuditDetail.setViolationLevel(medicalInsRuleInfo.getViolationLevel());
|
|
|
|
|
- afterwardsAuditDetail.setTreatmentType(medicalInsRuleInfo.getTreatmentType());
|
|
|
|
|
- afterwardsAuditDetail.setAfterwardsAuditId(afterwardsAudit.getId());
|
|
|
|
|
- Object priceObj = otherMap.get(SystemEventAttrConstant.PRICE);
|
|
|
|
|
- if (priceObj != null) {
|
|
|
|
|
- afterwardsAuditDetail.setPrice(new BigDecimal(priceObj.toString()));
|
|
|
|
|
- }
|
|
|
|
|
- Object projectUseTime = otherMap.get(SystemEventAttrConstant.PROJECT_USE_TIME);
|
|
|
|
|
-
|
|
|
|
|
- String projectUseTimeStr = CommonUtil.getProjectUseTime(projectUseTime);
|
|
|
|
|
- afterwardsAuditDetail.setProjectUseTime(projectUseTimeStr);
|
|
|
|
|
-
|
|
|
|
|
|
|
+ AfterwardsAuditDetail afterwardsAuditDetail = getAfterDetailByMap(otherMap, afterwardsAudit, medicalInsRuleInfo);
|
|
|
afterwardsAuditDetail.setUseDay((Integer) itemMap.getOrDefault(SystemEventAttrConstant.USE_DAY, 1));
|
|
afterwardsAuditDetail.setUseDay((Integer) itemMap.getOrDefault(SystemEventAttrConstant.USE_DAY, 1));
|
|
|
afterwardsAuditDetail.setPatientAge(itemMap.getOrDefault(SystemEventAttrConstant.PATIENT_AGE_KEY, "1").toString());
|
|
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");
|
|
|
|
|
afterwardsAuditDetail.setAfterIncidentDetailLogId((Integer) itemMap.get(SystemEventAttrConstant.ITEMMAP_AFTER_INCIDENT_DETAIL_LOG_ID));
|
|
afterwardsAuditDetail.setAfterIncidentDetailLogId((Integer) itemMap.get(SystemEventAttrConstant.ITEMMAP_AFTER_INCIDENT_DETAIL_LOG_ID));
|
|
|
afterwardsAuditDetail.setMedicalInsRuleInfoId((Integer) itemMap.get(SystemEventAttrConstant.MEDICAL_INS_RULE_PROJECT_ID));
|
|
afterwardsAuditDetail.setMedicalInsRuleInfoId((Integer) itemMap.get(SystemEventAttrConstant.MEDICAL_INS_RULE_PROJECT_ID));
|
|
|
afterwardsAuditDetailList.add(afterwardsAuditDetail);
|
|
afterwardsAuditDetailList.add(afterwardsAuditDetail);
|
|
@@ -298,167 +249,86 @@ public class FactorEnchangeFactory {
|
|
|
}
|
|
}
|
|
|
afterwardsAuditDetailService.saveBatch(afterwardsAuditDetailList);
|
|
afterwardsAuditDetailService.saveBatch(afterwardsAuditDetailList);
|
|
|
} else {
|
|
} else {
|
|
|
- BigDecimal amount = (BigDecimal) itemMap.getOrDefault(Constant.AMOUNT_KEY, new BigDecimal(0));
|
|
|
|
|
- AfterwardsAuditDetail afterwardsAuditDetail = new AfterwardsAuditDetail();
|
|
|
|
|
- afterwardsAuditDetail.setProejctCode(itemMap.get(Constant.PROJECT_CODE_KEY).toString());
|
|
|
|
|
- afterwardsAuditDetail.setProejctName(itemMap.get(Constant.PROJECT_NAME_KEY).toString());
|
|
|
|
|
- afterwardsAuditDetail.setMedicalProjectCode(itemMap.get(Constant.MEDICAL_PROJECT_CODE_KEY).toString());
|
|
|
|
|
- afterwardsAuditDetail.setMedicalProjectName(itemMap.get(Constant.MEDICAL_PROJECT_NAME_KEY).toString());
|
|
|
|
|
- afterwardsAuditDetail.setProjectType(itemMap.getOrDefault(Constant.PROJECT_TYPE_KEY, "default").toString());
|
|
|
|
|
- afterwardsAuditDetail.setAmount(amount.doubleValue());
|
|
|
|
|
-
|
|
|
|
|
- afterwardsAuditDetail.setMedicalDeptCode(afterwardsAudit.getMedicalDeptCode());
|
|
|
|
|
- afterwardsAuditDetail.setMedicalDeptName(afterwardsAudit.getMedicalDeptName());
|
|
|
|
|
- Date date = new Date(System.currentTimeMillis());
|
|
|
|
|
- afterwardsAuditDetail.setCreateTime(date);
|
|
|
|
|
- afterwardsAuditDetail.setDoctorName(afterwardsAudit.getDoctorName());
|
|
|
|
|
- afterwardsAuditDetail.setDoctorId(afterwardsAudit.getDoctorId());
|
|
|
|
|
- afterwardsAuditDetail.setPatientId(afterwardsAudit.getPatientId());
|
|
|
|
|
- afterwardsAuditDetail.setPatientName(afterwardsAudit.getPatientName());
|
|
|
|
|
- afterwardsAuditDetail.setTreatmentType(itemMap.getOrDefault("VISIT_TYPE", "1").toString());
|
|
|
|
|
- afterwardsAuditDetail.setNoticeType("after");
|
|
|
|
|
- afterwardsAuditDetail.setMedicalInsRuleInfoCode(medicalInsRuleInfo.getRuleCode());
|
|
|
|
|
- afterwardsAuditDetail.setMedicalInsRuleInfoId(medicalInsRuleInfo.getId());
|
|
|
|
|
- afterwardsAuditDetail.setMedicalInsRuleInfoName(medicalInsRuleInfo.getRuleName());
|
|
|
|
|
- String desc = getDesc(medicalInsRuleInfo, itemMap);
|
|
|
|
|
- afterwardsAuditDetail.setDescription(desc);
|
|
|
|
|
- afterwardsAuditDetail.setOutpatientNumber(afterwardsAudit.getOutpatientNumber());
|
|
|
|
|
- afterwardsAuditDetail.setPrescriptionNumber(afterwardsAudit.getPrescriptionNumber());
|
|
|
|
|
-// afterwardsAuditDetail.setReminderLevel();
|
|
|
|
|
- afterwardsAuditDetail.setCreateBy("auto");
|
|
|
|
|
- Object projectUseTime = itemMap.get(SystemEventAttrConstant.PROJECT_USE_TIME);
|
|
|
|
|
-
|
|
|
|
|
- String projectUseTimeStr = CommonUtil.getProjectUseTime(projectUseTime);
|
|
|
|
|
- afterwardsAuditDetail.setProjectUseTime(projectUseTimeStr);
|
|
|
|
|
-
|
|
|
|
|
- afterwardsAuditDetail.setPatientAge(itemMap.getOrDefault(SystemEventAttrConstant.PATIENT_AGE_KEY, "1").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());
|
|
|
|
|
- afterwardsAuditDetail.setTreatmentType(medicalInsRuleInfo.getTreatmentType());
|
|
|
|
|
- afterwardsAuditDetail.setAfterwardsAuditId(afterwardsAudit.getId());
|
|
|
|
|
- afterwardsAuditDetail.setMedicalInsuranceMark(itemMap.get(Constant.MEDICAL_INSURANCE_MARK_KEY) != null ? itemMap.get(Constant.MEDICAL_INSURANCE_MARK_KEY).toString() : "0");
|
|
|
|
|
- afterwardsAuditDetail.setPrice(itemMap.get(SystemEventAttrConstant.PRICE) != null ? new BigDecimal(itemMap.get(SystemEventAttrConstant.PRICE).toString()) : null);
|
|
|
|
|
- afterwardsAuditDetail.setMedicalRuleProjectId((Integer) itemMap.get(SystemEventAttrConstant.MEDICAL_INS_RULE_PROJECT_ID));
|
|
|
|
|
- afterwardsAuditDetail.setAfterIncidentDetailLogId((Integer) itemMap.get(SystemEventAttrConstant.ITEMMAP_AFTER_INCIDENT_DETAIL_LOG_ID));
|
|
|
|
|
- afterwardsAuditService.lambdaUpdate().setSql("amount = amount +" + amount.doubleValue()).eq(AfterwardsAudit::getId, afterwardsAudit.getId()).update();
|
|
|
|
|
|
|
+ AfterwardsAuditDetail afterwardsAuditDetail = getAfterDetailByMap(itemMap, afterwardsAudit, medicalInsRuleInfo);
|
|
|
|
|
+ afterwardsAuditService.lambdaUpdate().setSql("amount = amount +" + afterwardsAuditDetail.getAmount().doubleValue()).eq(AfterwardsAudit::getId, afterwardsAudit.getId()).update();
|
|
|
afterwardsAuditDetailService.save(afterwardsAuditDetail);
|
|
afterwardsAuditDetailService.save(afterwardsAuditDetail);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public void insertMidWarningDetail(Map<String, Object> itemMap, MedicalInsRuleInfo medicalInsRuleInfo, MidIncidentAudit midIncidentAudit, List<Map<String, Object>> itemList) {
|
|
|
|
|
|
|
+ public AfterwardsAuditDetail getAfterDetailByMap(Map<String,Object> itemMap,AfterwardsAudit afterwardsAudit, MedicalInsRuleInfo medicalInsRuleInfo){
|
|
|
|
|
+ BigDecimal amount = (BigDecimal) itemMap.getOrDefault(Constant.AMOUNT_KEY, new BigDecimal(0));
|
|
|
|
|
+ AfterwardsAuditDetail afterwardsAuditDetail = new AfterwardsAuditDetail();
|
|
|
|
|
+ afterwardsAuditDetail.setProejctCode(itemMap.get(Constant.PROJECT_CODE_KEY).toString());
|
|
|
|
|
+ afterwardsAuditDetail.setProejctName(itemMap.get(Constant.PROJECT_NAME_KEY).toString());
|
|
|
|
|
+ afterwardsAuditDetail.setMedicalProjectCode(itemMap.get(Constant.MEDICAL_PROJECT_CODE_KEY).toString());
|
|
|
|
|
+ afterwardsAuditDetail.setMedicalProjectName(itemMap.get(Constant.MEDICAL_PROJECT_NAME_KEY).toString());
|
|
|
|
|
+ afterwardsAuditDetail.setProjectType(itemMap.getOrDefault(Constant.PROJECT_TYPE_KEY, "default").toString());
|
|
|
|
|
+ afterwardsAuditDetail.setAmount(amount.doubleValue());
|
|
|
|
|
+
|
|
|
|
|
+ afterwardsAuditDetail.setMedicalDeptCode(afterwardsAudit.getMedicalDeptCode());
|
|
|
|
|
+ afterwardsAuditDetail.setMedicalDeptName(afterwardsAudit.getMedicalDeptName());
|
|
|
|
|
+ Date date = new Date(System.currentTimeMillis());
|
|
|
|
|
+ afterwardsAuditDetail.setCreateTime(date);
|
|
|
|
|
+ afterwardsAuditDetail.setDoctorName(afterwardsAudit.getDoctorName());
|
|
|
|
|
+ afterwardsAuditDetail.setDoctorId(afterwardsAudit.getDoctorId());
|
|
|
|
|
+ afterwardsAuditDetail.setPatientId(afterwardsAudit.getPatientId());
|
|
|
|
|
+ afterwardsAuditDetail.setPatientName(afterwardsAudit.getPatientName());
|
|
|
|
|
+ afterwardsAuditDetail.setTreatmentType(itemMap.getOrDefault("VISIT_TYPE", "1").toString());
|
|
|
|
|
+ afterwardsAuditDetail.setNoticeType("after");
|
|
|
|
|
+ afterwardsAuditDetail.setMedicalInsRuleInfoCode(medicalInsRuleInfo.getRuleCode());
|
|
|
|
|
+ afterwardsAuditDetail.setMedicalInsRuleInfoId(medicalInsRuleInfo.getId());
|
|
|
|
|
+ afterwardsAuditDetail.setMedicalInsRuleInfoName(medicalInsRuleInfo.getRuleName());
|
|
|
|
|
+ String desc = getDesc(medicalInsRuleInfo, itemMap);
|
|
|
|
|
+ afterwardsAuditDetail.setDescription(desc);
|
|
|
|
|
+ afterwardsAuditDetail.setOutpatientNumber(afterwardsAudit.getOutpatientNumber());
|
|
|
|
|
+ afterwardsAuditDetail.setPrescriptionNumber(afterwardsAudit.getPrescriptionNumber());
|
|
|
|
|
+// afterwardsAuditDetail.setReminderLevel();
|
|
|
|
|
+ afterwardsAuditDetail.setCreateBy("auto");
|
|
|
|
|
+ Object projectUseTime = itemMap.get(SystemEventAttrConstant.PROJECT_USE_TIME);
|
|
|
|
|
+
|
|
|
|
|
+ String projectUseTimeStr = CommonUtil.getProjectUseTime(projectUseTime);
|
|
|
|
|
+ afterwardsAuditDetail.setProjectUseTime(projectUseTimeStr);
|
|
|
|
|
+
|
|
|
|
|
+ afterwardsAuditDetail.setPatientAge(itemMap.getOrDefault(SystemEventAttrConstant.PATIENT_AGE_KEY, "1").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());
|
|
|
|
|
+ afterwardsAuditDetail.setTreatmentType(medicalInsRuleInfo.getTreatmentType());
|
|
|
|
|
+ afterwardsAuditDetail.setAfterwardsAuditId(afterwardsAudit.getId());
|
|
|
|
|
+ afterwardsAuditDetail.setMedicalInsuranceMark(itemMap.get(Constant.MEDICAL_INSURANCE_MARK_KEY) != null ? itemMap.get(Constant.MEDICAL_INSURANCE_MARK_KEY).toString() : "0");
|
|
|
|
|
+ afterwardsAuditDetail.setPrice(itemMap.get(SystemEventAttrConstant.PRICE) != null ? new BigDecimal(itemMap.get(SystemEventAttrConstant.PRICE).toString()) : null);
|
|
|
|
|
+ afterwardsAuditDetail.setMedicalRuleProjectId((Integer) itemMap.get(SystemEventAttrConstant.MEDICAL_INS_RULE_PROJECT_ID));
|
|
|
|
|
+ afterwardsAuditDetail.setAfterIncidentDetailLogId((Integer) itemMap.get(SystemEventAttrConstant.ITEMMAP_AFTER_INCIDENT_DETAIL_LOG_ID));
|
|
|
|
|
+ return afterwardsAuditDetail;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
+ public void insertMidWarningDetail(Map<String, Object> itemMap, MedicalInsRuleInfo medicalInsRuleInfo, MidIncidentAudit midIncidentAudit, List<Map<String, Object>> itemList) {
|
|
|
if (Constant.VALIDATION_HANDER_METHOD_RETURN.equals(medicalInsRuleInfo.getViolationHandingMethod())) {
|
|
if (Constant.VALIDATION_HANDER_METHOD_RETURN.equals(medicalInsRuleInfo.getViolationHandingMethod())) {
|
|
|
midIncidentAuditService.lambdaUpdate().set(MidIncidentAudit::getAmount, midIncidentAudit.getAmount()).eq(MidIncidentAudit::getId, midIncidentAudit.getId()).update();
|
|
midIncidentAuditService.lambdaUpdate().set(MidIncidentAudit::getAmount, midIncidentAudit.getAmount()).eq(MidIncidentAudit::getId, midIncidentAudit.getId()).update();
|
|
|
List<MidIncidentAuditDetail> otherList = new ArrayList();
|
|
List<MidIncidentAuditDetail> otherList = new ArrayList();
|
|
|
for (Map<String, Object> otherItemMap : itemList) {
|
|
for (Map<String, Object> otherItemMap : itemList) {
|
|
|
- MidIncidentAuditDetail midIncidentAuditDetail = new MidIncidentAuditDetail();
|
|
|
|
|
- midIncidentAuditDetail.setMedicalDeptCode(itemMap.get("medical_dept_code").toString());
|
|
|
|
|
- midIncidentAuditDetail.setMedicalDeptName(itemMap.get("medical_dept_name").toString());
|
|
|
|
|
- Date date = new Date(System.currentTimeMillis());
|
|
|
|
|
- midIncidentAuditDetail.setCreateTime(date);
|
|
|
|
|
- midIncidentAuditDetail.setDoctorName(itemMap.get("doctor_name").toString());
|
|
|
|
|
- midIncidentAuditDetail.setDoctorId(itemMap.get("doctor_code").toString());
|
|
|
|
|
- midIncidentAuditDetail.setPatientId(itemMap.get("patient_id").toString());
|
|
|
|
|
- midIncidentAuditDetail.setPatientName(itemMap.get("patient_name").toString());
|
|
|
|
|
- String treatmentType = medicalInsRuleInfo.getTreatmentType();
|
|
|
|
|
- if (otherItemMap.containsKey("visit_type")) {
|
|
|
|
|
- treatmentType = otherItemMap.get("visit_type").toString();
|
|
|
|
|
|
|
+ MidIncidentAuditDetail midIncidentAuditDetail = getMidDetailByMap(midIncidentAudit, otherItemMap, medicalInsRuleInfo);
|
|
|
|
|
+ Object expenseCategory = itemMap.getOrDefault(SystemEventAttrConstant.EXPENSE_CATEGORY, "");
|
|
|
|
|
+ if (null != expenseCategory) {
|
|
|
|
|
+ midIncidentAuditDetail.setExpenseCategory(expenseCategory.toString());
|
|
|
}
|
|
}
|
|
|
- midIncidentAuditDetail.setTreatmentType(treatmentType);
|
|
|
|
|
- midIncidentAuditDetail.setNoticeType("middle");
|
|
|
|
|
- midIncidentAuditDetail.setMedicalInsRuleInfoCode(medicalInsRuleInfo.getRuleCode());
|
|
|
|
|
- midIncidentAuditDetail.setMedicalInsRuleInfoId(medicalInsRuleInfo.getId());
|
|
|
|
|
- midIncidentAuditDetail.setMedicalInsRuleInfoName(medicalInsRuleInfo.getRuleName());
|
|
|
|
|
- String desc = getDesc(medicalInsRuleInfo, itemMap);
|
|
|
|
|
- if (otherItemMap.containsKey(Constant.PROJECT_CODE_KEY)) {
|
|
|
|
|
- midIncidentAuditDetail.setProejctCode(otherItemMap.get(Constant.PROJECT_CODE_KEY).toString());
|
|
|
|
|
- midIncidentAuditDetail.setProejctName(otherItemMap.get(Constant.PROJECT_NAME_KEY).toString());
|
|
|
|
|
- midIncidentAuditDetail.setMedicalProjectCode(otherItemMap.get(Constant.MEDICAL_PROJECT_CODE_KEY).toString());
|
|
|
|
|
- midIncidentAuditDetail.setMedicalProjectName(otherItemMap.get(Constant.MEDICAL_PROJECT_NAME_KEY).toString());
|
|
|
|
|
- midIncidentAuditDetail.setProjectType(otherItemMap.getOrDefault(Constant.PROJECT_TYPE_KEY, "default").toString());
|
|
|
|
|
|
|
+ Object changeClass = itemMap.getOrDefault(SystemEventAttrConstant.HIS_CHANGE_CLASS, "");
|
|
|
|
|
+ if (null != changeClass) {
|
|
|
|
|
+ midIncidentAuditDetail.setChangeClass(changeClass.toString());
|
|
|
|
|
+ }
|
|
|
|
|
+ Object spelLog = itemMap.get(Constant.SPEL_LOG);
|
|
|
|
|
+ if (null != spelLog) {
|
|
|
|
|
+ midIncidentAuditDetail.setErrorDescription(spelLog.toString());
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- midIncidentAuditDetail.setDescription(desc);
|
|
|
|
|
- midIncidentAuditDetail.setOutpatientNumber(midIncidentAudit.getOutpatientNumber());
|
|
|
|
|
- midIncidentAuditDetail.setPrescriptionNumber(midIncidentAudit.getPrescriptionNumber());
|
|
|
|
|
- midIncidentAuditDetail.setViolationLevel(medicalInsRuleInfo.getViolationLevel());
|
|
|
|
|
- midIncidentAuditDetail.setTreatmentType(medicalInsRuleInfo.getTreatmentType());
|
|
|
|
|
- midIncidentAuditDetail.setMidIncidentAuditId(midIncidentAudit.getId());
|
|
|
|
|
-
|
|
|
|
|
- BigDecimal otherAmount = (BigDecimal) otherItemMap.getOrDefault(Constant.AMOUNT_KEY, 0);
|
|
|
|
|
- midIncidentAuditDetail.setAmount(otherAmount.doubleValue());
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- midIncidentAuditDetail.setDoseDay((Integer) otherItemMap.getOrDefault(SystemEventAttrConstant.DOSE_DAY, 0));
|
|
|
|
|
- midIncidentAuditDetail.setPrice((BigDecimal) otherItemMap.getOrDefault(SystemEventAttrConstant.PRICE, 0));
|
|
|
|
|
- midIncidentAuditDetail.setDoseForm((String) otherItemMap.getOrDefault(SystemEventAttrConstant.DOSE_FORM, ""));
|
|
|
|
|
- midIncidentAuditDetail.setTakeFrequence((String) otherItemMap.getOrDefault(SystemEventAttrConstant.TAKE_FREQUENCE, ""));
|
|
|
|
|
- midIncidentAuditDetail.setSingleDoseNumber((Integer) otherItemMap.getOrDefault(SystemEventAttrConstant.SINGLE_DOSE_NUMBER, 0));
|
|
|
|
|
- midIncidentAuditDetail.setSingleDoseUnit((String) otherItemMap.getOrDefault(SystemEventAttrConstant.SINGLE_DOSE_UNIT, ""));
|
|
|
|
|
- midIncidentAuditDetail.setMedicalSpecification((String) otherItemMap.getOrDefault(SystemEventAttrConstant.MEDICAL_SPECIFICATION, ""));
|
|
|
|
|
- midIncidentAuditDetail.setMedicalNumber((Float) otherItemMap.getOrDefault(SystemEventAttrConstant.QUANTITY, 0));
|
|
|
|
|
- midIncidentAuditDetail.setDoseUnit((String) otherItemMap.getOrDefault(SystemEventAttrConstant.DOSE_UNIT, ""));
|
|
|
|
|
- midIncidentAuditDetail.setUseDay((Integer) otherItemMap.getOrDefault(SystemEventAttrConstant.USE_DAY, 0));
|
|
|
|
|
otherList.add(midIncidentAuditDetail);
|
|
otherList.add(midIncidentAuditDetail);
|
|
|
}
|
|
}
|
|
|
midIncidentAuditDetailService.saveBatch(otherList);
|
|
midIncidentAuditDetailService.saveBatch(otherList);
|
|
|
} else {
|
|
} else {
|
|
|
- MidIncidentAuditDetail midIncidentAuditDetail = new MidIncidentAuditDetail();
|
|
|
|
|
- midIncidentAuditDetail.setAmount(midIncidentAudit.getAmount());
|
|
|
|
|
- midIncidentAuditDetail.setMedicalDeptCode(itemMap.get("medical_dept_code").toString());
|
|
|
|
|
- midIncidentAuditDetail.setMedicalDeptName(itemMap.get("medical_dept_name").toString());
|
|
|
|
|
- Date date = new Date(System.currentTimeMillis());
|
|
|
|
|
- midIncidentAuditDetail.setCreateTime(date);
|
|
|
|
|
- midIncidentAuditDetail.setDoctorName(itemMap.get("doctor_name").toString());
|
|
|
|
|
- midIncidentAuditDetail.setDoctorId(itemMap.get("doctor_code").toString());
|
|
|
|
|
- midIncidentAuditDetail.setPatientId(itemMap.get("patient_id").toString());
|
|
|
|
|
- midIncidentAuditDetail.setPatientName(itemMap.get("patient_name").toString());
|
|
|
|
|
- String treatmentType = medicalInsRuleInfo.getTreatmentType();
|
|
|
|
|
- if (itemMap.containsKey("visit_type")) {
|
|
|
|
|
- treatmentType = itemMap.get("visit_type").toString();
|
|
|
|
|
- }
|
|
|
|
|
- midIncidentAuditDetail.setTreatmentType(treatmentType);
|
|
|
|
|
- midIncidentAuditDetail.setNoticeType("middle");
|
|
|
|
|
- midIncidentAuditDetail.setMedicalInsRuleInfoCode(medicalInsRuleInfo.getRuleCode());
|
|
|
|
|
- midIncidentAuditDetail.setMedicalInsRuleInfoId(medicalInsRuleInfo.getId());
|
|
|
|
|
- midIncidentAuditDetail.setMedicalInsRuleInfoName(medicalInsRuleInfo.getRuleName());
|
|
|
|
|
- String desc = getDesc(medicalInsRuleInfo, itemMap);
|
|
|
|
|
- midIncidentAuditDetail.setDescription(desc);
|
|
|
|
|
- midIncidentAuditDetail.setOutpatientNumber(midIncidentAudit.getOutpatientNumber());
|
|
|
|
|
- midIncidentAuditDetail.setPrescriptionNumber(midIncidentAudit.getPrescriptionNumber());
|
|
|
|
|
- midIncidentAuditDetail.setViolationLevel(medicalInsRuleInfo.getViolationLevel());
|
|
|
|
|
- midIncidentAuditDetail.setTreatmentType(medicalInsRuleInfo.getTreatmentType());
|
|
|
|
|
- midIncidentAuditDetail.setMidIncidentAuditId(midIncidentAudit.getId());
|
|
|
|
|
- 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.setDoseDay(Integer.parseInt(itemMap.getOrDefault(SystemEventAttrConstant.DOSE_DAY, 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, ""));
|
|
|
|
|
- Integer singleDoseNum = Integer.parseInt(itemMap.getOrDefault(SystemEventAttrConstant.SINGLE_DOSE_NUMBER, "0").toString());
|
|
|
|
|
- midIncidentAuditDetail.setSingleDoseNumber(singleDoseNum);
|
|
|
|
|
- midIncidentAuditDetail.setSingleDoseUnit((String) itemMap.getOrDefault(SystemEventAttrConstant.SINGLE_DOSE_UNIT, ""));
|
|
|
|
|
- midIncidentAuditDetail.setMedicalSpecification((String) itemMap.getOrDefault(SystemEventAttrConstant.MEDICAL_SPECIFICATION, ""));
|
|
|
|
|
- Float quantity = Float.parseFloat(itemMap.getOrDefault(SystemEventAttrConstant.QUANTITY, "1").toString());
|
|
|
|
|
- midIncidentAuditDetail.setMedicalNumber(quantity);
|
|
|
|
|
- midIncidentAuditDetail.setDoseUnit((String) itemMap.getOrDefault(SystemEventAttrConstant.DOSE_UNIT, ""));
|
|
|
|
|
- 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());
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ MidIncidentAuditDetail midIncidentAuditDetail = getMidDetailByMap(midIncidentAudit, itemMap, medicalInsRuleInfo);
|
|
|
Double amount = (Double) itemMap.getOrDefault(Constant.AMOUNT_KEY, 0.0);
|
|
Double amount = (Double) itemMap.getOrDefault(Constant.AMOUNT_KEY, 0.0);
|
|
|
-
|
|
|
|
|
midIncidentAuditService.lambdaUpdate().setSql("amount = amount +" + amount.doubleValue()).eq(MidIncidentAudit::getId, midIncidentAudit.getId()).update();
|
|
midIncidentAuditService.lambdaUpdate().setSql("amount = amount +" + amount.doubleValue()).eq(MidIncidentAudit::getId, midIncidentAudit.getId()).update();
|
|
|
midIncidentAuditDetailService.save(midIncidentAuditDetail);
|
|
midIncidentAuditDetailService.save(midIncidentAuditDetail);
|
|
|
}
|
|
}
|
|
@@ -466,6 +336,68 @@ public class FactorEnchangeFactory {
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ public MidIncidentAuditDetail getMidDetailByMap(MidIncidentAudit midIncidentAudit, Map<String, Object> itemMap, MedicalInsRuleInfo medicalInsRuleInfo) {
|
|
|
|
|
+ MidIncidentAuditDetail midIncidentAuditDetail = new MidIncidentAuditDetail();
|
|
|
|
|
+ midIncidentAuditDetail.setAmount(midIncidentAudit.getAmount());
|
|
|
|
|
+ midIncidentAuditDetail.setMedicalDeptCode(itemMap.get("medical_dept_code").toString());
|
|
|
|
|
+ midIncidentAuditDetail.setMedicalDeptName(itemMap.get("medical_dept_name").toString());
|
|
|
|
|
+ Date date = new Date(System.currentTimeMillis());
|
|
|
|
|
+ midIncidentAuditDetail.setCreateTime(date);
|
|
|
|
|
+ midIncidentAuditDetail.setDoctorName(itemMap.get("doctor_name").toString());
|
|
|
|
|
+ midIncidentAuditDetail.setDoctorId(itemMap.get("doctor_code").toString());
|
|
|
|
|
+ midIncidentAuditDetail.setPatientId(itemMap.get("patient_id").toString());
|
|
|
|
|
+ midIncidentAuditDetail.setPatientName(itemMap.get("patient_name").toString());
|
|
|
|
|
+ String treatmentType = medicalInsRuleInfo.getTreatmentType();
|
|
|
|
|
+ if (itemMap.containsKey("visit_type")) {
|
|
|
|
|
+ treatmentType = itemMap.get("visit_type").toString();
|
|
|
|
|
+ }
|
|
|
|
|
+ midIncidentAuditDetail.setTreatmentType(treatmentType);
|
|
|
|
|
+ midIncidentAuditDetail.setNoticeType("middle");
|
|
|
|
|
+ midIncidentAuditDetail.setMedicalInsRuleInfoCode(medicalInsRuleInfo.getRuleCode());
|
|
|
|
|
+ midIncidentAuditDetail.setMedicalInsRuleInfoId(medicalInsRuleInfo.getId());
|
|
|
|
|
+ midIncidentAuditDetail.setMedicalInsRuleInfoName(medicalInsRuleInfo.getRuleName());
|
|
|
|
|
+ String desc = getDesc(medicalInsRuleInfo, itemMap);
|
|
|
|
|
+ midIncidentAuditDetail.setDescription(desc);
|
|
|
|
|
+ midIncidentAuditDetail.setOutpatientNumber(midIncidentAudit.getOutpatientNumber());
|
|
|
|
|
+ midIncidentAuditDetail.setPrescriptionNumber(midIncidentAudit.getPrescriptionNumber());
|
|
|
|
|
+ midIncidentAuditDetail.setViolationLevel(medicalInsRuleInfo.getViolationLevel());
|
|
|
|
|
+ midIncidentAuditDetail.setTreatmentType(medicalInsRuleInfo.getTreatmentType());
|
|
|
|
|
+ midIncidentAuditDetail.setMidIncidentAuditId(midIncidentAudit.getId());
|
|
|
|
|
+ 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.setDoseDay(Integer.parseInt(itemMap.getOrDefault(SystemEventAttrConstant.DOSE_DAY, 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, ""));
|
|
|
|
|
+ Integer singleDoseNum = Integer.parseInt(itemMap.getOrDefault(SystemEventAttrConstant.SINGLE_DOSE_NUMBER, "0").toString());
|
|
|
|
|
+ midIncidentAuditDetail.setSingleDoseNumber(singleDoseNum);
|
|
|
|
|
+ midIncidentAuditDetail.setSingleDoseUnit((String) itemMap.getOrDefault(SystemEventAttrConstant.SINGLE_DOSE_UNIT, ""));
|
|
|
|
|
+ midIncidentAuditDetail.setMedicalSpecification((String) itemMap.getOrDefault(SystemEventAttrConstant.MEDICAL_SPECIFICATION, ""));
|
|
|
|
|
+ Float quantity = Float.parseFloat(itemMap.getOrDefault(SystemEventAttrConstant.QUANTITY, "1").toString());
|
|
|
|
|
+ midIncidentAuditDetail.setMedicalNumber(quantity);
|
|
|
|
|
+ midIncidentAuditDetail.setDoseUnit((String) itemMap.getOrDefault(SystemEventAttrConstant.DOSE_UNIT, ""));
|
|
|
|
|
+ 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 expenseCategory = itemMap.getOrDefault(SystemEventAttrConstant.EXPENSE_CATEGORY, "");
|
|
|
|
|
+ if (null != expenseCategory) {
|
|
|
|
|
+ midIncidentAuditDetail.setExpenseCategory(expenseCategory.toString());
|
|
|
|
|
+ }
|
|
|
|
|
+ Object changeClass = itemMap.getOrDefault(SystemEventAttrConstant.HIS_CHANGE_CLASS, "");
|
|
|
|
|
+ if (null != changeClass) {
|
|
|
|
|
+ midIncidentAuditDetail.setChangeClass(changeClass.toString());
|
|
|
|
|
+ }
|
|
|
|
|
+ Object spelLog = itemMap.get(Constant.SPEL_LOG);
|
|
|
|
|
+ if (null != spelLog) {
|
|
|
|
|
+ midIncidentAuditDetail.setErrorDescription(spelLog.toString());
|
|
|
|
|
+ }
|
|
|
|
|
+ return midIncidentAuditDetail;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
public String getDesc(MedicalInsRuleInfo medicalInsRuleInfo, Map<String, Object> itemMap) {
|
|
public String getDesc(MedicalInsRuleInfo medicalInsRuleInfo, Map<String, Object> itemMap) {
|
|
|
String desc = medicalInsRuleInfo.getViolationDesc();
|
|
String desc = medicalInsRuleInfo.getViolationDesc();
|
|
|
Object descObject = redisTemplate.opsForHash().get(Constant.PROJECT_VOLIDATION_DESC_KEY + medicalInsRuleInfo.getId(), itemMap.get(Constant.MEDICAL_PROJECT_NAME_KEY).toString());
|
|
Object descObject = redisTemplate.opsForHash().get(Constant.PROJECT_VOLIDATION_DESC_KEY + medicalInsRuleInfo.getId(), itemMap.get(Constant.MEDICAL_PROJECT_NAME_KEY).toString());
|