From 39c3a295a2ccde67a7434c0d2d7ebcef3b9ea459 Mon Sep 17 00:00:00 2001 From: xudawei Date: Thu, 20 Feb 2025 11:55:27 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20(REQ-3300)=20=E9=87=91=E9=A2=9D?= =?UTF-8?q?=E5=8F=98=E6=9B=B4/=E9=99=84=E4=BB=B6=E7=9A=84=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E6=97=A5=E5=BF=97=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../visa/api/request/ChangeStatusRequest.java | 6 +-- .../visa/server/dto/VisaLogParam.java | 38 ++++++++++++++++++- .../service/impl/ChangeRecordServiceImpl.java | 37 +++++++++++++++--- 3 files changed, 71 insertions(+), 10 deletions(-) diff --git a/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/request/ChangeStatusRequest.java b/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/request/ChangeStatusRequest.java index 820e1e28..674ee59d 100644 --- a/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/request/ChangeStatusRequest.java +++ b/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/request/ChangeStatusRequest.java @@ -3,7 +3,7 @@ package cn.axzo.nanopart.visa.api.request; import cn.axzo.framework.domain.ServiceException; import cn.axzo.nanopart.visa.api.enums.VisaLogTypeEnum; import cn.axzo.nanopart.visa.api.enums.VisaStatusEnum; -import com.alibaba.fastjson.JSONObject; +import cn.axzo.nanopart.visa.api.response.VisaDetailByIdResponse; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -73,11 +73,11 @@ public class ChangeStatusRequest { /** * 新的附件 */ - private List newAttach; + private List newAttach; /** * 原的附件 */ - private List oldAttach; + private List oldAttach; /** * 是否编辑表单 diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/dto/VisaLogParam.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/dto/VisaLogParam.java index 89aa170a..8dd99778 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/dto/VisaLogParam.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/dto/VisaLogParam.java @@ -94,12 +94,29 @@ public class VisaLogParam { return fetchChangeAttach(oldAttach, newAttach); } + /** + * 获取删除附件信息 + */ + public static List deleteAttachWithObject(List oldAttach, List newAttach) { + return fetchChangeAttachWithObject(oldAttach, newAttach); + } + /** * 获取上传的附件信息 */ public static List uploadAttach(List newAttach, List oldAttach) { return fetchChangeAttach(newAttach, oldAttach); } + + /** + * 获取上传的附件信息 + */ + public static List uploadAttachWithObject(List newAttach, List oldAttach) { + return fetchChangeAttachWithObject(newAttach, oldAttach); + } + + + /** * 获取变动的附件信息 * 计算集合的单差集,即只返回【集合1】中有,但是【集合2】中没有的元素,例如: @@ -116,7 +133,26 @@ public class VisaLogParam { } List newFileDtoList = VisaDetailByIdResponse.VisaUploadFile.createListByJson(compareSec); - Collection substractList = CollUtil.subtractToList(oldFileDtoList, newFileDtoList); + return fetchChangeAttachWithObject(oldFileDtoList, newFileDtoList); + } + + + + /** + * 获取变动的附件信息 + * 计算集合的单差集,即只返回【集合1】中有,但是【集合2】中没有的元素,例如: + * subtractToList([1,2,3,4],[2,3,4,5]) -》 [1] + */ + private static List fetchChangeAttachWithObject(List compareFir, List compareSec) { + if (CollectionUtils.isEmpty(compareFir)) { + return Lists.newArrayList(); + } + + if (CollectionUtils.isEmpty(compareSec)) { + return compareFir.stream().map(VisaDetailByIdResponse.VisaUploadFile::getFileName).collect(Collectors.toList()); + } + + Collection substractList = CollUtil.subtractToList(compareFir, compareSec); if (CollectionUtils.isEmpty(substractList)) { return Lists.newArrayList(); } diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java index 1e0efb95..0ca0bbb6 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java @@ -263,8 +263,8 @@ public class ChangeRecordServiceImpl extends ServiceImpl visaUploadFiles = this.buildAttachUploadFile(req.getId()); + /*保存签证信息*/ Long visaId = tempCreateVisaChangeRecord(req); @@ -717,16 +720,38 @@ public class ChangeRecordServiceImpl extends ServiceImpl visaUploadFiles) { + ChangeStatusRequest changeStatusRequest = ChangeStatusRequest.builder() .visaId(visaId) .updateStatus(VisaStatusEnum.APPROVING) .personId(req.getOperatorPersonId()) .ouId(req.getOperatorOuId()) .workspaceId(req.getRelationWorkspaceId()) .editFormFlag(true) - .build()); - return visaId; + .newAmountChange(req.getAmountChange()) + .oldAmountChange(changeRecord.getAmountChange()) + .build(); + + if (CollectionUtils.isNotEmpty(req.getAttach())) { + changeStatusRequest.setNewAttach(BeanUtil.copyToList(req.getAttach(), VisaDetailByIdResponse.VisaUploadFile.class)); + } + if (CollectionUtils.isNotEmpty(visaUploadFiles)) { + changeStatusRequest.setOldAttach(visaUploadFiles); + } + // 更新主表状态 + changeStatus(changeStatusRequest); } private String createProcessInstance(VisaChangeApproveCreateReq req, Long visaId) {