BackTask.java 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. package com.zskk.task;
  2. import java.text.ParseException;
  3. import java.text.SimpleDateFormat;
  4. import java.util.Date;
  5. import java.util.HashMap;
  6. import java.util.Map;
  7. import com.alibaba.fastjson.JSON;
  8. import com.alibaba.fastjson.JSONArray;
  9. import com.alibaba.fastjson.JSONObject;
  10. import com.jfinal.kit.PropKit;
  11. import com.jfinal.plugin.activerecord.Db;
  12. import com.jfinal.plugin.activerecord.Record;
  13. import com.jfinal.plugin.cron4j.ITask;
  14. import com.zskk.service.DataService;
  15. import com.zskk.service.ServiceFactory;
  16. import com.zskk.service.ThreadPoolService;
  17. public class BackTask implements ITask {
  18. @Override
  19. public void run() {
  20. // TODO Auto-generated method stub
  21. DataService dService = ServiceFactory.getService(DataService.class);
  22. Map<String, String> params = new HashMap<>();
  23. //报告状态
  24. params.put("report_status", "9");
  25. //医疗机构ID
  26. params.put("institution_id", PropKit.get("institution_id"));
  27. //时间段
  28. params.put("time", parseStringToDate());
  29. JSONArray jsonArray = dService.getReport(params);
  30. for (Object object : jsonArray) {
  31. JSONObject jsonObject = JSON.parseObject(object.toString());
  32. Record recordfind = Db.use("local").findFirst("select * from report where studyuid=?", jsonObject.getString("studyuid"));;
  33. if (recordfind != null) {
  34. continue;
  35. }
  36. Record record = new Record();
  37. record.set("name", jsonObject.getString("name"));
  38. record.set("sex", jsonObject.getString("sex"));
  39. record.set("phone", jsonObject.getString("phone"));
  40. record.set("card_num", jsonObject.getString("card_num"));
  41. record.set("hopitalized_no", jsonObject.getString("hopitalized_no"));
  42. record.set("out_patient", jsonObject.getString("out_patient"));
  43. record.set("accession_num", jsonObject.getString("accession_num"));
  44. record.set("patient_num", jsonObject.getString("patient_num"));
  45. record.set("studyuid", jsonObject.getString("studyuid"));
  46. record.set("his_patient_id", jsonObject.getString("his_patient_id"));
  47. record.set("impression", jsonObject.getString("impression"));
  48. record.set("description", jsonObject.getString("description"));
  49. record.set("report_datetime", jsonObject.getString("report_datetime"));
  50. record.set("report_doctor_name", jsonObject.getString("report_doctor_name"));
  51. record.set("review_doctor_name", jsonObject.getString("review_doctor_name"));
  52. record.set("review_datetime", jsonObject.getString("review_datetime"));
  53. record.set("report_result", jsonObject.getString("report_result"));
  54. record.set("status", 1);
  55. Db.use("local").save("report", record);
  56. }
  57. }
  58. @Override
  59. public void stop() {
  60. // TODO Auto-generated method stub
  61. }
  62. /**
  63. * 日期字符串格式转换
  64. * @param dateStr
  65. * @return
  66. */
  67. private String parseStringToDate() {
  68. SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  69. Date date = new Date();
  70. Long dateBeforeLong = date.getTime()-86400000;
  71. Date dateBefore = new Date(dateBeforeLong);
  72. String timeStringBefore = sdf.format(dateBefore);
  73. String timeString = sdf.format(date);
  74. return timeStringBefore + "," + timeString;
  75. }
  76. }