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-api/src/main/java/cn/axzo/nanopart/visa/api/request/VisaRelationReq.java b/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/request/VisaRelationReq.java index ea9a5c45..17e465bf 100644 --- a/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/request/VisaRelationReq.java +++ b/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/request/VisaRelationReq.java @@ -33,4 +33,6 @@ public class VisaRelationReq { * 可为空,则查询所有关联的数据 */ private VisaRelationFieldEnum fieldEnum; + + private Long id; } diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/controller/ChangeRecordRelationController.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/controller/ChangeRecordRelationController.java index ac34849c..ef800c87 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/controller/ChangeRecordRelationController.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/controller/ChangeRecordRelationController.java @@ -37,6 +37,7 @@ public class ChangeRecordRelationController implements ChangeRecordRelationApi { return ApiResult.ok(changeRecordRelationService.findByCondition(VisaRelationDto.builder() .visaId(req.getVisaId()) .varName(Objects.nonNull(req.getFieldEnum()) ? req.getFieldEnum().name() : null) + .id(req.getId()) .build()) .stream().sorted(Comparator.comparing(ChangeRecordRelation::getCreateAt)) .map(i -> VisaRelationResp.builder() 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/dto/VisaRelationDto.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/dto/VisaRelationDto.java index 69d40f88..c87092ce 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/dto/VisaRelationDto.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/dto/VisaRelationDto.java @@ -43,4 +43,5 @@ public class VisaRelationDto { */ private Long createBy; + private Long id; } diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/mq/listener/im/ImGroupsCreatedEventHandler.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/mq/listener/im/ImGroupsCreatedEventHandler.java index 1d7bb415..f49d53a5 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/mq/listener/im/ImGroupsCreatedEventHandler.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/mq/listener/im/ImGroupsCreatedEventHandler.java @@ -85,9 +85,11 @@ public class ImGroupsCreatedEventHandler implements EventHandler, InitializingBe GroupInfo group = groupChangedMessage.getGroup(); AssertUtil.notNull(group, "group info is null"); try { - sendCardAndMsgToImGroup(group); + // 转移到创建群聊立即发送卡片 + // sendCardAndMsgToImGroup(group); } catch (Exception e) { log.error("send msg to im group error: {}", e.getMessage(), e); + throw e; } log.info("receive create im group event, handle success: {}", JSON.toJSONString(event)); } diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/VisaHelper.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/VisaHelper.java index 553763a0..becc462d 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/VisaHelper.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/VisaHelper.java @@ -100,8 +100,8 @@ public class VisaHelper { .workspaceId(newContext.getWorkspaceId()) .newAmountChange(newContext.getChangeRecord().getAmountChange()) .oldAmountChange(oldContext.getChangeRecord().getAmountChange()) - .newAttach(newContext.getAttachList()) - .oldAttach(oldContext.getAttachList()) +// .newAttach(newContext.getAttachList()) +// .oldAttach(oldContext.getAttachList()) .editFormFlag(true) .build()); } diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordLogServiceImpl.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordLogServiceImpl.java index 55eb4205..c8b15987 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordLogServiceImpl.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordLogServiceImpl.java @@ -16,6 +16,7 @@ import cn.axzo.nanopart.visa.server.utils.Constants; import cn.axzo.orggateway.api.nodeuser.dto.OrgNodeUserDTO; import cn.axzo.orggateway.api.nodeuser.req.ListOrgNodeUserReq; import cn.axzo.orgmanax.dto.nodeuser.req.ListNodeUserReq; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.google.common.collect.Lists; import lombok.extern.slf4j.Slf4j; @@ -79,7 +80,7 @@ public class ChangeRecordLogServiceImpl extends ServiceImpl buildLogList(Long visaId, VisaLogTypeEnum type, VisaLogParam param) { - + log.info("buildLogList,visaId={},type={},param={}", visaId, type, JSON.toJSONString(param)); if (Objects.isNull(visaId) || Objects.isNull(type)) { return Lists.newArrayList(); } diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordRelationServiceImpl.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordRelationServiceImpl.java index 04cd4f59..e510240c 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordRelationServiceImpl.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordRelationServiceImpl.java @@ -150,7 +150,9 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl logList = Lists.newArrayList(); // 1 由[决策中|执行中] -> [审批中] 执行变更签证属性变更 if (Objects.nonNull(param.getOldStatus()) && Objects.nonNull(param.getNewStatus()) @@ -671,8 +672,15 @@ public class ChangeRecordServiceImpl extends ServiceImpl visaUploadFiles = this.buildAttachUploadFile(req.getId()); + /*保存签证信息*/ Long visaId = tempCreateVisaChangeRecord(req); @@ -717,16 +729,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) {