feat(REQ-7125) - 调整中止文案为终止
This commit is contained in:
parent
ae5048c6b2
commit
f7c83133c7
@ -26,8 +26,8 @@
|
||||
|
||||
> - 支持“政务”类型的模型管理。
|
||||
> - 支持模型批量控制和手写签名的控制。
|
||||
> - 新增转交、加签、中止功能的异步支持。
|
||||
> - 新增批量转交和中止的功能支持。
|
||||
> - 新增转交、加签、终止功能的异步支持。
|
||||
> - 新增批量转交和终止的功能支持。
|
||||
> - 优化引擎内部异步任务携带真实的 traceId。
|
||||
|
||||
### 1.3.2-SNAPSHOT
|
||||
@ -50,7 +50,7 @@
|
||||
> - 重构审批日志的模型, 形成统一标准
|
||||
> - 新增评论功能,并支持在评论中上传图片/附件和链接
|
||||
> - 新增审批分类以及分类的黑白名单配置功能
|
||||
> - 新增系统中止流程的功能
|
||||
> - 新增系统终止流程的功能
|
||||
> - 新增机器人节点
|
||||
> - 优化 Activity 活动事件, 确保在多实例状态下, 更符合业务逻辑的执行
|
||||
> - 其他小细节的功能优化
|
||||
|
||||
@ -76,7 +76,7 @@ act_ge_bytearray (很多元数据)
|
||||
| 催办 | 对于时效要求高的流程,发起人可催办提醒当前节点处理人,一般以消息通知方式提醒处理人 |
|
||||
| 撤销 | 发起人操作,可以撤销当前流程 |
|
||||
| 取回 | 当前节点上一节点处理人操作,当前节点处理人还未处理,上一节点处理人可以将其退回自己手中重新操作(取回重办) |
|
||||
| 中止 | 当前节点处理人,中止当前流程 |
|
||||
| 终止 | 当前节点处理人,终止当前流程 |
|
||||
| 抄送 | 当前节点处理人,处理完成之后将处理结果抄送给其他人,这里创建备注信息,并给所有抄送人创建子任务(待阅),子任务不影响流程流转 |
|
||||
| 向前加签 | 当前节点处理人,需要让其他人核对流程,其他人核对完成后,回到当前节点处理人手中,当前节点处理人处理完后进入下一节点 |
|
||||
| 向后加签 | 当前节点处理人,需要让其他人核对流程,其他人核对完成后,直接进入下一节点 |
|
||||
@ -86,7 +86,7 @@ act_ge_bytearray (很多元数据)
|
||||
|
||||
## 4. 如何配置一个流程?
|
||||
|
||||
> 流程的运行依赖一种规则,得让引擎知道何时开始执行流程? 何时中止? 如何识别和控制每个步骤该怎么处理? 执行过程中如何走向不同的路径?
|
||||
> 流程的运行依赖一种规则,得让引擎知道何时开始执行流程? 何时终止? 如何识别和控制每个步骤该怎么处理? 执行过程中如何走向不同的路径?
|
||||
> 比如: 我们常见的需求, 某个节点需要会签/或签, 或者某个节点需要判断条件是否执行该步骤等等.
|
||||
>
|
||||
> 以上这些规则都需要再创建流程实例时, 提前就告诉引擎, 且运行过程和步骤中是不可变的. 引擎自己也未提供相应能力.
|
||||
|
||||
@ -17,7 +17,6 @@ import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
import static cn.axzo.workflow.common.enums.RpcInvokeModeEnum.ASYNC;
|
||||
import static cn.axzo.workflow.common.enums.RpcInvokeModeEnum.SYNC;
|
||||
|
||||
/**
|
||||
@ -57,7 +56,7 @@ public interface ProcessActivityApi {
|
||||
* <p>
|
||||
* 当模型中使用了“业务节点”,且设置了“业务指定审批人”模式,则当业务监听到 PROCESS_ACTIVITY_WAIT_ASSIGNEE 事件时,可通过该接口设置动态设置审批人
|
||||
* <p>
|
||||
* <strong color=orange>注意:如果调用接口时,传入的审批人集合为空,流程引擎将对该审批流程实例自动中止。</strong>
|
||||
* <strong color=orange>注意:如果调用接口时,传入的审批人集合为空,流程引擎将对该审批流程实例自动终止。</strong>
|
||||
*
|
||||
* @param dto
|
||||
* @return
|
||||
|
||||
@ -115,23 +115,23 @@ public interface ProcessInstanceApi {
|
||||
CommonResponse<Boolean> superCancelProcessInstance(@Validated @RequestBody SuperBpmnProcessInstanceCancelDTO dto);
|
||||
|
||||
/**
|
||||
* 中止流程实例
|
||||
* 终止流程实例
|
||||
*
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
@Operation(summary = "中止流程实例")
|
||||
@Operation(summary = "终止流程实例")
|
||||
@DeleteMapping("/api/process/instance/abort")
|
||||
@InvokeMode(ASYNC)
|
||||
CommonResponse<Boolean> abortProcessInstance(@Validated @RequestBody BpmnProcessInstanceAbortDTO dto);
|
||||
|
||||
/**
|
||||
* 批量中止流程实例
|
||||
* 批量终止流程实例
|
||||
*
|
||||
* @param dtos
|
||||
* @return
|
||||
*/
|
||||
@Operation(summary = "批量中止流程实例")
|
||||
@Operation(summary = "批量终止流程实例")
|
||||
@DeleteMapping("/api/process/instance/batch/abort")
|
||||
@InvokeMode(ASYNC)
|
||||
CommonResponse<BatchOperationResultVO> batchAbortProcessInstance(@Validated @RequestBody List<BpmnProcessInstanceAbortDTO> dtos);
|
||||
|
||||
@ -20,7 +20,7 @@ public enum BpmnInstanceRespCode implements IModuleRespCode {
|
||||
PROCESS_INSTANCE_ID_NOT_EXISTS("005", "流程实例【{}】不存在"),
|
||||
PROCESS_INSTANCE_CANCELLED("006", "流程实例已撤回"),
|
||||
PROCESS_INSTANCE_CANT_CANCEL("007", "流程实例不能撤回"),
|
||||
PROCESS_INSTANCE_CANT_ABORT("008", "流程实例不能中止"),
|
||||
PROCESS_INSTANCE_CANT_ABORT("008", "流程实例不能终止"),
|
||||
PROCESS_INSTANCE_CANT_UPDATE("009", "流程实例不能更新"),
|
||||
PROCESS_INSTANCE_CANT_DELETE("010", "流程实例不能删除"),
|
||||
PROCESS_INSTANCE_CANT_START("011", "流程实例不能启动"),
|
||||
|
||||
@ -27,7 +27,7 @@ public interface BpmnConstants {
|
||||
String INTERNAL_PROCESS_TYPE_REJECT = "[_INTERNAL_PROCESS_TYPE_REJECT_]";
|
||||
String INTERNAL_PROCESS_TYPE_ABORT = "[_INTERNAL_PROCESS_TYPE_ABORT_]";
|
||||
String INTERNAL_SPECIFY_NEXT_APPROVER = "[_INTERNAL_SPECIFY_NEXT_APPROVER_]";
|
||||
// 取消/驳回/中止时,记录原因
|
||||
// 取消/驳回/终止时,记录原因
|
||||
String INTERNAL_PROCESS_DELETE_REASON = "[_INTERNAL_PROCESS_DELETE_REASON_]";
|
||||
String BIZ_ORG_RELATION = "[_BIZ_ORG_RELATION_]";
|
||||
String PENDING_TEMPLATE_VARIABLE = "[_PENDING_VARIABLES]";
|
||||
|
||||
@ -24,7 +24,7 @@ public enum BpmnFlowNodeType {
|
||||
NODE_TRIGGER("NODE_TRIGGER", "触发器节点"),
|
||||
NODE_ROBOT("NODE_ROBOT", "机器人节点"),
|
||||
NODE_COMMENT("NODE_COMMENT", "评论节点"),
|
||||
NODE_ABORT("NODE_ABORT", "中止节点"),
|
||||
NODE_ABORT("NODE_ABORT", "终止节点"),
|
||||
NODE_ALTER("NODE_ALTER", "告警节点"),
|
||||
NODE_CANCEL("NODE_CANCEL", "撤回节点"),
|
||||
NODE_EMPTY("NODE_EMPTY", "空节点"),
|
||||
|
||||
@ -13,7 +13,7 @@ public enum BpmnProcessInstanceResultEnum {
|
||||
REJECTED("REJECTED", "已驳回"),
|
||||
BACKED("BACKED", "已回退"),
|
||||
CANCELLED("CANCELLED", "已撤回"),
|
||||
ABORTED("ABORTED", "已中止"),
|
||||
ABORTED("ABORTED", "已终止"),
|
||||
TRANSFER("TRANSFER", "已转交"),
|
||||
COUNTERSIGN("COUNTERSIGN", "已加签"),
|
||||
UPGRADED("UPGRADED", "已提级"),
|
||||
|
||||
@ -14,7 +14,7 @@ public enum ProcessInstanceEventEnum {
|
||||
PROCESS_INSTANCE_STARTED("process-instance", "process-instance-started", "流程实例已开始"),
|
||||
PROCESS_INSTANCE_CANCELLED("process-instance", "process-instance-cancelled", "流程实例已撤回"),
|
||||
PROCESS_INSTANCE_REJECTED("process-instance", "process-instance-rejected", "流程实例已驳回"),
|
||||
PROCESS_INSTANCE_ABORTED("process-instance", "process-instance-aborted", "流程实例已中止"),
|
||||
PROCESS_INSTANCE_ABORTED("process-instance", "process-instance-aborted", "流程实例已终止"),
|
||||
PROCESS_INSTANCE_COMPLETED("process-instance", "process-instance-completed", "流程实例已结束"),
|
||||
;
|
||||
private final String module;
|
||||
|
||||
@ -18,12 +18,12 @@ import javax.validation.constraints.Size;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 中止流程实例的入参模型
|
||||
* 终止流程实例的入参模型
|
||||
*
|
||||
* @author wangli
|
||||
* @since 2024/1/2 17:49
|
||||
*/
|
||||
@ApiModel("中止流程实例的入参模型")
|
||||
@ApiModel("终止流程实例的入参模型")
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@ -45,11 +45,11 @@ public class BpmnProcessInstanceAbortDTO {
|
||||
private String tenantId;
|
||||
|
||||
/**
|
||||
* 中止原因
|
||||
* 终止原因
|
||||
*/
|
||||
@ApiModelProperty(value = "中止原因")
|
||||
@NotBlank(message = "中止原因不能为空")
|
||||
@Length(max = 100, message = "中止原因长度不能超过 100 个字符")
|
||||
@ApiModelProperty(value = "终止原因")
|
||||
@NotBlank(message = "终止原因不能为空")
|
||||
@Length(max = 100, message = "终止原因长度不能超过 100 个字符")
|
||||
private String reason;
|
||||
|
||||
/**
|
||||
@ -57,7 +57,7 @@ public class BpmnProcessInstanceAbortDTO {
|
||||
* advice 统一均为审批节点的审批意见,一般为用户在同意、驳回时填写的内容
|
||||
* 有值时,在日志中一般出现在 operationDesc 的下方
|
||||
*/
|
||||
@ApiModelProperty(value = "中止意见")
|
||||
@ApiModelProperty(value = "终止意见")
|
||||
private String advice;
|
||||
|
||||
/**
|
||||
@ -73,14 +73,14 @@ public class BpmnProcessInstanceAbortDTO {
|
||||
private List<AttachmentDTO> attachmentList;
|
||||
|
||||
/**
|
||||
* 中止节点的名称
|
||||
* 为空时,则默认展示为“系统中止”
|
||||
* 终止节点的名称
|
||||
* 为空时,则默认展示为“系统终止”
|
||||
*/
|
||||
@ApiModelProperty(value = "中止节点名称")
|
||||
@ApiModelProperty(value = "终止节点名称")
|
||||
private String nodeName;
|
||||
|
||||
/**
|
||||
* 指定中止的操作人信息
|
||||
* 指定终止的操作人信息
|
||||
* <p>
|
||||
* 只能是 axzo 平台存在的人
|
||||
*/
|
||||
|
||||
@ -49,7 +49,7 @@ public class BpmnActivitySetAssigneeDTO {
|
||||
/**
|
||||
* 需要设置的审批人, 业务侧自行去重, 请根据 personId 进行去重, 如果发现有重复, 并抛出异常.
|
||||
* <p>
|
||||
* 业务如果传入的 assigners 集合为空, 引擎则会对该流程进行自动中止处理,且驳回意见为“业务未指定审批人”
|
||||
* 业务如果传入的 assigners 集合为空, 引擎则会对该流程进行自动终止处理,且驳回意见为“业务未指定审批人”
|
||||
*/
|
||||
@ApiModelProperty(value = "审批人集合信息", notes = "业务传参时,需要注意去重")
|
||||
@Size(max = 60, message = "指定审批人数量限制为60")
|
||||
|
||||
@ -99,7 +99,7 @@ public class ProcessInstanceDTO implements Serializable {
|
||||
/**
|
||||
* 对流程实例做否定操作时的原因
|
||||
* <p>
|
||||
* 如: 中止/驳回/撤回功能
|
||||
* 如: 终止/驳回/撤回功能
|
||||
*/
|
||||
private String reason;
|
||||
|
||||
|
||||
@ -41,7 +41,7 @@ import static cn.axzo.workflow.core.engine.cmd.helper.CustomTaskHelper.completeV
|
||||
import static cn.axzo.workflow.core.engine.cmd.helper.CustomTaskHelper.createVirtualTask;
|
||||
|
||||
/**
|
||||
* 自定义的中止流程实例的命令实现
|
||||
* 自定义的终止流程实例的命令实现
|
||||
*
|
||||
* @author wangli
|
||||
* @since 2024/1/2 18:19
|
||||
@ -63,7 +63,7 @@ public class CustomAbortProcessInstanceCmd extends AbstractCommand<Void> impleme
|
||||
this.tenantId = dto.getTenantId();
|
||||
this.reason = dto.getReason();
|
||||
this.attachmentList = dto.getAttachmentList();
|
||||
this.nodeName = StringUtils.hasText(dto.getNodeName()) ? dto.getNodeName() : "系统中止";
|
||||
this.nodeName = StringUtils.hasText(dto.getNodeName()) ? dto.getNodeName() : "系统终止";
|
||||
this.assigner = Objects.nonNull(dto.getAssigner()) ? dto.getAssigner() :
|
||||
BpmnTaskDelegateAssigner.buildDummyAssigner("system", TASK_ASSIGNEE_SKIP_FLAT, "");
|
||||
this.signatureUrl = dto.getSignatureUrl();
|
||||
|
||||
@ -249,12 +249,12 @@ public class EngineExecutionStartListener implements ExecutionListener {
|
||||
execution, true));
|
||||
}
|
||||
|
||||
finalEmptyAssigneeHandle(assigners, userTask, execution, "未找到审批人且转交管理员失败,自动中止", "karma: " + (refreshProperties.getUseNewToAdminApi() ? "api/flow/listTaskAssignerAdmin/v2" : "api/flow/listTaskAssignerAdmin"));
|
||||
finalEmptyAssigneeHandle(assigners, userTask, execution, "未找到审批人且转交管理员失败,自动终止", "karma: " + (refreshProperties.getUseNewToAdminApi() ? "api/flow/listTaskAssignerAdmin/v2" : "api/flow/listTaskAssignerAdmin"));
|
||||
break;
|
||||
case specifyAssignee:
|
||||
assigners.addAll(approverSelect(ApproverEmptyHandleTypeEnum.specifyAssignee.getType(), userTask,
|
||||
execution, true));
|
||||
finalEmptyAssigneeHandle(assigners, userTask, execution, "转交指定人员失败,自动中止", "org-gateway: api/node-user/list");
|
||||
finalEmptyAssigneeHandle(assigners, userTask, execution, "转交指定人员失败,自动终止", "org-gateway: api/node-user/list");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
@ -42,7 +42,7 @@ public interface BpmnProcessEventListener extends OperationContext, Ordered {
|
||||
default void onRejected(FlowableCancelledEvent event) {}
|
||||
|
||||
/**
|
||||
* 流程实例被中止后回调
|
||||
* 流程实例被终止后回调
|
||||
*
|
||||
* @param event
|
||||
*/
|
||||
|
||||
@ -56,7 +56,7 @@ public interface BpmnProcessInstanceService {
|
||||
Boolean cancelProcessInstance(SuperBpmnProcessInstanceCancelDTO processInstanceCancelDTO);
|
||||
|
||||
/**
|
||||
* 中止流程实例
|
||||
* 终止流程实例
|
||||
*
|
||||
* @param dto
|
||||
* @return
|
||||
@ -64,7 +64,7 @@ public interface BpmnProcessInstanceService {
|
||||
Boolean abortProcessInstance(BpmnProcessInstanceAbortDTO dto);
|
||||
|
||||
/**
|
||||
* 批量中止流程实例
|
||||
* 批量终止流程实例
|
||||
*
|
||||
* @param dtos
|
||||
* @return
|
||||
|
||||
@ -1707,7 +1707,7 @@ public class BpmnProcessInstanceServiceImpl implements BpmnProcessInstanceServic
|
||||
build.setOperationDesc("待审批");
|
||||
break;
|
||||
case transferToAdmin:
|
||||
build.setOperationDesc("找不到审批人且转交管理员失败,自动中止");
|
||||
build.setOperationDesc("找不到审批人且转交管理员失败,自动终止");
|
||||
break;
|
||||
case human:
|
||||
if (Objects.equals(e.getNodeMode(), EXCEPTIONAL)) {
|
||||
|
||||
@ -18,7 +18,7 @@ import java.sql.SQLIntegrityConstraintViolationException;
|
||||
* 处理多个接口同时操作一个流程实例时,可能会抛出数据库的异常,这种异常是可以被忽略的
|
||||
* <p>
|
||||
* 例如: {@link ProcessActivityApi#setAssignee(BpmnActivitySetAssigneeDTO)} 于 {@link ProcessInstanceApi#abortProcessInstance(BpmnProcessInstanceAbortDTO)}
|
||||
* 两个接口并发访问时,由于 abort 先执行完,并提交事务后,setAssignee 方法内虽然有判断实例状态,但最后事务提交时突然发现实例状态被中止了就会抛出异常。
|
||||
* 两个接口并发访问时,由于 abort 先执行完,并提交事务后,setAssignee 方法内虽然有判断实例状态,但最后事务提交时突然发现实例状态被终止了就会抛出异常。
|
||||
*
|
||||
* @author wangli
|
||||
* @since 2024/6/20 09:42
|
||||
|
||||
@ -221,7 +221,7 @@ public class RocketMqBpmnProcessEventListener extends AbstractBpmnEventListener<
|
||||
.setType(PROCESS_INSTANCE_ABORTED)
|
||||
.setCategory(deployment.getKey())
|
||||
.setProcessInstanceId(event.getProcessInstanceId())
|
||||
.setCurrentElementKey("中止流程实例无节点信息")
|
||||
.setCurrentElementKey("终止流程实例无节点信息")
|
||||
.setProcessDefinitionId(event.getProcessDefinitionId())
|
||||
.setProcessDefinitionKey(((ExecutionEntityImpl) ((FlowableProcessCancelledEventImpl) event).getExecution()).getProcessDefinitionKey())
|
||||
.setProcessDefinitionVersion(((ExecutionEntityImpl) ((FlowableProcessCancelledEventImpl) event).getExecution()).getProcessDefinitionVersion())
|
||||
|
||||
@ -57,7 +57,7 @@ public class SyncToEsProcessEventListener extends AbstractBpmnEventListener<Proc
|
||||
}
|
||||
|
||||
/**
|
||||
* 流程实例被中止后回调
|
||||
* 流程实例被终止后回调
|
||||
*
|
||||
* @param event
|
||||
*/
|
||||
|
||||
@ -170,18 +170,18 @@ public class TestController {
|
||||
.startedBefore(new Date(timestamp))
|
||||
.unfinished()
|
||||
.list();
|
||||
log.info("待系统中止的流程实例数: {}", list.size());
|
||||
log.info("待系统终止的流程实例数: {}", list.size());
|
||||
ExecutorService executorService = Executors.newFixedThreadPool(3);
|
||||
list.forEach(i -> {
|
||||
executorService.submit(() -> {
|
||||
try {
|
||||
log.info("当前中止的流程: {}", i.getId());
|
||||
log.info("当前终止的流程: {}", i.getId());
|
||||
BpmnProcessInstanceAbortDTO abort = new BpmnProcessInstanceAbortDTO();
|
||||
abort.setProcessInstanceId(i.getId());
|
||||
abort.setReason("系统超时中止");
|
||||
abort.setReason("系统超时终止");
|
||||
bpmnProcessInstanceService.abortProcessInstance(abort);
|
||||
} catch (Exception e) {
|
||||
log.warn("系统批量中止流程: {}, 发生异常: {}", i.getId(), e.getMessage());
|
||||
log.warn("系统批量终止流程: {}, 发生异常: {}", i.getId(), e.getMessage());
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
@ -225,33 +225,33 @@ public class BpmnProcessInstanceController extends BasicPopulateAvatarController
|
||||
}
|
||||
|
||||
/**
|
||||
* 中止流程实例
|
||||
* 终止流程实例
|
||||
*
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
@Operation(summary = "中止流程实例")
|
||||
@Operation(summary = "终止流程实例")
|
||||
@Override
|
||||
@DeleteMapping("/abort")
|
||||
@RepeatSubmit
|
||||
public CommonResponse<Boolean> abortProcessInstance(@Validated @RequestBody BpmnProcessInstanceAbortDTO dto) {
|
||||
log.info("中止流程实例abortProcessInstant===>>>参数:{}", JSONUtil.toJsonStr(dto));
|
||||
log.info("终止流程实例abortProcessInstant===>>>参数:{}", JSONUtil.toJsonStr(dto));
|
||||
populateUsersAvatar(dto.getAssigner());
|
||||
return success(bpmnProcessInstanceService.abortProcessInstance(dto));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量中止流程实例
|
||||
* 批量终止流程实例
|
||||
*
|
||||
* @param dtos 请求参数
|
||||
* @return
|
||||
*/
|
||||
@Operation(summary = "批量中止流程实例")
|
||||
@Operation(summary = "批量终止流程实例")
|
||||
@Override
|
||||
@DeleteMapping("/batch/abort")
|
||||
@RepeatSubmit
|
||||
public CommonResponse<BatchOperationResultVO> batchAbortProcessInstance(@Validated @RequestBody List<BpmnProcessInstanceAbortDTO> dtos) {
|
||||
log.info("批量中止流程实例abortProcessInstants===>>>参数:{}", JSONUtil.toJsonStr(dtos));
|
||||
log.info("批量终止流程实例abortProcessInstants===>>>参数:{}", JSONUtil.toJsonStr(dtos));
|
||||
return success(bpmnProcessInstanceService.batchAbortProcessInstance(dtos));
|
||||
}
|
||||
|
||||
|
||||
@ -79,7 +79,7 @@ import static cn.axzo.workflow.core.common.utils.BpmnMetaParserHelper.getApprova
|
||||
import static cn.axzo.workflow.core.common.utils.BpmnMetaParserHelper.getNodeType;
|
||||
|
||||
/**
|
||||
* 同意、评论、加签、转交、驳回、撤回、中止、抄送
|
||||
* 同意、评论、加签、转交、驳回、撤回、终止、抄送
|
||||
* <p>
|
||||
* 回退
|
||||
*
|
||||
|
||||
@ -184,7 +184,7 @@ public class DangerSuperOperationJobHandler extends IJobHandler {
|
||||
CANCEL, // 撤销任务
|
||||
APPROVE, // 同意任务
|
||||
REJECT, // 拒绝任务
|
||||
ABORT, // 中止实例
|
||||
ABORT, // 终止实例
|
||||
RESUMER_DEADLINE_JOB, // 一般是因为二方计算人异常导致卡节点
|
||||
}
|
||||
}
|
||||
|
||||
@ -206,7 +206,7 @@
|
||||
<option value="CANCEL">撤回实例</option>
|
||||
<option value="APPROVE">同意任务</option>
|
||||
<option value="REJECT">拒绝任务</option>
|
||||
<option value="ABORT">中止实例</option>
|
||||
<option value="ABORT">终止实例</option>
|
||||
<option value="RESUMER_DEADLINE_JOB">恢复节点</option>
|
||||
</select>
|
||||
<div
|
||||
@ -297,7 +297,7 @@
|
||||
<ul class="text-sm text-gray-600 space-y-1 list-disc list-inside">
|
||||
<li>撤回实例:需要提供流程实例编号,可选择填写意见</li>
|
||||
<li>同意/拒绝任务:需要提供流程实例编号和处理人ID</li>
|
||||
<li>中止实例:需要提供流程实例编号和中止原因</li>
|
||||
<li>终止实例:需要提供流程实例编号和终止原因</li>
|
||||
<li>恢复节点:仅需要提供流程实例编号</li>
|
||||
</ul>
|
||||
</div>
|
||||
@ -473,7 +473,7 @@
|
||||
personId.required = true;
|
||||
break;
|
||||
|
||||
case 'ABORT': // 中止实例
|
||||
case 'ABORT': // 终止实例
|
||||
showElement(commentGroup);
|
||||
commentRequired.classList.remove('hidden');
|
||||
comment.required = true;
|
||||
|
||||
@ -13,7 +13,7 @@
|
||||
2. ProcessTaskListener
|
||||
3. ProcessActivityListener
|
||||
4. MessageNotificationListener
|
||||
- 内部与工作流的数据交互,也将异步解耦,确保在调用对端服务时,不会因为对端服务中止而失败。
|
||||
- 内部与工作流的数据交互,也将异步解耦,确保在调用对端服务时,不会因为对端服务终止而失败。
|
||||
- 接口需要有分类:
|
||||
1. 部分接口仅支持同步调
|
||||
2. 大部分接口支持同步和异步调用,
|
||||
|
||||
@ -146,7 +146,7 @@ public interface WorkflowCoreService {
|
||||
* <p>
|
||||
* 当模型中使用了“业务节点”,且设置了“业务指定审批人”模式,则当业务监听到 PROCESS_ACTIVITY_WAIT_ASSIGNEE 事件时,可通过该接口设置动态设置审批人
|
||||
* <p>
|
||||
* <strong color=orange>注意:如果调用接口时,传入的审批人集合为空,流程引擎将对该审批流程实例自动中止。</strong>
|
||||
* <strong color=orange>注意:如果调用接口时,传入的审批人集合为空,流程引擎将对该审批流程实例自动终止。</strong>
|
||||
*
|
||||
* @param dto
|
||||
* @return
|
||||
@ -280,23 +280,23 @@ public interface WorkflowCoreService {
|
||||
Boolean cancelProcessInstance(@Validated @RequestBody BpmnProcessInstanceCancelDTO dto);
|
||||
|
||||
/**
|
||||
* 中止流程实例
|
||||
* 终止流程实例
|
||||
*
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
@Operation(summary = "中止流程实例")
|
||||
@Operation(summary = "终止流程实例")
|
||||
@DeleteMapping("/api/process/instance/abort")
|
||||
@InvokeMode(ASYNC)
|
||||
Boolean abortProcessInstance(@Validated @RequestBody BpmnProcessInstanceAbortDTO dto);
|
||||
|
||||
/**
|
||||
* 批量中止流程实例
|
||||
* 批量终止流程实例
|
||||
*
|
||||
* @param dtos
|
||||
* @return
|
||||
*/
|
||||
@Operation(summary = "批量中止流程实例")
|
||||
@Operation(summary = "批量终止流程实例")
|
||||
@DeleteMapping("/api/process/instance/batch/abort")
|
||||
@InvokeMode(ASYNC)
|
||||
BatchOperationResultVO batchAbortProcessInstance(@Validated @RequestBody List<BpmnProcessInstanceAbortDTO> dtos);
|
||||
|
||||
@ -42,7 +42,7 @@ public abstract class AbstractProcessInstanceEventHandler implements ProcessInst
|
||||
public abstract void onPassed(ProcessInstanceDTO dto, BpmnProcessInstanceResultEnum resultEnum);
|
||||
|
||||
/**
|
||||
* 审批不通过的回调,该接口会将 撤销、驳回、中止 事件归拢到一起处理
|
||||
* 审批不通过的回调,该接口会将 撤销、驳回、终止 事件归拢到一起处理
|
||||
* <p>
|
||||
* 如业务需要,可以在实现类中根据不同的 resultEnum 进行区分处理,或者实现类直接实现 {@link ProcessInstanceEventHandler} 接口
|
||||
*
|
||||
|
||||
@ -76,7 +76,7 @@ public interface ProcessInstanceEventHandler extends Ordered {
|
||||
}
|
||||
|
||||
/**
|
||||
* 流程实例被中止后回调
|
||||
* 流程实例被终止后回调
|
||||
* <p>
|
||||
* 一般由接入方主动触发,比如调用了 {@link ProcessInstanceApi#abortProcessInstance(BpmnProcessInstanceAbortDTO)} 方法等
|
||||
*
|
||||
|
||||
Loading…
Reference in New Issue
Block a user