package com.zskk.task; import java.util.HashMap; import java.util.Map; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.jfinal.plugin.activerecord.Db; import com.jfinal.plugin.activerecord.Record; import com.jfinal.plugin.cron4j.ITask; import com.zskk.service.DataService; import com.zskk.service.ServiceFactory; import com.zskk.service.ThreadPoolService; public class DataTask implements ITask { @Override public void run() { // TODO Auto-generated method stub DataService dService = ServiceFactory.getService(DataService.class); JSONArray jsonArray = dService.getExamList(30); for (Object object : jsonArray) { JSONObject jsonObject = JSON.parseObject(object.toString()); Record record = Db.use("connected").findFirst("select * from reportinfo where PatientID=?", jsonObject.getString("accession_num")); if (record == null) { continue; } if (record.getStr("impression") == null && record.getStr("description") == null) { continue; } Map params = new HashMap<>(); params.put("exam_id", jsonObject.getString("id")); //报告医生姓名 params.put("report_doctor_name", record.getStr("reportdoctor")); //报告时间 params.put("report_datetime", record.getStr("reportdate")); //审核医生姓名 params.put("review_doctor_name", record.getStr("reviewdoctor")); //审核时间 params.put("review_datetime", record.getStr("reportdate")); //确认医生姓名 params.put("confirm_doctor_name", record.getStr("reviewdoctor")); //确认时间 params.put("confirm_datetime", record.getStr("reportdate")); //意见建议 params.put("impression", record.getStr("impression")); //影像所见 params.put("description", record.getStr("description")); //exams表 //申请科室 params.put("application_department", record.getStr("department")); //申请医生 params.put("application_doctor", record.getStr("clinicaldoctor")); //临床诊断 params.put("clin_diag", ""); //症状 params.put("clin_symp", ""); //patient_infos表 //患者姓名 params.put("name", record.getStr("patientname")); //患者手机号 params.put("phone", ""); //患者身份证号 params.put("card_num", ""); params.put("report_result", record.getStr("result").equals("1")?"2":"1"); ThreadPoolService tService = ServiceFactory.getService(ThreadPoolService.class); tService.execute(() -> { dService.saveReport(params); }); } } @Override public void stop() { // TODO Auto-generated method stub } }