package com.hgwebservice.scheduledTask; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUtil; import com.hgwebservice.service.syncCdm2.MeasureService; import com.hgwebservice.service.syncCdm2.SyncDispatchDataByDeptCode; import com.hgwebservice.service.syncCdm2.SyncOperatorData; import com.hgwebservice.service.syncCdm2.SyncPatientDataByDeptCode; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; import java.util.Date; @Component @Slf4j public class ScheduledTask { @Autowired private SyncDispatchDataByDeptCode syncDispatchDataByDeptCode; @Autowired private SyncOperatorData syncOperatorData; @Autowired private SyncPatientDataByDeptCode syncPatientDataByDeptCode; @Autowired MeasureService measureService; @Value("${returnHisMeasureEnable:false}") private Boolean returnHisMeasureEnable; // @PostConstruct @Scheduled(cron ="0 0 0/24 * * ?") public void sync() { DateTime beginTime = DateTime.now(); log.info("===========开始同步医护数据==========="); syncOperatorData.saveCdm2(); DateTime endTime = DateTime.now(); long between = DateUtil.between(beginTime, endTime, DateUnit.SECOND); log.info("同步数据医护结束,耗时: "+between+ "秒") ; } @PostConstruct @Scheduled(cron ="0 0/10 * * * ?") public void sync1() { DateTime beginTime = DateTime.now(); syncPatientDataByDeptCode.saveCdm2(); DateTime endTime = DateTime.now(); long between = DateUtil.between(beginTime, endTime, DateUnit.SECOND); log.info("同步患者数据结束,耗时: "+between+ "秒") ; } @PostConstruct @Scheduled(cron ="0 0/5 * * * ?") public void syncDispatch() { DateTime beginTime = DateTime.now(); syncDispatchDataByDeptCode.saveCdm2(); DateTime endTime = DateTime.now(); long between = DateUtil.between(beginTime, endTime, DateUnit.SECOND); log.info("同步医嘱数据结束,耗时: "+between+ "秒") ; } // @PostConstruct // @Scheduled(cron ="0 0/3 * * * ?") public void sync2() { DateTime beginTime = DateTime.now(); String start="2024-03-15 00:00:00"; String end="2024-03-15 23:59:59"; measureService.dmsMeasure(start,end); DateTime endTime = DateTime.now(); long between = DateUtil.between(beginTime, endTime, DateUnit.SECOND); log.info("开始同步华广量测数据,耗时: "+between+ "秒") ; } @PostConstruct @Scheduled(cron ="0 0/3 * * * ?") public void sync3() { if (returnHisMeasureEnable){ DateTime beginTime = DateTime.now(); measureService.measure(); DateTime endTime = DateTime.now(); long between = DateUtil.between(beginTime, endTime, DateUnit.SECOND); log.info("同步回写患者量测数据结束,耗时: "+between+ "秒") ; } } }