From 9194506e2a241a1679cd0f7a685b79cf6c343b10 Mon Sep 17 00:00:00 2001 From: wangli Date: Thu, 6 Feb 2025 23:49:04 +0800 Subject: [PATCH] =?UTF-8?q?feat(REQ-3300)=20-=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=AE=A1=E6=89=B9=E7=BB=93=E6=9D=9F=E5=90=8E=EF=BC=8C=E5=9B=9E?= =?UTF-8?q?=E9=80=80=E5=8D=95=E6=8D=AE=E7=8A=B6=E6=80=81=E7=9A=84=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../changerecord/ChangeRecordRelationApi.java | 5 +++-- .../ChangeRecordRelationController.java | 2 +- .../process/ProcessInstanceAllEventHandler.java | 17 +++++++++++++++-- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/changerecord/ChangeRecordRelationApi.java b/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/changerecord/ChangeRecordRelationApi.java index 94eb29b2..33b2d56e 100644 --- a/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/changerecord/ChangeRecordRelationApi.java +++ b/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/changerecord/ChangeRecordRelationApi.java @@ -24,9 +24,10 @@ public interface ChangeRecordRelationApi { @PostMapping("/api/visa/relation/list") ApiResult> listByVisaId(@Validated @RequestBody VisaRelationReq req) ; - @PostMapping("/api/visa/relation/add") - ApiResult relationAdd(@Validated @RequestBody ImGroupOperationReq req); + @PostMapping("/api/visa/relation/im/operation") + ApiResult saveImOperationParticipate(@Validated @RequestBody ImGroupOperationReq req); @PostMapping("/api/visa/relation/im/tips") ApiResult queryImGroupTips(@Validated @RequestBody ImGroupTipsQueryReq req); + } 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 d4699895..0e1bc9df 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,7 +37,7 @@ public class ChangeRecordRelationController implements ChangeRecordRelationApi { } @Override - public ApiResult relationAdd(ImGroupOperationReq req) { + public ApiResult saveImOperationParticipate(ImGroupOperationReq req) { return ApiResult.ok(changeRecordRelationService.saveImOperationParticipate(req)); } diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/mq/listener/workflow/process/ProcessInstanceAllEventHandler.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/mq/listener/workflow/process/ProcessInstanceAllEventHandler.java index 87a61ca5..b244d771 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/mq/listener/workflow/process/ProcessInstanceAllEventHandler.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/mq/listener/workflow/process/ProcessInstanceAllEventHandler.java @@ -1,6 +1,8 @@ package cn.axzo.nanopart.visa.server.mq.listener.workflow.process; import cn.axzo.framework.rocketmq.EventProducer; +import cn.axzo.nanopart.visa.api.enums.VisaStatusEnum; +import cn.axzo.nanopart.visa.api.request.ChangeStatusRequest; import cn.axzo.nanopart.visa.server.domain.ChangeRecord; import cn.axzo.nanopart.visa.server.domain.ChangeRecordLog; import cn.axzo.nanopart.visa.server.domain.ChangeRecordRelation; @@ -16,6 +18,7 @@ import cn.axzo.workflow.starter.handler.ProcessInstanceEventHandler; import org.springframework.stereotype.Component; import java.util.Date; +import java.util.Objects; import static cn.axzo.nanopart.visa.api.constant.VisaConstant.WORKFLOW_VAR_VISA_TYPE_KEY; import static cn.axzo.nanopart.visa.api.enums.VisaLogTypeEnum.APPROVE_COMPLETED; @@ -133,8 +136,9 @@ public class ProcessInstanceAllEventHandler extends BasicLogSupport implements P private void updateChangeRecordApprovalStatus(ProcessInstanceDTO dto, BpmnProcessInstanceResultEnum resultEnum) { // 更新主表审批信息 + Long visaId = Long.valueOf(dto.getBusinessKey()); changeRecordService.lambdaQuery() - .eq(ChangeRecord::getId, Long.valueOf(dto.getBusinessKey())) + .eq(ChangeRecord::getId, visaId) .eq(ChangeRecord::getApprovalId, dto.getProcessInstanceId()) .eq(ChangeRecord::getIsDelete, 0) .oneOpt() @@ -146,7 +150,7 @@ public class ProcessInstanceAllEventHandler extends BasicLogSupport implements P // 更新关联表审批信息 changeRecordRelationService.lambdaQuery() - .eq(ChangeRecordRelation::getVisaId, Long.valueOf(dto.getBusinessKey())) + .eq(ChangeRecordRelation::getVisaId, visaId) .eq(ChangeRecordRelation::getVarName, PROCESS_INSTANCE.getCode()) .eq(ChangeRecordRelation::getContent, dto.getProcessInstanceId()) .oneOpt() @@ -155,5 +159,14 @@ public class ProcessInstanceAllEventHandler extends BasicLogSupport implements P changeRecordRelationService.updateById(changeRecordRelation); }); + if (Objects.equals(resultEnum, BpmnProcessInstanceResultEnum.APPROVED)) { + return; + } + // 回退到待提报或决策中 + ChangeRecord visa = changeRecordService.getById(visaId); + changeRecordService.changeStatus(ChangeStatusRequest.builder() + .visaId(visaId) + .updateStatus(Objects.isNull(visa.getImGroupId()) ? VisaStatusEnum.REPORT_FROM_APPROVE : VisaStatusEnum.DECIDING_FROM_APPROVE) + .build()); } }