From 52bbdaabefc74514e98e28847735663a00ae4cff Mon Sep 17 00:00:00 2001 From: wyb <1977763549@qq.com> Date: Thu, 13 Feb 2025 19:48:45 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E5=88=A4=E6=96=AD=E7=AC=AC=E4=B8=80?= =?UTF-8?q?=E6=AC=A1=E5=88=A0=E9=99=A4=E5=85=A8=E9=83=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../docus/demo/dto/LianZhongUploadInfo.java | 2 ++ .../docus/demo/service/SyncBasicFileImpl.java | 35 ++++++++++++------- 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/docus/demo/dto/LianZhongUploadInfo.java b/src/main/java/com/docus/demo/dto/LianZhongUploadInfo.java index b82b07f..9171eff 100644 --- a/src/main/java/com/docus/demo/dto/LianZhongUploadInfo.java +++ b/src/main/java/com/docus/demo/dto/LianZhongUploadInfo.java @@ -9,6 +9,7 @@ import java.util.List; */ @Data public class LianZhongUploadInfo { + /** * * 联众上传患者信息 @@ -105,4 +106,5 @@ public class LianZhongUploadInfo { private PatientInfo patientInfo; private List fileInfos; + private int delAllFile; } diff --git a/src/main/java/com/docus/demo/service/SyncBasicFileImpl.java b/src/main/java/com/docus/demo/service/SyncBasicFileImpl.java index 916bfc3..3636f9f 100644 --- a/src/main/java/com/docus/demo/service/SyncBasicFileImpl.java +++ b/src/main/java/com/docus/demo/service/SyncBasicFileImpl.java @@ -430,6 +430,7 @@ public class SyncBasicFileImpl implements ISyncBasicFileService { LianZhongUploadInfo.PatientInfo patientInfo = lianZhongUploadInfo.getPatientInfo(); List fileInfos = lianZhongUploadInfo.getFileInfos(); + boolean isDelAll = 1 == lianZhongUploadInfo.getDelAllFile(); //解析文件上传参数 if (fileInfos.size() != files.length) { @@ -456,25 +457,34 @@ public class SyncBasicFileImpl implements ISyncBasicFileService { } - // 删除旧的存在的同名的联众文件数据、图像 + // 如判断参数如果不是删除全部,删除旧的存在的同名的联众文件数据、图像 if (oldBasic != null) { List scanAssort = scanAssortMapper.getScanAssort(oldBasic.getPatientId(), source); if (!CollectionUtils.isEmpty(scanAssort)) { - for (MultipartFile file : files) { - String originalFilename = file.getOriginalFilename(); + if (isDelAll) { for (ScanAssort assort : scanAssort) { - if (originalFilename.equals(assort.getScanPage())) { - File oldFile = new File(assort.getImagePath() + File.separatorChar + assort.getScanPage()); - try { - oldFile.delete(); // 删除照片 - scanAssortMapper.delScanAssortById(assort.getId()); - break; - } catch (Exception e) { - e.printStackTrace(); + File oldFile = new File(assort.getImagePath() + File.separatorChar + assort.getScanPage()); + oldFile.delete(); // 删除照片 + } + scanAssortMapper.delScanAssort(oldBasic.getPatientId(), source); + } else { + for (MultipartFile file : files) { + String originalFilename = file.getOriginalFilename(); + for (ScanAssort assort : scanAssort) { + if (originalFilename.equals(assort.getScanPage())) { + File oldFile = new File(assort.getImagePath() + File.separatorChar + assort.getScanPage()); + try { + oldFile.delete(); // 删除照片 + scanAssortMapper.delScanAssortById(assort.getId()); + break; + } catch (Exception e) { + e.printStackTrace(); + } } } } } + } } @@ -502,13 +512,14 @@ public class SyncBasicFileImpl implements ISyncBasicFileService { throw new RuntimeException(tbasic.getPatientId() + "保存文件数据库失败"); } SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - log.info("联众同步文件上传,本次批次传输成功病案号码为:{}({})" ,tbasic.getInpatientNo(), sdf.format(tbasic.getDisDate())); + log.info("联众同步文件上传,本次批次传输成功病案号码为:{}({})", tbasic.getInpatientNo(), sdf.format(tbasic.getDisDate())); } public static void main(String[] args) { System.out.println("660000000000202160505".substring(2)); System.out.println("660000000000202160505".substring(12)); } + private ScanAssort addScanAssort(String patientId, String filePathdir, MultipartFile file, LianZhongUploadInfo.FileInfo fileInfo) { //文件保存地址