未完成的代码2

3.2.4.44
wyb 2 years ago
parent d459415e40
commit c1882a0d86

@ -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;
/**
* <p>
* Mapper
@ -34,4 +36,5 @@ public interface TBasicMapper{
Integer updateExtend(@Param("tBasicExtend") TBasicExtend tBasicExtend);
List<TBasic> selectBasicListByAdmissDate(@Param("admissStartDate")String admissStartDate,@Param("admissEndDate") String admissEndDate,@Param("offset") int offset,@Param("size") int size);
}

@ -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;
}
}

@ -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<TBasic> 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<TBasic> basicList = tBasicMapper.selectBasicListByAdmissDate(queryBasicAdmissStartDate,queryBasicAdmissEndDate,offset,size);
if(Func.isEmpty(basicList)){
log.warn("未查询到 入院时间 {} - {} 基础数据",queryBasicAdmissStartDate,queryBasicAdmissEndDate);
break;
}
for (TBasic tBasic : basicList) {
List<ReportDto> 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<ReportDto> 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);
}

@ -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);
}

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.docus.server.report.mapper.AfJobTimeMapper">
<insert id="insert">
INSERT INTO `docus_archivefile`.`af_job_time`(`id`, `update_time`, `job_type`)
VALUES (#{afJobTime.id}, #{afJobTime.updateTime}, #{afJobTime.jobType});
</insert>
<update id="updateById">
UPDATE `docus_archivefile`.`af_job_time`
SET `update_time` = #{afJobTime.updateTime},
WHERE `id` = #{afJobTime.id};
</update>
<select id="getAfJobTimeByJobType" resultType="com.docus.server.report.entity.AfJobTime">
select id,update_time as updateTime,job_type as jobType
from af_job_time
where job_type= #{jobType}
</select>
</mapper>

@ -103,4 +103,11 @@
<select id="getPatientId" resultType="java.lang.String">
select patient_id from t_basic where jzh=#{jzh}
</select>
<select id="selectBasicListByAdmissDate" resultType="com.docus.server.collection.entity.TBasic">
select *
from t_basic
where admiss_date between #{admissStartDate} AND #{admissEndDate}
limit #{offset}
, #{size}
</select>
</mapper>

Loading…
Cancel
Save