fix: 修复查询视图和查询基础数据的条件

collector-patient-scan
wyb 2 years ago
parent e553ed947c
commit e59ecf1df0

@ -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<PatientScanConditionDTO> patientScanConditionDTOList = patientScanService.getInpatientNoAndTimesByDisDate(disDateStartDate + " 00:00:00", disDateStartDate + " 23:59:59");
List<PatientScanConditionDTO> 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();

@ -77,9 +77,14 @@ public class PatScanFileSyncJob {
}
String startTime = lastExecuteDate + " 00:00:00";
String endTime = lastExecuteDate + " 23:59:59";
List<PatientScanConditionDTO> inpatientNoAndTimesByScanDate = patientScanService.getInpatientNoAndTimesByScanDate(startTime, endTime);
inpatientNoAndTimesByScanDate = Optional.ofNullable(inpatientNoAndTimesByScanDate).orElse(new ArrayList<>());
PatScanSyncResult patScanSyncResult = patientScanSynchronizer.sync("电子病历扫描视图同步,根据扫描时间同步Job", inpatientNoAndTimesByScanDate);
List<PatientScanConditionDTO> 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 {

@ -25,19 +25,19 @@ public interface PatientScanService {
/**
*
*
* @param startTime
* @param endTime
* @return
* @return
*/
List<PatientScanConditionDTO> getInpatientNoAndTimesByScanDate(String startTime,String endTime);
List<PatientScanConditionDTO> getScanPatientConditionByScanDate(String startTime, String endTime);
/**
*
*
* @param startTime
* @param endTime
* @return
* @return
*/
List<PatientScanConditionDTO> getInpatientNoAndTimesByDisDate(String startTime,String endTime);
List<PatientScanConditionDTO> getScanPatientConditionByDisDate(String startTime, String endTime);
}

@ -36,17 +36,16 @@ public class PatientScanServiceImpl implements PatientScanService {
@Override
public List<PatientScan> getScanDataByConditions(PatientScanConditionDTO patientScanConditionDto) {
patientScanConditionDto.setDisDateTime(patientScanConditionDto.getDisDate()+" 00:00:00");
return patientScanMapper.getScanData(patientScanConditionDto);
}
@Override
public List<PatientScanConditionDTO> getInpatientNoAndTimesByScanDate(String startTime, String endTime) {
public List<PatientScanConditionDTO> getScanPatientConditionByScanDate(String startTime, String endTime) {
return patientScanMapper.getScanPatientConditionByScanDate(startTime,endTime);
}
@Override
public List<PatientScanConditionDTO> getInpatientNoAndTimesByDisDate(String startTime, String endTime) {
public List<PatientScanConditionDTO> getScanPatientConditionByDisDate(String startTime, String endTime) {
return patientScanMapper.getScanPatientConditionByDisDate(startTime,endTime);
}

@ -29,7 +29,7 @@
</select>
<select id="getScanPatientConditionByScanDate" resultType="com.docus.server.collect.dto.PatientScanConditionDTO">
select 住院号 as inpatientNo,
出院日期 as disDate,
出院日期 as disDateTime,
病人姓名 as name
from pat_sm
where 扫描日期 between #{start} and #{end}
@ -39,7 +39,7 @@
<select id="getScanPatientConditionByDisDate" resultType="com.docus.server.collect.dto.PatientScanConditionDTO">
select 住院号 as inpatientNo,
出院日期 as disDate,
出院日期 as disDateTime,
病人姓名 as name
from pat_sm
where 出院日期 between #{start} and #{end}

Loading…
Cancel
Save