diff --git a/src/main/java/com/docus/demo/job/GzFirstLabReportSyncJob.java b/src/main/java/com/docus/demo/job/GzFirstLabReportSyncJob.java index bbe12fa..e9d24b9 100644 --- a/src/main/java/com/docus/demo/job/GzFirstLabReportSyncJob.java +++ b/src/main/java/com/docus/demo/job/GzFirstLabReportSyncJob.java @@ -28,20 +28,21 @@ public class GzFirstLabReportSyncJob { @Resource private BasicMapper basicMapper; - private AtomicBoolean isRunning = new AtomicBoolean(false); + private AtomicBoolean isAllRunning = new AtomicBoolean(false); + private AtomicBoolean isThreeRunning = new AtomicBoolean(false); - @Scheduled(cron = "0 0 3/12 * * ?") - public void syncLabReport() { + @Scheduled(cron = "0 0 3 1 * ?") + public void syncAllLabReport() { LocalDate today = LocalDate.now(); String startDisDateTime = "2018-01-01 00:00:00"; String startDateTime = "2018-01-01 00:00:00"; String endDateTime = today + " 23:59:59"; - if (isRunning.compareAndSet(false, true)) { + if (isAllRunning.compareAndSet(false, true)) { try { int offset = 0; int limit = 1000; while (true) { - log.info("广州市第一人民医院,同步已扫描患者检验报告,患者参数查询,startDisDateTime={},offset={},limit={}", startDisDateTime, offset, limit); + log.info("广州市第一人民医院,同步全部已扫描患者检验报告,患者参数查询,startDisDateTime={},offset={},limit={}", startDisDateTime, offset, limit); List tbasicList = basicMapper.getLabSyncBasicList(startDisDateTime, offset, limit); if (CollUtil.isEmpty(tbasicList)) { break; @@ -51,16 +52,53 @@ public class GzFirstLabReportSyncJob { } offset = offset + limit; } - log.info("广州市第一人民医院,同步已扫描患者检验报告,同步完成!"); + log.info("广州市第一人民医院,同步全部已扫描患者检验报告,同步完成!"); } catch (Exception ex) { - log.info("广州市第一人民医院,同步已扫描患者检验报告,出现异常:" + ex.getMessage(), ex); + log.info("广州市第一人民医院,同步全部已扫描患者检验报告,出现异常:" + ex.getMessage(), ex); } finally { - isRunning.set(false); + isAllRunning.set(false); } } else { - log.warn("广州市第一人民医院,同步已扫描患者检验报告正在调度!"); + log.warn("广州市第一人民医院,同步全部已扫描患者检验报告正在调度!"); } } + + + @Scheduled(cron = "0 0,30 * * * ?") + public void syncThreeMonthLabReport() { + LocalDate today = LocalDate.now(); + String startDisDateTime = today.minusMonths(3)+" 00:00:00"; + String startDateTime = "2018-01-01 00:00:00"; + String endDateTime = today + " 23:59:59"; + if (isThreeRunning.compareAndSet(false, true)) { + try { + int offset = 0; + int limit = 1000; + while (true) { + log.info("广州市第一人民医院,同步部分已扫描患者检验报告,患者参数查询,startDisDateTime={},offset={},limit={}", startDisDateTime, offset, limit); + List tbasicList = basicMapper.getLabSyncBasicList(startDisDateTime, offset, limit); + if (CollUtil.isEmpty(tbasicList)) { + break; + } + for (Tbasic tbasic : tbasicList) { + iWebService.syncInspection(tbasic, startDateTime, endDateTime); + } + offset = offset + limit; + } + log.info("广州市第一人民医院,同步部分已扫描患者检验报告,同步完成!"); + } catch (Exception ex) { + log.info("广州市第一人民医院,同步部分已扫描患者检验报告,出现异常:" + ex.getMessage(), ex); + } finally { + isThreeRunning.set(false); + } + } else { + log.warn("广州市第一人民医院,同步部分已扫描患者检验报告正在调度!"); + } + + } + + + } diff --git a/src/main/resources/mapper/mysql/BasicMapper.xml b/src/main/resources/mapper/mysql/BasicMapper.xml index 9124927..6d86f65 100644 --- a/src/main/resources/mapper/mysql/BasicMapper.xml +++ b/src/main/resources/mapper/mysql/BasicMapper.xml @@ -199,23 +199,25 @@