From d3bee3e3e79796d42cfb9ecd8cdd65af6c4f1645 Mon Sep 17 00:00:00 2001 From: wyb <1977763549@qq.com> Date: Thu, 11 Jan 2024 17:34:26 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E5=B0=81=E5=AD=98?= =?UTF-8?q?=E7=97=85=E6=A1=88=20=E9=87=8D=E7=97=87=20=E7=97=85=E5=8E=86?= =?UTF-8?q?=E9=87=87=E9=9B=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SealReportCollectController.java | 18 +++++ .../com/docus/bgts/facade/IBgtsService.java | 8 +++ .../mapper/dboracle/VDocumentPdfMapper.java | 21 +++++- .../service/AfCollectTaskServiceImpl.java | 12 ++-- .../docus/bgts/service/BgtsServiceImpl.java | 66 +++++++++++++++++++ .../mapper/dboracle/VDocumentPdfMapper.xml | 10 +++ 6 files changed, 127 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/docus/bgts/controller/SealReportCollectController.java b/src/main/java/com/docus/bgts/controller/SealReportCollectController.java index c7b3c4e..1828d2b 100644 --- a/src/main/java/com/docus/bgts/controller/SealReportCollectController.java +++ b/src/main/java/com/docus/bgts/controller/SealReportCollectController.java @@ -86,4 +86,22 @@ public class SealReportCollectController { } + @ApiOperation("重症采集接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "sealId", value = "t_seal 的seal_id,封存id", required = true, dataTypeClass = String.class) + }) + @GetMapping("/icu") + public CommonResult collectSealIcu(@RequestParam("sealId") String sealId) { + log.info("封存病案采集 重症 病历,封存id为:{}", sealId); + try { + bgtsService.collectSealIcu(sealId); + log.info("封存病案采集 重症 病历,封存id:{} 采集完成", sealId); + return CommonResult.success("采集完成"); + } catch (Exception e) { + log.error("封存id:" + sealId + " 封存病案采集 重症 病历,出现异常!", e); + return CommonResult.failed(e.getMessage()); + } + } + + } diff --git a/src/main/java/com/docus/bgts/facade/IBgtsService.java b/src/main/java/com/docus/bgts/facade/IBgtsService.java index e717d66..2c73b83 100644 --- a/src/main/java/com/docus/bgts/facade/IBgtsService.java +++ b/src/main/java/com/docus/bgts/facade/IBgtsService.java @@ -1,5 +1,13 @@ package com.docus.bgts.facade; public interface IBgtsService { + /** + * 根据封存id进行封存病案的重症病历采集 + * @date 2024/1/11 10:27 + * @author YongBin Wen + * @param sealId 封存id + */ + void collectSealIcu(String sealId) throws Exception; + /** * 采集 * @param empId diff --git a/src/main/java/com/docus/bgts/mapper/dboracle/VDocumentPdfMapper.java b/src/main/java/com/docus/bgts/mapper/dboracle/VDocumentPdfMapper.java index 56d2e97..49712a4 100644 --- a/src/main/java/com/docus/bgts/mapper/dboracle/VDocumentPdfMapper.java +++ b/src/main/java/com/docus/bgts/mapper/dboracle/VDocumentPdfMapper.java @@ -1,10 +1,7 @@ package com.docus.bgts.mapper.dboracle; -import com.docus.bgts.entity.VDocumentPdf; import org.apache.ibatis.annotations.Param; -import javax.xml.crypto.Data; -import java.util.Date; import java.util.List; import java.util.Map; @@ -25,4 +22,22 @@ public interface VDocumentPdfMapper { @Param("tableName") String tableName, @Param("fieldArr") List fieldArr, @Param("collectTimeName") String collectTimeName); + + /** + * 根据记账号获取采集数据 + * + * @param jzhField 记账号字段 + * @param jzhVal 记账号值 + * @param namespace 命名空间 + * @param tableName 表 + * @param fieldArr 查询字段 + * @return java.util.List + * @date 2024/1/11 17:08 + * @author YongBin Wen + */ + List collectByJzh(@Param("jzhField") String jzhField, + @Param("jzhVal") String jzhVal, + @Param("namespace") String namespace, + @Param("tableName") String tableName, + @Param("fieldArr") List fieldArr); } diff --git a/src/main/java/com/docus/bgts/service/AfCollectTaskServiceImpl.java b/src/main/java/com/docus/bgts/service/AfCollectTaskServiceImpl.java index 5d62798..57dd73c 100644 --- a/src/main/java/com/docus/bgts/service/AfCollectTaskServiceImpl.java +++ b/src/main/java/com/docus/bgts/service/AfCollectTaskServiceImpl.java @@ -119,11 +119,13 @@ public class AfCollectTaskServiceImpl extends ServiceImpl fieldArr = new ArrayList<>(); + fieldArr.add(indexFlagField); + fieldArr.add(serialnumField); + fieldArr.add(inPatientNoField); + fieldArr.add(visitIdField); + fieldArr.add(inJzhField); +// if(StringUtils.isNotBlank(filetitle)){ +// fieldArr.add(filetitle); +// } + fieldArr.add(downurlField); + String namespace = String.valueOf(FileUtils.getJsonByName("namespace")); + String tableName = String.valueOf(FileUtils.getJsonByName("tableName")); +// String collectTimeName = String.valueOf(FileUtils.getJsonByName("collectTimeName")); + + List viewDataList = vDocumentPdfMapper.collectByJzh(inJzhField, jzh, namespace, tableName, fieldArr); + if (CollUtil.isEmpty(viewDataList)) { + logger.info("封存id:{} ,根据记账号:{},采集重症视图:{}:,没有采集到数据!", sealId, jzh, namespace + "." + tableName); + return; + } + logger.info("封存id:{} ,根据记账号:{},采集重症视图:{}:,数据为:{}", sealId, jzh, namespace + "." + tableName, JSON.toJSON(viewDataList)); + + for (Map vieData : viewDataList) { + ReportDownPatientDto reportDownPatientDto = new ReportDownPatientDto(); + reportDownPatientDto.setPatientid(seal.getPatientId()); + + ReportDownScanFileDto reportDownScanFileDto = new ReportDownScanFileDto(); + reportDownScanFileDto.setDownurl(String.valueOf(vieData.get(downurlField))); + reportDownScanFileDto.setFilestoragetype(filestoragetype); + reportDownScanFileDto.setFilesource(filesource); + //reportDownScanFileDto.setFiletitle(map.get(filetitle)==null?"重症"+(System.currentTimeMillis()):String.valueOf(map.get(filetitle))); + reportDownScanFileDto.setFiletitle(StringUtils.isNotBlank(String.valueOf(vieData.get(serialnumField))) ? String.valueOf(vieData.get(serialnumField)) : String.valueOf(idWorker.nextId())); + reportDownScanFileDto.setSerialnum(StringUtils.isNotBlank(String.valueOf(vieData.get(serialnumField))) ? String.valueOf(vieData.get(serialnumField)) : String.valueOf(idWorker.nextId())); + + List reportDownScanFileDtos = Collections.singletonList(reportDownScanFileDto); + + ReportDownDto reportDownDto = new ReportDownDto(); + reportDownDto.setCollectorid(collectorid); + reportDownDto.setAssortid(assortid); + reportDownDto.setPatient(reportDownPatientDto); + reportDownDto.setScanfiles(reportDownScanFileDtos); + + // 保存任务,上报封存病案报告 + afCollectTaskService.insertServer(reportDownDto); + downloadPlatformRpc.sealReport(reportDownDto); + } + } + @Override public void collect(String empId) throws Exception { String collectorid = String.valueOf(FileUtils.getJsonByName("collectorid")); diff --git a/src/main/resources/mapper/dboracle/VDocumentPdfMapper.xml b/src/main/resources/mapper/dboracle/VDocumentPdfMapper.xml index 634e479..802a4b0 100644 --- a/src/main/resources/mapper/dboracle/VDocumentPdfMapper.xml +++ b/src/main/resources/mapper/dboracle/VDocumentPdfMapper.xml @@ -29,5 +29,15 @@ WHERE "NAVICAT_ROWNUM" > ${current} + \ No newline at end of file