From 7d0784d89db05c39eb7c1ea84b965842e1713d30 Mon Sep 17 00:00:00 2001 From: linjj <850658129@qq.com> Date: Thu, 27 Mar 2025 22:40:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../duplicate/controller/TaskController.java | 4 + .../controller/param/ArchiveDetailDto.java | 2 + .../controller/param/FileUpload.java | 2 + .../controller/param/updateTaskDto.java | 4 +- .../service/impl/TaskServiceImpl.java | 105 ++++++++++-------- .../resources/mapper/ArchiveDetailMapper.xml | 9 +- 6 files changed, 75 insertions(+), 51 deletions(-) diff --git a/src/main/java/com/example/duplicate/controller/TaskController.java b/src/main/java/com/example/duplicate/controller/TaskController.java index 2f910ae..28fe903 100644 --- a/src/main/java/com/example/duplicate/controller/TaskController.java +++ b/src/main/java/com/example/duplicate/controller/TaskController.java @@ -181,6 +181,10 @@ public class TaskController { log.info(format + "文件MD5码不能为空不能为空!"); return CommonResult.failed("文件MD5码不能为空不能为空"); } + if (StringUtils.isBlank(dto.getSoleKey())) { + log.info(format + "SoleKey值不能为空!"); + return CommonResult.failed("文件MD5码不能为空不能为空"); + } } if (fileUpload.size() != files.length) { log.info(format + "文件上传参数为空!"); diff --git a/src/main/java/com/example/duplicate/controller/param/ArchiveDetailDto.java b/src/main/java/com/example/duplicate/controller/param/ArchiveDetailDto.java index a6e50be..42c0833 100644 --- a/src/main/java/com/example/duplicate/controller/param/ArchiveDetailDto.java +++ b/src/main/java/com/example/duplicate/controller/param/ArchiveDetailDto.java @@ -28,6 +28,8 @@ public class ArchiveDetailDto { private String serialNumber; //扩展字段 private String C1; + //扩展唯一标识 + private String SoleKey; } \ No newline at end of file diff --git a/src/main/java/com/example/duplicate/controller/param/FileUpload.java b/src/main/java/com/example/duplicate/controller/param/FileUpload.java index 5a5edb6..2a108b4 100644 --- a/src/main/java/com/example/duplicate/controller/param/FileUpload.java +++ b/src/main/java/com/example/duplicate/controller/param/FileUpload.java @@ -26,5 +26,7 @@ public class FileUpload { private String SerialNumber; //采集器id标识 private String C1; + //唯一主键 + private String SoleKey; } diff --git a/src/main/java/com/example/duplicate/controller/param/updateTaskDto.java b/src/main/java/com/example/duplicate/controller/param/updateTaskDto.java index 2e5c39c..7d5c68d 100644 --- a/src/main/java/com/example/duplicate/controller/param/updateTaskDto.java +++ b/src/main/java/com/example/duplicate/controller/param/updateTaskDto.java @@ -28,10 +28,10 @@ public class updateTaskDto { @ApiModelProperty(value="备注",name="pinResult", required=true) private String pinResult; - @ApiModelProperty(value="异常信息",name="errorInfo", required=true) + @ApiModelProperty(value="异常信息",name="errorInfo", required=false) private String errorInfo; - @ApiModelProperty(value="异常信息",name="errorImage", required=true) + @ApiModelProperty(value="异常信息图片",name="errorImage",required=false) private String errorImage; diff --git a/src/main/java/com/example/duplicate/service/impl/TaskServiceImpl.java b/src/main/java/com/example/duplicate/service/impl/TaskServiceImpl.java index f0c88f9..267110f 100644 --- a/src/main/java/com/example/duplicate/service/impl/TaskServiceImpl.java +++ b/src/main/java/com/example/duplicate/service/impl/TaskServiceImpl.java @@ -171,6 +171,7 @@ public class TaskServiceImpl implements TaskService { try { //根据患者masterId,collectId删除 boolean stactic = archiveDetailMapper.delFileBySource(masterId, collectId); + log.info("删除接口调用"); if (stactic) { return CommonResult.success("删除成功,masterId:" + masterId+"删除分类:"+collectId); } @@ -222,60 +223,68 @@ public class TaskServiceImpl implements TaskService { @Override public Boolean fileUpload(MultipartFile file, FileUpload dto) { - //使用yyyyMMddHHmmssSSS格式作为文件名 - Date date = new Date(); - SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmssSSS"); - String newDate = format.format(date); - //文件更新时间 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - //文件保存目录 - String filePathdir = savePath + File.separatorChar + dto.getMasterid(); - File filePath = new File(filePathdir); - //判断文件夹是否存在不存在创建文件夹 - if (!filePath.exists()) { - filePath.mkdirs(); - } - //文件地址 - String saveFilePath = filePathdir + File.separatorChar + newDate + ".pdf"; try { - file.transferTo(new File(saveFilePath)); - } catch (IOException e) { - log.info("保存文件失败流水号:" + dto.getSubassort()); - return false; - } - try { - //判断文件表是否存在流水号存则更新 - List archiveDetailList = archiveDetailMapper.getDetailBySerialNumber(dto.getSubassort()); - if (!CollectionUtils.isEmpty(archiveDetailList)) { - for (ArchiveDetailDto details : archiveDetailList) { - //存在删除对应记录 - if (archiveDetailMapper.deleteByPrimaryKey(details.getId())) { - File file1 = new File(details.getPdfPath()); - try { - file1.delete(); // 删除照片 - } catch (Exception e) { - e.printStackTrace(); + //使用yyyyMMddHHmmssSSS格式作为文件名 + Date date = new Date(); + SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmssSSS"); + String newDate = format.format(date); + //文件更新时间 + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + //文件保存目录 + String filePathdir = savePath + File.separatorChar + dto.getMasterid(); + File filePath = new File(filePathdir); + //判断文件夹是否存在不存在创建文件夹 + if (!filePath.exists()) { + filePath.mkdirs(); + } + //文件地址 + String saveFilePath = filePathdir + File.separatorChar + newDate + ".pdf"; + try { + file.transferTo(new File(saveFilePath)); + } catch (IOException e) { + log.info("保存文件失败流水号:" + dto.getSubassort()); + return false; + } + try { + //判断文件表是否存在流水号存则更新 + List archiveDetailList = archiveDetailMapper.getDetailBySerialNumber(dto.getSoleKey()); + if (!CollectionUtils.isEmpty(archiveDetailList)) { + log.info("保存文件接口存在删除记录:" + dto.getSubassort()); + for (ArchiveDetailDto details : archiveDetailList) { + //存在删除对应记录 + if (archiveDetailMapper.deleteByPrimaryKey(details.getId())) { + log.info("保存文件接口存在删除记录:" + dto.getSubassort()); + File file1 = new File(details.getPdfPath()); + try { + file1.delete(); // 删除照片 + } catch (Exception e) { + e.printStackTrace(); + } } } } - } - //保存文件表 - ArchiveDetailDto archiveDetail = new ArchiveDetailDto(); - archiveDetail.setId(newDate); - archiveDetail.setPdfPath(saveFilePath); - archiveDetail.setMasterid(dto.getMasterid()); - archiveDetail.setUploaddatetime(dateFormat.format(new Date())); - archiveDetail.setAssortid(dto.getAssortid()); - archiveDetail.setSource(dto.getSource()); - archiveDetail.setSubassort(dto.getSubassort()); - archiveDetail.setTitle(dto.getTitle()); - archiveDetail.setFlag("0"); - archiveDetail.setC1(dto.getC1()); - if (archiveDetailMapper.insertSel(archiveDetail)) { - return true; + //保存文件表 + ArchiveDetailDto archiveDetail = new ArchiveDetailDto(); + archiveDetail.setId(newDate); + archiveDetail.setPdfPath(saveFilePath); + archiveDetail.setMasterid(dto.getMasterid()); + archiveDetail.setUploaddatetime(dateFormat.format(new Date())); + archiveDetail.setAssortid(dto.getAssortid()); + archiveDetail.setSource(dto.getSource()); + archiveDetail.setSubassort(dto.getSubassort()); + archiveDetail.setTitle(dto.getTitle()); + archiveDetail.setFlag("0"); + archiveDetail.setC1(dto.getC1()); + archiveDetail.setSoleKey(dto.getSoleKey()); + if (archiveDetailMapper.insertSel(archiveDetail)) { + return true; + } + } catch (Exception e) { + log.error("异常处理:" + e.getMessage(),e); + return false; } } catch (Exception e) { - return false; + log.error("异常处理:" + e.getMessage(),e); } return false; } diff --git a/src/main/resources/mapper/ArchiveDetailMapper.xml b/src/main/resources/mapper/ArchiveDetailMapper.xml index 73e6ae0..761b318 100644 --- a/src/main/resources/mapper/ArchiveDetailMapper.xml +++ b/src/main/resources/mapper/ArchiveDetailMapper.xml @@ -37,6 +37,9 @@ C1, + + SoleKey, + @@ -72,6 +75,10 @@ #{C1,jdbcType=NVARCHAR}, + + #{SoleKey,jdbcType=NVARCHAR}, + + @@ -84,6 +91,6 @@ \ No newline at end of file