|
|
@@ -536,6 +536,67 @@ public class ClinicController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 异常数据修复
|
|
|
+ * @param patientId
|
|
|
+ * @param times
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @UserLoginToken
|
|
|
+ @RequestMapping(value = "/initClinicForException", method = {RequestMethod.GET})
|
|
|
+ public Map<String, Object> initClinicForException(@RequestParam("patientId") String patientId, @RequestParam("times") Integer times) {
|
|
|
+ Map<String, Object> resultMap = new HashMap<>();
|
|
|
+ try {
|
|
|
+ if (StringUtils.isBlank(patientId)) {
|
|
|
+ resultMap.put("code", -1);
|
|
|
+ resultMap.put("message", "异常数据修复失败,患者ID为空");
|
|
|
+ return resultMap;
|
|
|
+ }
|
|
|
+ if (times==null) {
|
|
|
+ resultMap.put("code", -1);
|
|
|
+ resultMap.put("message", "异常数据修复失败,就诊次数为空");
|
|
|
+ return resultMap;
|
|
|
+ }
|
|
|
+ Clinic clinic = clinicService.queryByPatientIdAndTimesAndReceiptNo(patientId,times,0);
|
|
|
+ if(clinic!=null){
|
|
|
+ resultMap.put("code", -1);
|
|
|
+ resultMap.put("message", "异常数据修复失败,本次就诊记录已存在,无需修复!");
|
|
|
+ return resultMap;
|
|
|
+
|
|
|
+ }
|
|
|
+ MzVisitTable mzVisitTable = mzVisitTableService.queryByPatientIdAndTimes(patientId,times);
|
|
|
+ clinic = new Clinic();
|
|
|
+ clinic.setPatientId(mzVisitTable.getPatientId());
|
|
|
+ MzPatientMi mzPatientMi = mzPatientMiService.queryByPatientId(mzVisitTable.getPatientId());
|
|
|
+ if (mzPatientMi != null) {
|
|
|
+ clinic.setPatientName(mzPatientMi.getName());
|
|
|
+ } else {
|
|
|
+ clinic.setPatientName("");
|
|
|
+ }
|
|
|
+ clinic.setTimes(mzVisitTable.getTimes());
|
|
|
+ clinic.setReceiptNo(mzVisitTable.getReceiptNo());
|
|
|
+ clinic.setDeptCode(mzVisitTable.getVisitDeptCode());
|
|
|
+ clinic.setDoctorCode(mzVisitTable.getDoctorCode());
|
|
|
+ clinic.setIcdCode(StringUtils.isNotBlank(mzVisitTable.getIcdCode()) ? mzVisitTable.getIcdCode().trim() : null);
|
|
|
+ clinic.setIcdText(StringUtils.isNotBlank(mzVisitTable.getIcdText()) ? mzVisitTable.getIcdText().trim() : null);
|
|
|
+ clinic.setOpDay(mzVisitTable.getOpDay());
|
|
|
+ clinic.setFirstOrNot(mzVisitTable.getFirstOrNot());
|
|
|
+ clinic.setOpId(StringUtils.isNotBlank(mzVisitTable.getDoctorCode()) ? mzVisitTable.getDoctorCode() : mzVisitTable.getOpId());
|
|
|
+ clinic.setClinicStatus(ClinicStatusEnum.HAD_CLINIC.code);
|
|
|
+ clinicService.saveClinic(clinic);
|
|
|
+ log.info("=====>>>>>异常数据修复,患者ID{},就诊次数{},异常数据修复完成",patientId,times);
|
|
|
+ resultMap.put("code", 0);
|
|
|
+ resultMap.put("message", "异常数据修复成功");
|
|
|
+ return resultMap;
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ log.error("异常数据修复失败,错误信息{}", e);
|
|
|
+ resultMap.put("code", -1);
|
|
|
+ resultMap.put("message", "异常数据修复失败");
|
|
|
+ return resultMap;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* 供定时任务调用的 初始化就诊记录表
|
|
|
@@ -549,10 +610,12 @@ public class ClinicController {
|
|
|
if (StringUtils.isBlank(beginDate)) {
|
|
|
resultMap.put("code", -1);
|
|
|
resultMap.put("message", "初始化就诊记录表失败,开始时间为空");
|
|
|
+ return resultMap;
|
|
|
}
|
|
|
if (StringUtils.isBlank(endDate)) {
|
|
|
resultMap.put("code", -1);
|
|
|
resultMap.put("message", "初始化就诊记录表失败,结束时间为空");
|
|
|
+ return resultMap;
|
|
|
}
|
|
|
Date beginTime = DateUtil.pase(beginDate, "yyyy-MM-dd HH:mm:ss");
|
|
|
Date endTime = DateUtil.pase(endDate, "yyyy-MM-dd HH:mm:ss");
|
|
|
@@ -577,6 +640,8 @@ public class ClinicController {
|
|
|
}
|
|
|
|
|
|
|
|
|
+
|
|
|
+
|
|
|
private void process(Date beginTime, Date endTime, Set<String> set) {
|
|
|
// List<MzVisitTable> mzVisitTableList = mzVisitTableService.queryByDateRages(beginTime, endTime, "mz_visit_table_b");
|
|
|
// setClinic(mzVisitTableList, set);
|