From c1882a0d86b47b7a0d5b6ced866188c53daa2b87 Mon Sep 17 00:00:00 2001
From: wyb <1977763549@qq.com>
Date: Mon, 3 Apr 2023 18:06:46 +0800
Subject: [PATCH] =?UTF-8?q?=E6=9C=AA=E5=AE=8C=E6=88=90=E7=9A=84=E4=BB=A3?=
=?UTF-8?q?=E7=A0=812?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../collection/mapper/TBasicMapper.java | 3 +
.../docus/server/report/entity/AfJobTime.java | 9 ++-
.../docus/server/report/job/ReportJob.java | 62 ++++++++++++-------
.../server/report/mapper/AfJobTimeMapper.java | 24 +++++++
src/main/resources/mapper/AfJobTimeMapper.xml | 22 +++++++
src/main/resources/mapper/TBasicMapper.xml | 7 +++
6 files changed, 103 insertions(+), 24 deletions(-)
create mode 100644 src/main/resources/mapper/AfJobTimeMapper.xml
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 @@
+