feat: 英德中医院添加pacs补偿

master
wyb 11 months ago
parent 2014ff1d51
commit aec246c3ca

@ -16,6 +16,8 @@ public interface TBasicMapper {
List<TBasic> getTbasicByReportTimeAndInpNoOrIdCard(@Param("sendDateStr") String sendDateStr,@Param("idCard") String idCard,@Param("inpatientNo") String inpatientNo);
List<TBasic> getTbasicByPatientIds(@Param("patientIds") List<String> patientIds);
int deleteTaskByPatAndSource(@Param("patientId")String patientId, @Param("collectorId")String collectorId);
@ -28,4 +30,6 @@ public interface TBasicMapper {
int insertCollectTask(@Param("task") AfCollectTask task);
int updateTaskById(@Param("task") AfCollectTask task);
List<String> findFailedTaskPatId(@Param("collectorId") String collectorId,@Param("startDate") String startDateStr);
}

@ -20,6 +20,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.*;
import java.util.function.Function;
@ -115,6 +116,30 @@ public class PacsCollectJob {
log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>英德中医院pacs视图采集job结束任务");
}
@XxlJob("Ydzyy-CollectPacsByFailedTask")
public void collectPacsByFailedTask() {
log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>英德中医院pacs任务补偿job开始任务");
try {
LocalDate startDate = LocalDate.now().plusMonths(-3);
String startDateStr = startDate + " 00:00:00";
String collectorId = "3";
List<String> patientIds = tBasicMapper.findFailedTaskPatId(collectorId, startDateStr);
log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>英德中医院pacs任务补偿job,查询创建时间>={} 失败的任务患者数量:{} 个。", startDateStr, patientIds);
if (Func.isEmpty(patientIds)) {
return;
}
List<TBasic> tBasicList = tBasicMapper.getTbasicByPatientIds(patientIds);
for (TBasic tBasic : tBasicList) {
collectPacs(tBasic);
}
} catch (Exception ex) {
log.error(">>>>>>>>>>>>>>>>>>>>>>>>>>>英德中医院pacs任务补偿job出现异常结束任务" + ex.getMessage(), ex);
}
log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>英德中医院pacs任务补偿job结束任务");
}
public static void main(String[] args) {
System.out.println(Func.formatDateTime(new Date()).substring(0, 10));
}

@ -49,4 +49,28 @@
<select id="getCollectTaskByPatAndSource" resultType="com.docus.server.archive.entity.AfCollectTask">
select * from docus_archivefile.af_collect_task where patient_id=#{patientId} and sysflag=#{collectorId}
</select>
<select id="getTbasicByPatientIds" resultType="com.docus.server.archive.entity.TBasic">
select
patient_id as patientId,
inpatient_no as inpatientNo,
name,
admiss_date as admissDate,
dis_date as disDate,
id_card as idCard,
jzh
from docus_medicalrecord.t_basic
where patient_id in
<foreach collection="patientIds" open="(" close=")" separator="," item="patientId">
#{patientId}
</foreach>
</select>
<select id="findFailedTaskPatId" resultType="java.lang.String">
select patient_id
from docus_archivefile.af_collect_task
where create_time >=#{startDate}
and sysflag = #{collectorId}
and state not in('3','4')
group by patient_id
</select>
</mapper>

Loading…
Cancel
Save