Merge branch 'feature/REQ-7125' into dev

This commit is contained in:
wangli 2026-03-02 10:08:27 +08:00
commit 7cc2cab7cc
6 changed files with 25 additions and 7 deletions

View File

@ -192,12 +192,12 @@ public interface ProcessTaskApi {
CommonResponse<Boolean> countersignTask(@Validated @RequestBody BpmnTaskCountersignDTO dto);
/**
* 重置节点审批人提级审批
* 重置节点审批人提级审批指定审批人
*
* @param dto
* @return
*/
@Operation(summary = "重置节点审批人(提级审批")
@Operation(summary = "重置节点审批人(提级审批、指定审批人")
@PostMapping("/api/process/task/approvers/reset")
@InvokeMode(ASYNC)
CommonResponse<Boolean> resetTaskApprovers(@Validated @RequestBody BpmnTaskResetApproversDTO dto);

View File

@ -3,6 +3,7 @@ package cn.axzo.workflow.common.model.request.bpmn.task;
import cn.axzo.workflow.common.constraint.AttachmentTypeValidator;
import cn.axzo.workflow.common.constraint.AttachmentValidator;
import cn.axzo.workflow.common.enums.AttachmentTypeEnum;
import cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
@ -80,6 +81,11 @@ public class BpmnTaskResetApproversDTO implements Serializable {
@NotNull(message = "任务发起人不能为空")
private BpmnTaskDelegateAssigner originAssigner;
/**
* 设置节点审批人操作后的角标
*/
@ApiModelProperty(value = "设置节点审批人操作后的角标")
private BpmnProcessInstanceResultEnum statusEnum;
/**
* 是否异步执行
*/

View File

@ -1,5 +1,6 @@
package cn.axzo.workflow.core.engine.cmd;
import cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum;
import cn.axzo.workflow.common.exception.WorkflowEngineException;
import cn.axzo.workflow.common.model.request.bpmn.task.AttachmentDTO;
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner;
@ -25,6 +26,7 @@ import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
import static cn.axzo.workflow.common.code.OtherRespCode.ASSIGNEE_NODE_ID_NOT_EXISTS;
@ -56,14 +58,22 @@ public class CustomResetTaskApproversCmd extends AbstractCommand<Void> implement
private final List<AttachmentDTO> attachmentList;
private final BpmnTaskDelegateAssigner originTaskAssignee;
private final List<BpmnTaskDelegateAssigner> targetTaskAssigneeList;
private final BpmnProcessInstanceResultEnum statusEnum;
private final ExtAxHiTaskInstService extAxHiTaskInstService;
public CustomResetTaskApproversCmd(String originTaskId, String advice, List<AttachmentDTO> attachmentList, BpmnTaskDelegateAssigner originTaskAssignee, List<BpmnTaskDelegateAssigner> targetTaskAssigneeList, ExtAxHiTaskInstService extAxHiTaskInstService) {
public CustomResetTaskApproversCmd(String originTaskId,
String advice,
List<AttachmentDTO> attachmentList,
BpmnTaskDelegateAssigner originTaskAssignee,
List<BpmnTaskDelegateAssigner> targetTaskAssigneeList,
BpmnProcessInstanceResultEnum statusEnum,
ExtAxHiTaskInstService extAxHiTaskInstService) {
this.originTaskId = originTaskId;
this.advice = advice;
this.attachmentList = attachmentList;
this.originTaskAssignee = originTaskAssignee;
this.targetTaskAssigneeList = targetTaskAssigneeList;
this.statusEnum = statusEnum;
this.extAxHiTaskInstService = extAxHiTaskInstService;
}
@ -119,7 +129,7 @@ public class CustomResetTaskApproversCmd extends AbstractCommand<Void> implement
// 将提级审批人加签
taskDelegateAssigners.forEach(assigner -> CustomTaskHelper.addMultiTask(commandContext, taskEntity, assigner));
taskEntity.setTransientVariable(TASK_COMPLETE_OPERATION_TYPE + taskEntity.getId(), UPGRADED.getStatus());
taskEntity.setTransientVariable(TASK_COMPLETE_OPERATION_TYPE + taskEntity.getId(), Objects.nonNull(statusEnum) ? statusEnum.getStatus() : UPGRADED.getStatus());
CustomTaskHelper.deleteMultiTasks(commandContext, tasks);
// 移除引擎内部用于确定人的快照变量

View File

@ -1,5 +1,6 @@
package cn.axzo.workflow.core.engine.job;
import cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum;
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskResetApproversDTO;
import cn.axzo.workflow.core.engine.cmd.CustomResetTaskApproversCmd;
import cn.axzo.workflow.core.service.ExtAxHiTaskInstService;
@ -40,6 +41,7 @@ public class AsyncResetApproversUserTaskJobHandler extends AbstractJobHandler im
dto.getAttachmentList(),
dto.getOriginAssigner(),
dto.getTargetAssignerList(),
BpmnProcessInstanceResultEnum.UPGRADED,
extAxHiTaskInstService));
}
}

View File

@ -877,7 +877,7 @@ public class BpmnProcessTaskServiceImpl implements BpmnProcessTaskService {
commandExecutor.execute(new CustomResetTaskApproversAsyncCmd(dto));
} else {
commandExecutor.execute(new CustomResetTaskApproversCmd(dto.getTaskId(), dto.getAdvice(),
dto.getAttachmentList(), dto.getOriginAssigner(), dto.getTargetAssignerList(), extAxHiTaskInstService));
dto.getAttachmentList(), dto.getOriginAssigner(), dto.getTargetAssignerList(), dto.getStatusEnum(), extAxHiTaskInstService));
}
}

View File

@ -606,12 +606,12 @@ public interface WorkflowCoreService {
Boolean countersignTask(@Validated @RequestBody BpmnTaskCountersignDTO dto);
/**
* 重置节点审批人提级审批
* 重置节点审批人提级审批指定审批人
*
* @param dto
* @return
*/
@Operation(summary = "重置节点审批人(提级审批")
@Operation(summary = "重置节点审批人(提级审批、指定审批人")
@PostMapping("/api/process/task/approvers/reset")
@InvokeMode(ASYNC)
Boolean resetTaskApprovers(@Validated @RequestBody BpmnTaskResetApproversDTO dto);