From 375b2ac11f121898f1299ada41719bed9e1f6a2d Mon Sep 17 00:00:00 2001 From: wyb <1977763549@qq.com> Date: Fri, 9 May 2025 10:34:59 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=A2=85=E5=B7=9E=E4=B8=89=E9=99=A2MECT?= =?UTF-8?q?=E8=A7=86=E5=9B=BE=E9=87=87=E9=9B=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mzsy/entity/MzsyMectReportView.java | 23 +++++++ .../server/mzsy/job/MzsyReportCollectJob.java | 68 +++++++++++++++++++ .../mzsy/mapper/MzsyReportDataViewMapper.java | 11 +++ .../mapper/MzsyReportDataViewMapper.xml | 14 ++++ 4 files changed, 116 insertions(+) create mode 100644 src/main/java/com/docus/server/mzsy/entity/MzsyMectReportView.java diff --git a/src/main/java/com/docus/server/mzsy/entity/MzsyMectReportView.java b/src/main/java/com/docus/server/mzsy/entity/MzsyMectReportView.java new file mode 100644 index 0000000..3962d46 --- /dev/null +++ b/src/main/java/com/docus/server/mzsy/entity/MzsyMectReportView.java @@ -0,0 +1,23 @@ +package com.docus.server.mzsy.entity; + +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.Date; + +/** + * 梅州三院检验、检查、心电等报告视图 + * + * @author YongBin Wen + * @date 2024/8/16 14:39 + */ +@Data +@ApiModel("梅州三院MECT报告视图") +public class MzsyMectReportView { + private String applyId; + private Date sendDate; + private String patientName; + private String moduleName; + private String patientId; + private String pdfReportPath; +} diff --git a/src/main/java/com/docus/server/mzsy/job/MzsyReportCollectJob.java b/src/main/java/com/docus/server/mzsy/job/MzsyReportCollectJob.java index 0b98b17..f5ca7b7 100644 --- a/src/main/java/com/docus/server/mzsy/job/MzsyReportCollectJob.java +++ b/src/main/java/com/docus/server/mzsy/job/MzsyReportCollectJob.java @@ -5,6 +5,7 @@ import com.docus.core.util.Func; import com.docus.infrastructure.core.utils.TableJsonRead; import com.docus.infrastructure.web.api.CommonResult; import com.docus.infrastructure.web.api.ResultCode; +import com.docus.server.mzsy.entity.MzsyMectReportView; import com.docus.server.mzsy.entity.MzsyReportDataView; import com.docus.server.mzsy.entity.MzsyShoumaReportDataView; import com.docus.server.mzsy.mapper.MzsyReportDataViewMapper; @@ -168,6 +169,73 @@ public class MzsyReportCollectJob { } } + + @XxlJob("MzsyMectReportCollectJob") + public void mectReportCollect() { + try { + // 1.获取任务和患者信息 2.查询视图信息 3.上报下载 + String jobParam = XxlJobHelper.getJobParam(); + JSONObject jobParamJsonObject = JSONObject.parseObject(jobParam); + String collectorId = jobParamJsonObject.getString("collectorId"); + String extraCondition = jobParamJsonObject.getString("extraCondition"); + String assortId = jobParamJsonObject.getString("assortId"); + if (Func.isBlank(collectorId) || Func.isBlank(assortId)) { + log.warn(">>>>>>>>>>>>>>>>>>>>>> 梅州三院 MECT 报告视图采集,未配置采集器获取任务信息"); + return; + } + + CommonResult commonResult = taskDistributeService.getNoViewTaskByCollectorId(collectorId); + if (ResultCode.SUCCESS.getCode().equals(commonResult.getCode()) + && commonResult.getData() != null) { + ReportDownTwoDto downTwoDto = commonResult.getData(); + ReportTaskTwoDto task = downTwoDto.getTasks().get(0); + log.info(">>>>>>>>>>>>>>>>>>>>>> 梅州三院 MECT 报告视图采集任务,获取了任务:{}", Func.toJson(task)); + + ReportHospitalTwoDto hospitalTwoDto = downTwoDto.getHospitals().get(0); + ReportPatientTwoDto reportPatientTwoDto = downTwoDto.getPatient(); + String jzh = downTwoDto.getJzh(); + String inpatientNo = reportPatientTwoDto.getInpatientNo(); + Integer admissTimes = hospitalTwoDto.getAdmissTimes(); + + List mzsyMectReportViews = reportDataViewMapper.findByPatIdAndOtherCondition(jzh, extraCondition); + int size = mzsyMectReportViews.size(); + log.info("MECT 住院号:{},住院次数:{},记账号:{} 采集视图数据:{} 条!数据:{}", inpatientNo, admissTimes, jzh, size, Func.toJson(mzsyMectReportViews)); + if (size <= 0) { + return; + } + + ReportDownPatientDto patient = new ReportDownPatientDto(); + patient.setPatientid(downTwoDto.getPatientId()); + + ReportDownDto reportDownDto = new ReportDownDto(); + reportDownDto.setCollectorid(collectorId); + reportDownDto.setIp(""); + reportDownDto.setPatient(patient); + int sort = 0; + for (MzsyMectReportView mzsyMectReportView : mzsyMectReportViews) { + ReportDownScanFileDto reportDownScanFileDto = new ReportDownScanFileDto(); + reportDownScanFileDto.setDownurl(mzsyMectReportView.getPdfReportPath()); + reportDownScanFileDto.setFiletitle(mzsyMectReportView.getModuleName()); + reportDownScanFileDto.setSerialnum(mzsyMectReportView.getApplyId()); + reportDownScanFileDto.setFilesource(1); + reportDownScanFileDto.setFiletype(1); + reportDownScanFileDto.setFilestoragetype(1); + reportDownScanFileDto.setTaskid(task.getTaskId()); +// reportDownScanFileDto.setSort(++sort); + reportDownScanFileDto.setSort(sort); + List scanFiles = Collections.singletonList(reportDownScanFileDto); + + reportDownDto.setAssortid(assortId); + reportDownDto.setScanfiles(scanFiles); + downPlatformService.report(reportDownDto); + } + } + } catch (Exception ex) { + log.error(">>>>>>>>>>>>>>>>>>>>>> 梅州三院 MECT 报告视图采集 错误," + ex.getMessage(), ex); + } + } + + public static void main(String[] args) { TableJsonRead tableJsonRead = new TableJsonRead(); JSONObject moduleAlisConfig = tableJsonRead.Read("data-config", "mzsy-module-alis", JSONObject.class); diff --git a/src/main/java/com/docus/server/mzsy/mapper/MzsyReportDataViewMapper.java b/src/main/java/com/docus/server/mzsy/mapper/MzsyReportDataViewMapper.java index 6b2bc7f..497716d 100644 --- a/src/main/java/com/docus/server/mzsy/mapper/MzsyReportDataViewMapper.java +++ b/src/main/java/com/docus/server/mzsy/mapper/MzsyReportDataViewMapper.java @@ -1,6 +1,7 @@ package com.docus.server.mzsy.mapper; import com.baomidou.dynamic.datasource.annotation.DS; +import com.docus.server.mzsy.entity.MzsyMectReportView; import com.docus.server.mzsy.entity.MzsyReportDataView; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -22,4 +23,14 @@ public interface MzsyReportDataViewMapper { * @return 视图数据 */ List findByPatJzhAndOtherCondition(@Param("jzh") String patJzh, @Param("ext") String extCondition); + + + /** + * 根据患者记账号和额外条件查询视图数据 + * + * @param patId 记账号 + * @param extCondition 额外条件 + * @return 视图数据 + */ + List findByPatIdAndOtherCondition(@Param("patId") String patId, @Param("ext") String extCondition); } diff --git a/src/main/resources/mapper/MzsyReportDataViewMapper.xml b/src/main/resources/mapper/MzsyReportDataViewMapper.xml index d4af12b..57c17e4 100644 --- a/src/main/resources/mapper/MzsyReportDataViewMapper.xml +++ b/src/main/resources/mapper/MzsyReportDataViewMapper.xml @@ -24,4 +24,18 @@ order by FPAT_MODULE asc,FFILE_AF_TIME asc +