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()); } }