From 34654712d23cba18d2fe4011b214ce07e9c30ef6 Mon Sep 17 00:00:00 2001 From: wyb <1977763549@qq.com> Date: Tue, 22 Jul 2025 17:28:35 +0800 Subject: [PATCH] =?UTF-8?q?imp:=E6=8C=89=E5=A4=A9=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../demo/job/GzFirstLabReportSyncJob.java | 29 +++++++++---------- .../docus/demo/mapper/mysql/BasicMapper.java | 3 ++ .../resources/mapper/mysql/BasicMapper.xml | 14 +++++++++ 3 files changed, 31 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/docus/demo/job/GzFirstLabReportSyncJob.java b/src/main/java/com/docus/demo/job/GzFirstLabReportSyncJob.java index e9d24b9..46371f6 100644 --- a/src/main/java/com/docus/demo/job/GzFirstLabReportSyncJob.java +++ b/src/main/java/com/docus/demo/job/GzFirstLabReportSyncJob.java @@ -34,23 +34,24 @@ public class GzFirstLabReportSyncJob { @Scheduled(cron = "0 0 3 1 * ?") public void syncAllLabReport() { LocalDate today = LocalDate.now(); - String startDisDateTime = "2018-01-01 00:00:00"; + LocalDate syncDisDate = LocalDate.parse("2018-01-01"); String startDateTime = "2018-01-01 00:00:00"; String endDateTime = today + " 23:59:59"; if (isAllRunning.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); + + while (!syncDisDate.isAfter(today)) { + String syncDisDateStr = syncDisDate.toString(); + log.info("广州市第一人民医院,同步全部已扫描患者检验报告,同步出院日期:{}", syncDisDateStr); + List tbasicList = basicMapper.getLabSyncBasicListByDate(syncDisDateStr + " 00:00:00", syncDisDateStr + " 23:59:59"); + + if (CollUtil.isNotEmpty(tbasicList)) { + for (Tbasic tbasic : tbasicList) { + iWebService.syncInspection(tbasic, startDateTime, endDateTime); + } } - offset = offset + limit; + + syncDisDate = syncDisDate.plusDays(1); } log.info("广州市第一人民医院,同步全部已扫描患者检验报告,同步完成!"); } catch (Exception ex) { @@ -65,11 +66,10 @@ public class GzFirstLabReportSyncJob { } - @Scheduled(cron = "0 0,30 * * * ?") public void syncThreeMonthLabReport() { LocalDate today = LocalDate.now(); - String startDisDateTime = today.minusMonths(3)+" 00:00:00"; + 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)) { @@ -100,5 +100,4 @@ public class GzFirstLabReportSyncJob { } - } diff --git a/src/main/java/com/docus/demo/mapper/mysql/BasicMapper.java b/src/main/java/com/docus/demo/mapper/mysql/BasicMapper.java index f42fac2..c1cacdf 100644 --- a/src/main/java/com/docus/demo/mapper/mysql/BasicMapper.java +++ b/src/main/java/com/docus/demo/mapper/mysql/BasicMapper.java @@ -31,6 +31,8 @@ public interface BasicMapper { List getLabSyncBasicList(@Param("startDisDateTime") String startDisDateTime, @Param("offset") int offset, @Param("limit") int limit); + List getLabSyncBasicListByDate(@Param("startDisDateTime") String startDisDateTime,@Param("endDisDateTime") String endDisDateTime); + void updateScanStatus(@Param("pid")String pid); @@ -60,4 +62,5 @@ public interface BasicMapper { int updateNotArchive(@Param("patientId")String patientId); + } diff --git a/src/main/resources/mapper/mysql/BasicMapper.xml b/src/main/resources/mapper/mysql/BasicMapper.xml index 6d86f65..81f90ff 100644 --- a/src/main/resources/mapper/mysql/BasicMapper.xml +++ b/src/main/resources/mapper/mysql/BasicMapper.xml @@ -220,6 +220,20 @@ ) + +