add - 新增任务维度的枚举类

This commit is contained in:
wangli 2023-09-18 17:24:01 +08:00
parent 47e9533470
commit 115f76e3af
4 changed files with 53 additions and 7 deletions

View File

@ -7,9 +7,7 @@ public enum BpmProcessInstanceResultEnum {
APPROVED("APPROVED", "已通过"),
REJECTED("REJECTED", "已驳回"),
CANCELLED("CANCELLED", "已撤销"),
SKIP("SKIP", "自动跳过"),
BACKED("BACKED", "退回/驳回");
;
/**
* 结果
*/
@ -42,7 +40,7 @@ public enum BpmProcessInstanceResultEnum {
*/
public static boolean isEndResult(Integer result) {
return Arrays.asList(PROCESSING.getStatus(), APPROVED.getStatus(), REJECTED.getStatus(),
CANCELLED.getStatus(), BACKED.getStatus()).contains(result);
CANCELLED.getStatus()).contains(result);
}
public static BpmProcessInstanceResultEnum valueOfStatus(String status) {

View File

@ -0,0 +1,44 @@
package cn.axzo.workflow.core.common.enums;
import java.util.Arrays;
/**
* 流程实例中任务维度的状态枚举
*
* @author wangli
* @since 2023/9/18 17:11
*/
public enum BpmnProcessTaskResultEnum {
AUTO_SKIP("AUTO_SKIP", "任务自动跳过"),
// 引擎默认的标识,不允许修改
MI_END("MI_END", "多实例任务运行结束"),
// 引擎默认的标识,不允许修改
DELETE_MI_EXECUTION("Delete MI execution", "多实例任务被删除"),
INITIATOR_REVOCATION("INITIATOR_REVOCATION", "发起者主动撤销"),
BACKED("BACKED", "退回");
private final String status;
/**
* 描述
*/
private final String desc;
BpmnProcessTaskResultEnum(String status, String desc) {
this.status = status;
this.desc = desc;
}
public String getStatus() {
return status;
}
public String getDesc() {
return desc;
}
public static BpmnProcessTaskResultEnum valueOfStatus(String status) {
return Arrays.stream(values()).filter(it -> it.getStatus().equals(status)).findFirst()
.orElse(null);
}
}

View File

@ -1,5 +1,6 @@
package cn.axzo.workflow.core.service.engine.behavior;
import cn.axzo.workflow.core.common.enums.BpmnProcessTaskResultEnum;
import com.fasterxml.jackson.databind.node.ObjectNode;
import org.apache.commons.lang3.StringUtils;
import org.flowable.bpmn.model.UserTask;
@ -168,7 +169,8 @@ public class CustomUserTaskActivityBehavior extends UserTaskActivityBehavior {
}
}
} else {
TaskHelper.deleteTask(task, "Auto Skipped", false, false, false); // false: no events fired for skipped
TaskHelper.deleteTask(task, BpmnProcessTaskResultEnum.AUTO_SKIP.getDesc(), false, false, false); // false
// : no events fired for skipped
// user task
leave(execution);
}

View File

@ -1,5 +1,6 @@
package cn.axzo.workflow.core.service.impl;
import cn.axzo.workflow.core.common.enums.BpmnProcessTaskResultEnum;
import cn.axzo.workflow.core.common.exception.WorkflowEngineException;
import cn.axzo.workflow.core.common.utils.BpmCollectionUtils;
import cn.axzo.workflow.core.repository.mapper.InfoMapper;
@ -259,8 +260,9 @@ public class BpmnProcessInstanceServiceImpl implements BpmnProcessInstanceServic
variables.put(INTERNAL_DELETE_PROCESS_FLAG, INTERNAL_PROCESS_TYPE_CANCEL);
runtimeService.setVariables(instance.getId(), variables);
String deleteReason = StringUtils.isBlank(dto.getReason()) ? INITIATOR_REVOKE_THE_APPROVAL
: INITIATOR_REVOKE_THE_APPROVAL + ", 删除原因: " + dto.getReason();
String deleteReason = StringUtils.isBlank(dto.getReason()) ?
BpmnProcessTaskResultEnum.INITIATOR_REVOCATION.getDesc()
: BpmnProcessTaskResultEnum.INITIATOR_REVOCATION.getDesc() + ", 删除原因: " + dto.getReason();
deleteProcessInstance(instance.getId(), deleteReason);
return true;
}