feat(REQ-3300) - 增加审批结束后,回退单据状态的逻辑
This commit is contained in:
parent
a8d01d2ca4
commit
9194506e2a
@ -24,9 +24,10 @@ public interface ChangeRecordRelationApi {
|
||||
@PostMapping("/api/visa/relation/list")
|
||||
ApiResult<List<VisaRelationResp>> listByVisaId(@Validated @RequestBody VisaRelationReq req) ;
|
||||
|
||||
@PostMapping("/api/visa/relation/add")
|
||||
ApiResult<Boolean> relationAdd(@Validated @RequestBody ImGroupOperationReq req);
|
||||
@PostMapping("/api/visa/relation/im/operation")
|
||||
ApiResult<Boolean> saveImOperationParticipate(@Validated @RequestBody ImGroupOperationReq req);
|
||||
|
||||
@PostMapping("/api/visa/relation/im/tips")
|
||||
ApiResult<ImGroupTipsResp> queryImGroupTips(@Validated @RequestBody ImGroupTipsQueryReq req);
|
||||
|
||||
}
|
||||
|
||||
@ -37,7 +37,7 @@ public class ChangeRecordRelationController implements ChangeRecordRelationApi {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResult<Boolean> relationAdd(ImGroupOperationReq req) {
|
||||
public ApiResult<Boolean> saveImOperationParticipate(ImGroupOperationReq req) {
|
||||
return ApiResult.ok(changeRecordRelationService.saveImOperationParticipate(req));
|
||||
}
|
||||
|
||||
|
||||
@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user