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) { //文件保存地址