From 4fc3943aabf94b75abf98e815db96b45d2ecf65f Mon Sep 17 00:00:00 2001 From: linjj <850658129@qq.com> Date: Wed, 10 Jul 2024 09:01:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B8=82=E4=B8=80=E5=90=8C=E6=AD=A5=E8=81=94?= =?UTF-8?q?=E4=BC=97=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../docus/demo/service/SyncBasicFileImpl.java | 39 +++++++++++++------ .../resources/mapper/mysql/BasicMapper.xml | 5 +-- .../mapper/mysql/ScanAssortMapper.xml | 2 +- 3 files changed, 29 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/docus/demo/service/SyncBasicFileImpl.java b/src/main/java/com/docus/demo/service/SyncBasicFileImpl.java index 9c38314..e6024b4 100644 --- a/src/main/java/com/docus/demo/service/SyncBasicFileImpl.java +++ b/src/main/java/com/docus/demo/service/SyncBasicFileImpl.java @@ -207,6 +207,7 @@ public class SyncBasicFileImpl implements ISyncBasicFileService { String patientId = fileUploadJpg.get(0).getPatientId(); Integer admissTimes = fileUploadJpg.get(0).getAdmissTimes(); String admissId = fileUploadJpg.get(0).getAdmissId(); + Date disDate = fileUploadJpg.get(0).getDisDate(); //组织基础数据 Tbasic tbasic = this.getTbasic(fileUploadJpg); tbasics.add(tbasic); @@ -224,9 +225,9 @@ public class SyncBasicFileImpl implements ISyncBasicFileService { if (basicMapper.delTbasicByPatientId(admissId)) { //删除路径图像 List scanAssort = scanAssortMapper.getScanAssort(basicPatientId); - if (!CollectionUtils.isEmpty(scanAssort)){ - for (ScanAssort list:scanAssort){ - File file = new File(list.getImagePath()+File.separatorChar+list.getScanPage()); + if (!CollectionUtils.isEmpty(scanAssort)) { + for (ScanAssort list : scanAssort) { + File file = new File(list.getImagePath() + File.separatorChar + list.getScanPage()); try { file.delete(); // 删除照片 } catch (Exception e) { @@ -256,13 +257,7 @@ public class SyncBasicFileImpl implements ISyncBasicFileService { return CommonResult.failed("文件名:" + file.getOriginalFilename() + "与病案号:" + patientId + "集合中中文名不匹配"); } } - //文件保存目录 - String filePathdir = savePath + File.separatorChar + patientId + File.separatorChar + admissTimes; - File filePath = new File(filePathdir); - //判断文件夹是否存在不存在创建文件夹 - if (!filePath.exists()) { - filePath.mkdirs(); - } + String filePathdir = createDirectory(patientId, admissTimes, admissId, disDate); //保存文件 for (MultipartFile file : files) { for (FileUploadJpgDto dto : fileUploadJpg) { @@ -285,18 +280,37 @@ public class SyncBasicFileImpl implements ISyncBasicFileService { } log.info("本次传输成功病案主键为:" + patientId); } catch (Exception e) { - return CommonResult.failed("保存失败!异常处理" + e.getMessage()); + log.info("保存失败!异常处理" + e); + return CommonResult.failed("保存失败!异常处理" + e); } return CommonResult.success("完成"); } + private String createDirectory(String patientId, Integer admissTimes, String admissId, Date disDate) { + //根据年/月/日/住院号_住院次数/patientId生成目录 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String disDateTime = sdf.format(disDate); + String[] parts = disDateTime.split("-"); + String year = parts[0]; + String month = parts[1]; + String day = parts[2]; + //文件保存目录 + String filePathdir = savePath + File.separatorChar + year + File.separatorChar + month + File.separatorChar + day+File.separatorChar+ admissId +"_"+ admissTimes +File.separatorChar+ patientId; + File filePath = new File(filePathdir); + //判断文件夹是否存在不存在创建文件夹 + if (!filePath.exists()) { + filePath.mkdirs(); + } + return filePathdir; + } + private ScanAssort addScanAssort(String patientId, String filePathdir, MultipartFile file, FileUploadJpgDto dto, int[] sort) { //文件保存地址 String toJpgFilePath = filePathdir + File.separatorChar + dto.getUploadFileName(); try { file.transferTo(new File(toJpgFilePath)); } catch (IOException e) { - log.info("将pdf文件保存本地失败:" + dto.getUploadFileName() + "," + e.getMessage()); + log.info("将jpg文件保存本地失败:" + dto.getUploadFileName() + "," + e.getMessage()); return null; } //组织新数据 @@ -312,6 +326,7 @@ public class SyncBasicFileImpl implements ISyncBasicFileService { scanAssort.setFileSource(2); scanAssort.setFileStorageType(1); scanAssort.setFilePages(1); + scanAssort.setCreater("admin"); sort[0] += 1; return scanAssort; } diff --git a/src/main/resources/mapper/mysql/BasicMapper.xml b/src/main/resources/mapper/mysql/BasicMapper.xml index 8a78b4b..dbcab22 100644 --- a/src/main/resources/mapper/mysql/BasicMapper.xml +++ b/src/main/resources/mapper/mysql/BasicMapper.xml @@ -159,13 +159,10 @@ AND dis_date <= #{dto.endDate} - - limit #{pageStart} ,#{pageEnd} - \ No newline at end of file diff --git a/src/main/resources/mapper/mysql/ScanAssortMapper.xml b/src/main/resources/mapper/mysql/ScanAssortMapper.xml index d244bf6..e898304 100644 --- a/src/main/resources/mapper/mysql/ScanAssortMapper.xml +++ b/src/main/resources/mapper/mysql/ScanAssortMapper.xml @@ -54,7 +54,7 @@ ) - delete from ocus_archivefile.t_scan_assort where patient_id=#{patientId} + delete from docus_archivefile.t_scan_assort where patient_id=#{patientId}