update - 调整"终止"为"中止"
This commit is contained in:
parent
921d0513ca
commit
21260d382b
@ -6,7 +6,7 @@
|
||||
> - 重构审批日志的模型, 形成统一标准
|
||||
> - 新增评论功能,并支持在评论中上传图片/附件和链接
|
||||
> - 新增审批分类以及分类的黑白名单配置功能
|
||||
> - 新增系统终止流程的功能
|
||||
> - 新增系统中止流程的功能
|
||||
> - 新增机器人节点
|
||||
> - 优化 Activity 活动事件, 确保在多实例状态下, 更符合业务逻辑的执行
|
||||
> - 其他小细节的功能优化
|
||||
|
||||
@ -76,7 +76,7 @@ act_ge_bytearray (很多元数据)
|
||||
| 催办 | 对于时效要求高的流程,发起人可催办提醒当前节点处理人,一般以消息通知方式提醒处理人 |
|
||||
| 撤销 | 发起人操作,可以撤销当前流程 |
|
||||
| 取回 | 当前节点上一节点处理人操作,当前节点处理人还未处理,上一节点处理人可以将其退回自己手中重新操作(取回重办) |
|
||||
| 终止 | 当前节点处理人,终止当前流程 |
|
||||
| 中止 | 当前节点处理人,中止当前流程 |
|
||||
| 抄送 | 当前节点处理人,处理完成之后将处理结果抄送给其他人,这里创建备注信息,并给所有抄送人创建子任务(待阅),子任务不影响流程流转 |
|
||||
| 向前加签 | 当前节点处理人,需要让其他人核对流程,其他人核对完成后,回到当前节点处理人手中,当前节点处理人处理完后进入下一节点 |
|
||||
| 向后加签 | 当前节点处理人,需要让其他人核对流程,其他人核对完成后,直接进入下一节点 |
|
||||
@ -86,7 +86,7 @@ act_ge_bytearray (很多元数据)
|
||||
|
||||
## 4. 如何配置一个流程?
|
||||
|
||||
> 流程的运行依赖一种规则,得让引擎知道何时开始执行流程? 何时终止? 如何识别和控制每个步骤该怎么处理? 执行过程中如何走向不同的路径?
|
||||
> 流程的运行依赖一种规则,得让引擎知道何时开始执行流程? 何时中止? 如何识别和控制每个步骤该怎么处理? 执行过程中如何走向不同的路径?
|
||||
> 比如: 我们常见的需求, 某个节点需要会签/或签, 或者某个节点需要判断条件是否执行该步骤等等.
|
||||
>
|
||||
> 以上这些规则都需要再创建流程实例时, 提前就告诉引擎, 且运行过程和步骤中是不可变的. 引擎自己也未提供相应能力.
|
||||
|
||||
@ -92,7 +92,7 @@ public interface ProcessInstanceApi {
|
||||
CommonResponse<Boolean> cancelProcessInstance(@Validated @RequestBody BpmnProcessInstanceCancelDTO dto);
|
||||
|
||||
/**
|
||||
* 终止流程实例
|
||||
* 中止流程实例
|
||||
*
|
||||
* @param dto
|
||||
* @return
|
||||
|
||||
@ -24,7 +24,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]";
|
||||
|
||||
@ -18,7 +18,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_CANCEL("NODE_CANCEL", "撤回节点"),
|
||||
NODE_EMPTY("NODE_EMPTY", "空节点"),
|
||||
;
|
||||
|
||||
@ -7,7 +7,7 @@ public enum BpmnProcessInstanceResultEnum {
|
||||
APPROVED("APPROVED", "已通过"),
|
||||
REJECTED("REJECTED", "已驳回"),
|
||||
CANCELLED("CANCELLED", "已撤回"),
|
||||
ABORTED("ABORTED", "已终止"),
|
||||
ABORTED("ABORTED", "已中止"),
|
||||
TRANSFER("TRANSFER", "已转交"),
|
||||
COUNTERSIGN("COUNTERSIGN", "已加签"),
|
||||
COMMENTED("COMMENTED", "已评论"),
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -8,12 +8,12 @@ import org.hibernate.validator.constraints.Length;
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
/**
|
||||
* 终止流程实例的入参模型
|
||||
* 中止流程实例的入参模型
|
||||
*
|
||||
* @author wangli
|
||||
* @since 2024/1/2 17:49
|
||||
*/
|
||||
@ApiModel("终止流程实例的入参模型")
|
||||
@ApiModel("中止流程实例的入参模型")
|
||||
@Data
|
||||
public class BpmnProcessInstanceAbortDTO {
|
||||
|
||||
@ -32,10 +32,10 @@ public class BpmnProcessInstanceAbortDTO {
|
||||
private String tenantId;
|
||||
|
||||
/**
|
||||
* 终止原因
|
||||
* 中止原因
|
||||
*/
|
||||
@ApiModelProperty(value = "终止原因")
|
||||
@NotBlank(message = "终止原因不能为空")
|
||||
@Length(max = 15, message = "终止原因长度不能超过 15 个字符")
|
||||
@ApiModelProperty(value = "中止原因")
|
||||
@NotBlank(message = "中止原因不能为空")
|
||||
@Length(max = 15, message = "中止原因长度不能超过 15 个字符")
|
||||
private String reason;
|
||||
}
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package cn.axzo.workflow.common.model.request.bpmn.task;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.google.common.collect.Lists;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
@ -166,4 +167,9 @@ public class BpmnTaskDelegateAssigner implements Serializable {
|
||||
.setOuId(ouId)
|
||||
.setTenantId(tenantId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
|
||||
@ -88,7 +88,7 @@ public class ProcessInstanceDTO implements Serializable {
|
||||
/**
|
||||
* 对流程实例做否定操作时的原因
|
||||
*
|
||||
* 如: 终止/驳回/撤回功能
|
||||
* 如: 中止/驳回/撤回功能
|
||||
*/
|
||||
private String reason;
|
||||
|
||||
|
||||
@ -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", "流程实例不能启动"),
|
||||
|
||||
@ -39,7 +39,7 @@ import static cn.axzo.workflow.core.engine.cmd.helper.CustomTaskHelper.addCommen
|
||||
import static cn.axzo.workflow.core.engine.cmd.helper.CustomTaskHelper.createVirtualTask;
|
||||
|
||||
/**
|
||||
* 自定义的终止流程实例的命令实现
|
||||
* 自定义的中止流程实例的命令实现
|
||||
*
|
||||
* @author wangli
|
||||
* @since 2024/1/2 18:19
|
||||
@ -96,7 +96,7 @@ public class CustomAbortProcessInstanceCmd implements Command<Void>, Serializabl
|
||||
|
||||
// 添加自定义的节点,用于展示最后的操作
|
||||
Task task = createVirtualTask(commandContext, extAxHiTaskInstService, processInstanceId,
|
||||
"系统终止", NODE_ABORT.getType(), null, BpmnTaskDelegateAssigner.buildDummyAssigner("system",
|
||||
"系统中止", NODE_ABORT.getType(), null, BpmnTaskDelegateAssigner.buildDummyAssigner("system",
|
||||
TASK_ASSIGNEE_SKIP_FLAT, "系统"), ABORTED.getStatus());
|
||||
addComment(commandContext, task, COMMENT_TYPE_OPERATION_DESC, reason);
|
||||
runtimeService.setVariable(task.getProcessInstanceId(), TASK_COMPLETE_OPERATION_TYPE + task.getId(), ABORTED);
|
||||
|
||||
@ -41,7 +41,7 @@ public interface BpmnProcessEventListener extends Ordered {
|
||||
default void onRejected(FlowableCancelledEvent event) {}
|
||||
|
||||
/**
|
||||
* 流程实例被终止后回调
|
||||
* 流程实例被中止后回调
|
||||
*
|
||||
* @param event
|
||||
*/
|
||||
|
||||
@ -42,7 +42,7 @@ public interface BpmnProcessInstanceService {
|
||||
Boolean cancelProcessInstance(BpmnProcessInstanceCancelDTO processInstanceCancelDTO);
|
||||
|
||||
/**
|
||||
* 终止流程实例
|
||||
* 中止流程实例
|
||||
*
|
||||
* @param dto
|
||||
* @return
|
||||
|
||||
@ -210,7 +210,7 @@ public class RocketMqBpmnProcessEventListener implements BpmnProcessEventListene
|
||||
.setType(PROCESS_INSTANCE_ABORTED)
|
||||
.setCategory(deployment.getCategory())
|
||||
.setProcessInstanceId(event.getProcessInstanceId())
|
||||
.setCurrentElementKey("终止流程实例无节点信息")
|
||||
.setCurrentElementKey("中止流程实例无节点信息")
|
||||
.setProcessDefinitionId(event.getProcessDefinitionId())
|
||||
.setProcessDefinitionKey(((ExecutionEntityImpl) ((FlowableProcessCancelledEventImpl) event).getExecution()).getProcessDefinitionKey())
|
||||
.setProcessDefinitionVersion(((ExecutionEntityImpl) ((FlowableProcessCancelledEventImpl) event).getExecution()).getProcessDefinitionVersion())
|
||||
|
||||
@ -245,7 +245,7 @@ public class AutoOperatorEvent_103_Listener implements BpmnTaskEventListener, Or
|
||||
historyTaskList.stream().filter(i -> Objects.isNull(i.getExecutionId()))
|
||||
.forEach(i -> taskService.complete(i.getId()));
|
||||
}
|
||||
// 删除流程实例,以实现驳回任务时,终止整个审批流程
|
||||
// 删除流程实例,以实现驳回任务时,中止整个审批流程
|
||||
runtimeService.deleteProcessInstance(delegateTask.getProcessInstanceId(), REJECTION_AUTO_COMPLETED.getDesc());
|
||||
|
||||
if (log.isDebugEnabled()) {
|
||||
|
||||
@ -126,17 +126,17 @@ public class BpmnProcessInstanceController implements ProcessInstanceApi {
|
||||
}
|
||||
|
||||
/**
|
||||
* 终止流程实例
|
||||
* 中止流程实例
|
||||
*
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
@Operation(summary = "终止流程实例")
|
||||
@Operation(summary = "中止流程实例")
|
||||
@Override
|
||||
@DeleteMapping("/abort")
|
||||
@RepeatSubmit
|
||||
public CommonResponse<Boolean> abortProcessInstance(@Validated @RequestBody BpmnProcessInstanceAbortDTO dto) {
|
||||
log.info("终止流程实例abortProcessInstant===>>>参数:{}", JSON.toJSONString(dto));
|
||||
log.info("中止流程实例abortProcessInstant===>>>参数:{}", JSON.toJSONString(dto));
|
||||
return success(bpmnProcessInstanceService.abortProcessInstance(dto));
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user