diff --git a/src/main/java/com/docus/server/collection/mapper/TBasicMapper.java b/src/main/java/com/docus/server/collection/mapper/TBasicMapper.java index afdf888..5794d25 100644 --- a/src/main/java/com/docus/server/collection/mapper/TBasicMapper.java +++ b/src/main/java/com/docus/server/collection/mapper/TBasicMapper.java @@ -5,6 +5,8 @@ import com.docus.server.collection.entity.TBasic; import com.docus.server.collection.entity.TBasicExtend; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 病案基本信息 Mapper 接口 @@ -34,4 +36,5 @@ public interface TBasicMapper{ Integer updateExtend(@Param("tBasicExtend") TBasicExtend tBasicExtend); + List selectBasicListByAdmissDate(@Param("admissStartDate")String admissStartDate,@Param("admissEndDate") String admissEndDate,@Param("offset") int offset,@Param("size") int size); } diff --git a/src/main/java/com/docus/server/report/entity/AfJobTime.java b/src/main/java/com/docus/server/report/entity/AfJobTime.java index a3f2223..9ea10eb 100644 --- a/src/main/java/com/docus/server/report/entity/AfJobTime.java +++ b/src/main/java/com/docus/server/report/entity/AfJobTime.java @@ -32,5 +32,12 @@ public class AfJobTime implements Serializable { @ApiModelProperty(value = "调度类型。") private String jobType; - + public AfJobTime() { + } + + public AfJobTime(Long id, LocalDateTime updateTime, String jobType) { + this.id = id; + this.updateTime = updateTime; + this.jobType = jobType; + } } diff --git a/src/main/java/com/docus/server/report/job/ReportJob.java b/src/main/java/com/docus/server/report/job/ReportJob.java index 1aacebc..a43a374 100644 --- a/src/main/java/com/docus/server/report/job/ReportJob.java +++ b/src/main/java/com/docus/server/report/job/ReportJob.java @@ -4,6 +4,7 @@ import com.docus.core.util.Func; import com.docus.infrastructure.redis.service.IdService; import com.docus.server.collection.entity.TBasic; import com.docus.server.collection.mapper.TBasicMapper; +import com.docus.server.report.dto.ReportDto; import com.docus.server.report.entity.AfJobTime; import com.docus.server.report.entity.AfReportRecord; import com.docus.server.report.mapper.AfJobTimeMapper; @@ -41,7 +42,7 @@ public class ReportJob { * 检验报告查询,查询入院时间前 3天的检验报告 */ @XxlJob("LisReportQueryJob") - public void LisReportQueryJob() { + public void lisReportQueryJob() { // 顺德人医 Lis 检验报告查询 final String jobType="SDryLisReport"; LocalDateTime now = LocalDateTime.now(); @@ -50,44 +51,59 @@ public class ReportJob { // 定义查基础数据 入院时间 开始结束 String queryBasicAdmissStartDate="1801-01-01 00:00:00"; - if(afJobTime!=null && afJobTime.getUpdateTime() != null){ + if (afJobTime != null && afJobTime.getUpdateTime() != null) { LocalDateTime updateTime = afJobTime.getUpdateTime(); queryBasicAdmissStartDate = updateTime.toString(); } String queryBasicAdmissEndDate=now.toString(); - + // 查询基础数据定义 分页 int offset=0; int size=50; - - List basicList = tBasicMapper.selectBasicListByAdmissDate(queryBasicAdmissStartDate,queryBasicAdmissEndDate); - if(Func.isEmpty(basicList)){ - log.warn("未查询到 入院时间 {} - {} 基础数据",queryBasicAdmissStartDate,queryBasicAdmissEndDate); - } - - for (TBasic basic : basicList) { - // 获取顺德人医的业务系统的患者索引 - String SDryIndex = tBasicMapper.getSdryReportIndex(basic.getPatientId()); - - } - - - - try { - reportService.report(null); + do { + List basicList = tBasicMapper.selectBasicListByAdmissDate(queryBasicAdmissStartDate,queryBasicAdmissEndDate,offset,size); + if(Func.isEmpty(basicList)){ + log.warn("未查询到 入院时间 {} - {} 基础数据",queryBasicAdmissStartDate,queryBasicAdmissEndDate); + break; + } + for (TBasic tBasic : basicList) { + List reportDtoList= getLisReportList(tBasic); + if(reportDtoList==null || reportDtoList.isEmpty()){ + log.warn("病案主键 patientId {} 未查询 LIS 检验报告!",tBasic.getPatientId()); + continue; + } + reportDtoList.forEach(reportDto -> { + reportService.report(reportDto); + }); + } + offset+=size; + }while (true); } catch (Exception ex) { log.error("检验报告报告查询 出错啦!",ex); } - long id=0; - String lastTime=now.toString(); + if (afJobTime == null) { + afJobTime = new AfJobTime(); + afJobTime.setJobType(jobType); + } + afJobTime.setUpdateTime(now); - refreshTime(id,jobType,lastTime); + refreshTime(afJobTime); log.info("检验报告报告查询 任务结束了,本次查询出院时间段 {} - {}","",""); } - private void refreshTime(long id, String jobType, String lastTime) { + private List getLisReportList(TBasic tBasic) { + // TODO wyb 未完成! 2023-4-4 18:06:26 + return null; + } + private void refreshTime(AfJobTime afJobTime) { + if (afJobTime.getId() == null) { + afJobTime.setId(idService.getDateSeq()); + afJobTimeMapper.insert(afJobTime); + return; + } + afJobTimeMapper.updateById(afJobTime); } diff --git a/src/main/java/com/docus/server/report/mapper/AfJobTimeMapper.java b/src/main/java/com/docus/server/report/mapper/AfJobTimeMapper.java index b6a955d..26be19f 100644 --- a/src/main/java/com/docus/server/report/mapper/AfJobTimeMapper.java +++ b/src/main/java/com/docus/server/report/mapper/AfJobTimeMapper.java @@ -1,8 +1,32 @@ package com.docus.server.report.mapper; +import com.docus.server.report.entity.AfJobTime; +import org.apache.ibatis.annotations.Param; + + /** * job 记录时间 * @author wyb */ public interface AfJobTimeMapper { + /** + * 根据任务类型查询任务时间记录 + * @param jobType 任务类型 + * @return 任务时间记录 + */ + AfJobTime getAfJobTimeByJobType(@Param("jobType") String jobType); + + /** + * 插入job时间参数 + * @param afJobTime job时间参数 + * @return 数据库操作结果 + */ + int insert(@Param("afJobTime") AfJobTime afJobTime); + + /** + * 修改job时间 + * @param afJobTime job时间 + * @return 数据库操作结果 + */ + int updateById(@Param("afJobTime") AfJobTime afJobTime); } diff --git a/src/main/resources/mapper/AfJobTimeMapper.xml b/src/main/resources/mapper/AfJobTimeMapper.xml new file mode 100644 index 0000000..fa917d9 --- /dev/null +++ b/src/main/resources/mapper/AfJobTimeMapper.xml @@ -0,0 +1,22 @@ + + + + + INSERT INTO `docus_archivefile`.`af_job_time`(`id`, `update_time`, `job_type`) + VALUES (#{afJobTime.id}, #{afJobTime.updateTime}, #{afJobTime.jobType}); + + + + UPDATE `docus_archivefile`.`af_job_time` + SET `update_time` = #{afJobTime.updateTime}, + WHERE `id` = #{afJobTime.id}; + + + + diff --git a/src/main/resources/mapper/TBasicMapper.xml b/src/main/resources/mapper/TBasicMapper.xml index 569191b..6044f87 100644 --- a/src/main/resources/mapper/TBasicMapper.xml +++ b/src/main/resources/mapper/TBasicMapper.xml @@ -103,4 +103,11 @@ +