diff --git a/src/main/java/com/docus/server/collect/controller/PatientScanController.java b/src/main/java/com/docus/server/collect/controller/PatientScanController.java index 59eb2cd..de86616 100644 --- a/src/main/java/com/docus/server/collect/controller/PatientScanController.java +++ b/src/main/java/com/docus/server/collect/controller/PatientScanController.java @@ -43,6 +43,9 @@ public class PatientScanController { return CommonResult.failed("请输入正确的请求参数!"); } checkCondition(patientScanConditionDTOList); + for (PatientScanConditionDTO patientScanConditionDTO : patientScanConditionDTOList) { + patientScanConditionDTO.setDisDateTime(patientScanConditionDTO.getDisDate()+" 00:00:00"); + } return CommonResult.success(patientScanService.getScanDataByConditions(patientScanConditionDTOList)); } @@ -82,12 +85,17 @@ public class PatientScanController { // 从开始时间一天一天的查询,直到超过了结束时间停止 while (!disDateStartDate.isAfter(disDateEndDate)) { - List patientScanConditionDTOList = patientScanService.getInpatientNoAndTimesByDisDate(disDateStartDate + " 00:00:00", disDateStartDate + " 23:59:59"); + List patientScanConditionDTOList = patientScanService.getScanPatientConditionByDisDate(disDateStartDate + " 00:00:00", disDateStartDate + " 23:59:59"); if (Func.isEmpty(patientScanConditionDTOList)) { log.warn("出院时间:{} —— {} 没有可同步的扫描数据!", disDateStartDate + " 00:00:00", disDateStartDate + " 23:59:59"); disDateStartDate = disDateStartDate.plusDays(1); continue; } + for (PatientScanConditionDTO dto : patientScanConditionDTOList) { + String pattern="yyyy-MM-dd"; + String disDateTime = dto.getDisDateTime(); + dto.setDisDate(disDateTime.substring(0,pattern.length())); + } PatScanSyncResult scanSyncResult = synchronizer.sync("根据出院日期区间同步扫描患者数据接口", patientScanConditionDTOList); patientTotalCount += scanSyncResult.getPatientTotalCount(); successPatientCount += scanSyncResult.getSuccessPatientCount(); diff --git a/src/main/java/com/docus/server/collect/job/PatScanFileSyncJob.java b/src/main/java/com/docus/server/collect/job/PatScanFileSyncJob.java index 99d72a4..2e67d4b 100644 --- a/src/main/java/com/docus/server/collect/job/PatScanFileSyncJob.java +++ b/src/main/java/com/docus/server/collect/job/PatScanFileSyncJob.java @@ -77,9 +77,14 @@ public class PatScanFileSyncJob { } String startTime = lastExecuteDate + " 00:00:00"; String endTime = lastExecuteDate + " 23:59:59"; - List inpatientNoAndTimesByScanDate = patientScanService.getInpatientNoAndTimesByScanDate(startTime, endTime); - inpatientNoAndTimesByScanDate = Optional.ofNullable(inpatientNoAndTimesByScanDate).orElse(new ArrayList<>()); - PatScanSyncResult patScanSyncResult = patientScanSynchronizer.sync("电子病历扫描视图同步,根据扫描时间同步Job", inpatientNoAndTimesByScanDate); + List patientScanConditionDTOList = patientScanService.getScanPatientConditionByScanDate(startTime, endTime); + patientScanConditionDTOList = Optional.ofNullable(patientScanConditionDTOList).orElse(new ArrayList<>()); + for (PatientScanConditionDTO dto : patientScanConditionDTOList) { + String pattern="yyyy-MM-dd"; + String disDateTime = dto.getDisDateTime(); + dto.setDisDate(disDateTime.substring(0,pattern.length())); + } + PatScanSyncResult patScanSyncResult = patientScanSynchronizer.sync("电子病历扫描视图同步,根据扫描时间同步Job", patientScanConditionDTOList); log.info("电子病历扫描视图同步,根据扫描时间同步Job,{} —— {},同步结果为:{}",startTime,endTime,Func.toJson(patScanSyncResult)); lastExecuteDate = lastExecuteDate.plusDays(1); config.setLastExecuteDate(lastExecuteDate.toString()); @@ -90,14 +95,8 @@ public class PatScanFileSyncJob { } - public static void main(String[] args) { - QueryConfig config = QueryConfig.getQueryConfig(); - if (config == null) { - config = new QueryConfig(); - } - config.setLastExecuteDate(LocalDate.now().toString()); - config.refresh(); - } + + public static class QueryConfig { diff --git a/src/main/java/com/docus/server/collect/service/PatientScanService.java b/src/main/java/com/docus/server/collect/service/PatientScanService.java index 5006e06..ef9015a 100644 --- a/src/main/java/com/docus/server/collect/service/PatientScanService.java +++ b/src/main/java/com/docus/server/collect/service/PatientScanService.java @@ -25,19 +25,19 @@ public interface PatientScanService { /** - * 根据扫描时间查询条件,获取住院号和住院次数 + * 根据扫描时间查询条件,获取 扫描视图查询条件 * @param startTime 区间开始 不为空 * @param endTime 区间结束 不为空 - * @return 病案号和住院次数 + * @return 扫描视图查询条件 */ - List getInpatientNoAndTimesByScanDate(String startTime,String endTime); + List getScanPatientConditionByScanDate(String startTime, String endTime); /** - * 根据出院时间查询条件,获取住院号和住院次数 + * 根据出院时间查询条件,扫描视图查询条件 * @param startTime 出院时间区间开始 不为空 * @param endTime 出院时间区间结束 不为空 - * @return 病案号和住院次数 + * @return 扫描视图查询条件 */ - List getInpatientNoAndTimesByDisDate(String startTime,String endTime); + List getScanPatientConditionByDisDate(String startTime, String endTime); } diff --git a/src/main/java/com/docus/server/collect/service/impl/PatientScanServiceImpl.java b/src/main/java/com/docus/server/collect/service/impl/PatientScanServiceImpl.java index edde92d..4d42ae8 100644 --- a/src/main/java/com/docus/server/collect/service/impl/PatientScanServiceImpl.java +++ b/src/main/java/com/docus/server/collect/service/impl/PatientScanServiceImpl.java @@ -36,17 +36,16 @@ public class PatientScanServiceImpl implements PatientScanService { @Override public List getScanDataByConditions(PatientScanConditionDTO patientScanConditionDto) { - patientScanConditionDto.setDisDateTime(patientScanConditionDto.getDisDate()+" 00:00:00"); return patientScanMapper.getScanData(patientScanConditionDto); } @Override - public List getInpatientNoAndTimesByScanDate(String startTime, String endTime) { + public List getScanPatientConditionByScanDate(String startTime, String endTime) { return patientScanMapper.getScanPatientConditionByScanDate(startTime,endTime); } @Override - public List getInpatientNoAndTimesByDisDate(String startTime, String endTime) { + public List getScanPatientConditionByDisDate(String startTime, String endTime) { return patientScanMapper.getScanPatientConditionByDisDate(startTime,endTime); } diff --git a/src/main/resources/mapper/PatientScanMapper.xml b/src/main/resources/mapper/PatientScanMapper.xml index 541882c..86948dc 100644 --- a/src/main/resources/mapper/PatientScanMapper.xml +++ b/src/main/resources/mapper/PatientScanMapper.xml @@ -29,7 +29,7 @@ select 住院号 as inpatientNo, - 出院日期 as disDate, + 出院日期 as disDateTime, 病人姓名 as name from pat_sm where 出院日期 between #{start} and #{end}