|
@@ -1,7 +1,10 @@
|
|
|
package org.jeecg.modules.medical.job;
|
|
package org.jeecg.modules.medical.job;
|
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
+import org.apache.commons.lang.StringUtils;
|
|
|
import org.jeecg.modules.medical.Constant;
|
|
import org.jeecg.modules.medical.Constant;
|
|
|
|
|
+import org.jeecg.modules.medical.common.CommonUtil;
|
|
|
import org.jeecg.modules.medical.entity.AfterIncidentDetailLog;
|
|
import org.jeecg.modules.medical.entity.AfterIncidentDetailLog;
|
|
|
import org.jeecg.modules.medical.entity.AfterIncidentLog;
|
|
import org.jeecg.modules.medical.entity.AfterIncidentLog;
|
|
|
import org.jeecg.modules.medical.entity.HospitalizatioSettleDetail;
|
|
import org.jeecg.modules.medical.entity.HospitalizatioSettleDetail;
|
|
@@ -20,13 +23,13 @@ import org.quartz.JobExecutionException;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.scheduling.annotation.Async;
|
|
import org.springframework.scheduling.annotation.Async;
|
|
|
|
|
|
|
|
-import java.math.BigDecimal;
|
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 事后监管任务生成
|
|
* 事后监管任务生成
|
|
|
*/
|
|
*/
|
|
|
|
|
+@Slf4j
|
|
|
public class AfterWaringLogJob implements Job {
|
|
public class AfterWaringLogJob implements Job {
|
|
|
@Autowired
|
|
@Autowired
|
|
|
IAfterIncidentLogService afterIncidentLogService;
|
|
IAfterIncidentLogService afterIncidentLogService;
|
|
@@ -55,7 +58,8 @@ public class AfterWaringLogJob implements Job {
|
|
|
@Async("commonTaskAsyncPool")
|
|
@Async("commonTaskAsyncPool")
|
|
|
public void dealAftertask(MasterAdmissionBill masterAdmissionBill) {
|
|
public void dealAftertask(MasterAdmissionBill masterAdmissionBill) {
|
|
|
boolean updateCount = masterAdmissionBillService.lambdaUpdate().set(MasterAdmissionBill::getState, Constant.DEALING).eq(MasterAdmissionBill::getId, masterAdmissionBill.getId()).update();
|
|
boolean updateCount = masterAdmissionBillService.lambdaUpdate().set(MasterAdmissionBill::getState, Constant.DEALING).eq(MasterAdmissionBill::getId, masterAdmissionBill.getId()).update();
|
|
|
- if(!updateCount){
|
|
|
|
|
|
|
+ if (!updateCount) {
|
|
|
|
|
+ log.error("住院结算主单为:{} 未更新到处理状态", masterAdmissionBill.getId());
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
AfterIncidentLog afterIncidentLog = afterIncidentLogService.addAfterIncidentLog(masterAdmissionBill);
|
|
AfterIncidentLog afterIncidentLog = afterIncidentLogService.addAfterIncidentLog(masterAdmissionBill);
|
|
@@ -74,8 +78,17 @@ public class AfterWaringLogJob implements Job {
|
|
|
afterIncidentDetailLog.setMedical_diagnose_name_str(masterAdmissionBill.getYbAdmissionDiseaseName());
|
|
afterIncidentDetailLog.setMedical_diagnose_name_str(masterAdmissionBill.getYbAdmissionDiseaseName());
|
|
|
afterIncidentDetailLog.setMedical_diagnose_code_str(masterAdmissionBill.getYbAdmissionDiseaseId());
|
|
afterIncidentDetailLog.setMedical_diagnose_code_str(masterAdmissionBill.getYbAdmissionDiseaseId());
|
|
|
afterIncidentDetailLog.setAmount(hospitalizatioSettleDetail.getCost());
|
|
afterIncidentDetailLog.setAmount(hospitalizatioSettleDetail.getCost());
|
|
|
- afterIncidentDetailLog.setMedical_project_code(hospitalizatioSettleDetail.getItemId());
|
|
|
|
|
- afterIncidentDetailLog.setMedical_project_name(hospitalizatioSettleDetail.getItemName());
|
|
|
|
|
|
|
+
|
|
|
|
|
+ if (StringUtils.isNotBlank(hospitalizatioSettleDetail.getItemId())) {
|
|
|
|
|
+ afterIncidentDetailLog.setMedical_project_code(hospitalizatioSettleDetail.getItemId());
|
|
|
|
|
+ afterIncidentDetailLog.setMedical_project_name(hospitalizatioSettleDetail.getItemName());
|
|
|
|
|
+ } else {
|
|
|
|
|
+ String[] itemIdNameArr = CommonUtil.getMedicalCodeAndName(hospitalizatioSettleDetail.getItemId());
|
|
|
|
|
+ if (null != itemIdNameArr) {
|
|
|
|
|
+ afterIncidentDetailLog.setMedical_project_code(itemIdNameArr[0]);
|
|
|
|
|
+ afterIncidentDetailLog.setMedical_project_name(itemIdNameArr[1]);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
afterIncidentDetailLog.setProject_name(hospitalizatioSettleDetail.getItemNameHosp());
|
|
afterIncidentDetailLog.setProject_name(hospitalizatioSettleDetail.getItemNameHosp());
|
|
|
afterIncidentDetailLog.setProject_code(hospitalizatioSettleDetail.getItemIdHosp());
|
|
afterIncidentDetailLog.setProject_code(hospitalizatioSettleDetail.getItemIdHosp());
|
|
|
afterIncidentDetailLog.setCreateTime(afterIncidentLog.getCreateTime());
|
|
afterIncidentDetailLog.setCreateTime(afterIncidentLog.getCreateTime());
|
|
@@ -101,6 +114,18 @@ public class AfterWaringLogJob implements Job {
|
|
|
afterIncidentDetailLog.setPatient_id(masterAdmissionBill.getPatientId());
|
|
afterIncidentDetailLog.setPatient_id(masterAdmissionBill.getPatientId());
|
|
|
afterIncidentDetailLog.setPatient_name(masterAdmissionBill.getPatientName());
|
|
afterIncidentDetailLog.setPatient_name(masterAdmissionBill.getPatientName());
|
|
|
afterIncidentDetailLog.setPatient_age(masterAdmissionBill.getPatientAge());
|
|
afterIncidentDetailLog.setPatient_age(masterAdmissionBill.getPatientAge());
|
|
|
|
|
+ afterIncidentDetailLog.setDischarge_status(masterAdmissionBill.getDischargeStatus());
|
|
|
|
|
+// afterIncidentDetailLog.setSingle_dose_number();
|
|
|
|
|
+// afterIncidentDetailLog.setSingle_dose_unit();
|
|
|
|
|
+ afterIncidentDetailLog.setVisit_no(masterAdmissionBill.getZyh());
|
|
|
|
|
+ afterIncidentDetailLog.setRecipe_no(masterAdmissionBill.getRecipeNo());
|
|
|
|
|
+ afterIncidentDetailLog.setVisit_type(Constant.TREAMENT_TYPE_HOSP);
|
|
|
|
|
+ afterIncidentDetailLog.setState(Constant.WATING);
|
|
|
|
|
+ String projectType = CommonUtil.getProjectType(afterIncidentDetailLog.getMedical_project_code());
|
|
|
|
|
+ afterIncidentDetailLog.setProject_type(projectType);
|
|
|
|
|
+ afterIncidentDetailLog.setQuantity(hospitalizatioSettleDetail.getNum());
|
|
|
|
|
+ afterIncidentDetailLog.setPatient_gender(masterAdmissionBill.getPatientGender());
|
|
|
|
|
+// afterIncidentDetailLog.setInvoice_project()
|
|
|
// afterIncidentDetailLog.setOrderType();
|
|
// afterIncidentDetailLog.setOrderType();
|
|
|
// afterIncidentDetailLog.setOrderCatalog();
|
|
// afterIncidentDetailLog.setOrderCatalog();
|
|
|
afterIncidentDetailLogList.add(afterIncidentDetailLog);
|
|
afterIncidentDetailLogList.add(afterIncidentDetailLog);
|