ScheduledTask.java 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. package com.hgwebservice.scheduledTask;
  2. import cn.hutool.core.date.DateTime;
  3. import cn.hutool.core.date.DateUnit;
  4. import cn.hutool.core.date.DateUtil;
  5. import com.hgwebservice.service.syncCdm2.MeasureService;
  6. import com.hgwebservice.service.syncCdm2.SyncDispatchDataByDeptCode;
  7. import com.hgwebservice.service.syncCdm2.SyncOperatorData;
  8. import com.hgwebservice.service.syncCdm2.SyncPatientDataByDeptCode;
  9. import lombok.extern.slf4j.Slf4j;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.beans.factory.annotation.Value;
  12. import org.springframework.scheduling.annotation.Scheduled;
  13. import org.springframework.stereotype.Component;
  14. import javax.annotation.PostConstruct;
  15. import java.util.Date;
  16. @Component
  17. @Slf4j
  18. public class ScheduledTask {
  19. @Autowired
  20. private SyncDispatchDataByDeptCode syncDispatchDataByDeptCode;
  21. @Autowired
  22. private SyncOperatorData syncOperatorData;
  23. @Autowired
  24. private SyncPatientDataByDeptCode syncPatientDataByDeptCode;
  25. @Autowired
  26. MeasureService measureService;
  27. @Value("${returnHisMeasureEnable:false}")
  28. private Boolean returnHisMeasureEnable;
  29. // @PostConstruct
  30. @Scheduled(cron ="0 0 0/24 * * ?")
  31. public void sync() {
  32. DateTime beginTime = DateTime.now();
  33. log.info("===========开始同步医护数据===========");
  34. syncOperatorData.saveCdm2();
  35. DateTime endTime = DateTime.now();
  36. long between = DateUtil.between(beginTime, endTime, DateUnit.SECOND);
  37. log.info("同步数据医护结束,耗时: "+between+ "秒") ;
  38. }
  39. @PostConstruct
  40. @Scheduled(cron ="0 0/10 * * * ?")
  41. public void sync1() {
  42. DateTime beginTime = DateTime.now();
  43. syncPatientDataByDeptCode.saveCdm2();
  44. DateTime endTime = DateTime.now();
  45. long between = DateUtil.between(beginTime, endTime, DateUnit.SECOND);
  46. log.info("同步患者数据结束,耗时: "+between+ "秒") ;
  47. }
  48. @PostConstruct
  49. @Scheduled(cron ="0 0/5 * * * ?")
  50. public void syncDispatch() {
  51. DateTime beginTime = DateTime.now();
  52. syncDispatchDataByDeptCode.saveCdm2();
  53. DateTime endTime = DateTime.now();
  54. long between = DateUtil.between(beginTime, endTime, DateUnit.SECOND);
  55. log.info("同步医嘱数据结束,耗时: "+between+ "秒") ;
  56. }
  57. // @PostConstruct
  58. // @Scheduled(cron ="0 0/3 * * * ?")
  59. public void sync2() {
  60. DateTime beginTime = DateTime.now();
  61. String start="2024-03-15 00:00:00";
  62. String end="2024-03-15 23:59:59";
  63. measureService.dmsMeasure(start,end);
  64. DateTime endTime = DateTime.now();
  65. long between = DateUtil.between(beginTime, endTime, DateUnit.SECOND);
  66. log.info("开始同步华广量测数据,耗时: "+between+ "秒") ;
  67. }
  68. @PostConstruct
  69. @Scheduled(cron ="0 0/3 * * * ?")
  70. public void sync3() {
  71. if (returnHisMeasureEnable){
  72. DateTime beginTime = DateTime.now();
  73. measureService.measure();
  74. DateTime endTime = DateTime.now();
  75. long between = DateUtil.between(beginTime, endTime, DateUnit.SECOND);
  76. log.info("同步回写患者量测数据结束,耗时: "+between+ "秒") ;
  77. }
  78. }
  79. }