OverdueJob.java 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package com.yihu.jw.util;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
  4. import com.yihu.jw.entity.hospital.prescription.WlyyOutpatientDO;
  5. import com.yihu.jw.job.PrescriptionOverdueJob;
  6. import com.yihu.jw.service.channel.PrescriptionStatusUpdateService;
  7. import com.yihu.jw.util.date.DateUtil;
  8. import org.apache.commons.lang3.StringUtils;
  9. import org.slf4j.Logger;
  10. import org.slf4j.LoggerFactory;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.context.annotation.Lazy;
  13. import org.springframework.scheduling.Trigger;
  14. import org.springframework.scheduling.TriggerContext;
  15. import org.springframework.scheduling.annotation.EnableScheduling;
  16. import org.springframework.scheduling.annotation.SchedulingConfigurer;
  17. import org.springframework.scheduling.config.ScheduledTaskRegistrar;
  18. import org.springframework.scheduling.support.CronTrigger;
  19. import org.springframework.stereotype.Component;
  20. import java.util.Date;
  21. import java.util.List;
  22. @Lazy(false)
  23. @Component
  24. @EnableScheduling
  25. public class OverdueJob implements SchedulingConfigurer {
  26. private static final Logger logger = LoggerFactory.getLogger(OverdueJob.class);
  27. private static String cron = "0 */5 * * * ?";//"0 0 0 * * ?";0 */5 * * * ?
  28. public OverdueJob(){
  29. cron="0 */5 * * * ?";
  30. System.out.println("初始化时的corn"+cron);
  31. }
  32. @Autowired
  33. private PrescriptionStatusUpdateService prescriptionStatusUpdateService;
  34. public String change(String corIn) {
  35. if (StringUtils.isNotBlank(corIn)) {
  36. cron = corIn;
  37. }
  38. return cron;
  39. }
  40. @Override
  41. public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
  42. taskRegistrar.addTriggerTask(new Runnable() {
  43. @Override
  44. public void run() {
  45. logger.info("START========OverdueJob========");
  46. try {
  47. prescriptionStatusUpdateService.setOutPatientOver();
  48. logger.info("END========OverdueJob========");
  49. } catch (Exception e) {
  50. e.printStackTrace();
  51. logger.error("END===ERROE===OverdueJob,message:"+e.getMessage());
  52. }
  53. }
  54. }, new Trigger() {
  55. @Override
  56. public Date nextExecutionTime(TriggerContext triggerContext) {
  57. // 任务触发,可修改任务的执行周期
  58. CronTrigger trigger = new CronTrigger(cron);
  59. System.out.println("OverdueJob任务触发,可修改任务的执行周期"+cron);
  60. Date nextExec = trigger.nextExecutionTime(triggerContext);
  61. return nextExec;
  62. }
  63. });
  64. }
  65. }