> startUserSelectAssignees;
-
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/DictTypeConstants.java b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/DictTypeConstants.java
deleted file mode 100644
index c00638694..000000000
--- a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/DictTypeConstants.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package cn.iocoder.yudao.module.bpm.enums;
-
-/**
- * BPM 字典类型的枚举类
- *
- * @author 芋道源码
- */
-public interface DictTypeConstants {
-
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/ErrorCodeConstants.java b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/ErrorCodeConstants.java
deleted file mode 100644
index 6c7a7ce92..000000000
--- a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/ErrorCodeConstants.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package cn.iocoder.yudao.module.bpm.enums;
-
-import cn.iocoder.yudao.framework.common.exception.ErrorCode;
-
-/**
- * Bpm 错误码枚举类
- *
- * bpm 系统,使用 1-009-000-000 段
- */
-public interface ErrorCodeConstants {
-
- // ========== 通用流程处理 模块 1-009-000-000 ==========
-
- // ========== OA 流程模块 1-009-001-000 ==========
- ErrorCode OA_LEAVE_NOT_EXISTS = new ErrorCode(1_009_001_001, "请假申请不存在");
-
- // ========== 流程模型 1-009-002-000 ==========
- ErrorCode MODEL_KEY_EXISTS = new ErrorCode(1_009_002_000, "已经存在流程标识为【{}】的流程");
- ErrorCode MODEL_NOT_EXISTS = new ErrorCode(1_009_002_001, "流程模型不存在");
- ErrorCode MODEL_KEY_VALID = new ErrorCode(1_009_002_002, "流程标识格式不正确,需要以字母或下划线开头,后接任意字母、数字、中划线、下划线、句点!");
- ErrorCode MODEL_DEPLOY_FAIL_FORM_NOT_CONFIG = new ErrorCode(1_009_002_003, "部署流程失败,原因:流程表单未配置,请点击【修改流程】按钮进行配置");
- ErrorCode MODEL_DEPLOY_FAIL_TASK_CANDIDATE_NOT_CONFIG = new ErrorCode(1_009_002_004, "部署流程失败," +
- "原因:用户任务({})未配置审批人,请点击【流程设计】按钮,选择该它的【任务(审批人)】进行配置");
- ErrorCode MODEL_DEPLOY_FAIL_BPMN_START_EVENT_NOT_EXISTS = new ErrorCode(1_009_002_005, "部署流程失败,原因:BPMN 流程图中,没有开始事件");
- ErrorCode MODEL_DEPLOY_FAIL_BPMN_USER_TASK_NAME_NOT_EXISTS = new ErrorCode(1_009_002_006, "部署流程失败,原因:BPMN 流程图中,用户任务({})的名字不存在");
- ErrorCode MODEL_UPDATE_FAIL_NOT_MANAGER = new ErrorCode(1_009_002_007, "操作流程失败,原因:你不是该流程({})的管理员");
-
- // ========== 流程定义 1-009-003-000 ==========
- ErrorCode PROCESS_DEFINITION_KEY_NOT_MATCH = new ErrorCode(1_009_003_000, "流程定义的标识期望是({}),当前是({}),请修改 BPMN 流程图");
- ErrorCode PROCESS_DEFINITION_NAME_NOT_MATCH = new ErrorCode(1_009_003_001, "流程定义的名字期望是({}),当前是({}),请修改 BPMN 流程图");
- ErrorCode PROCESS_DEFINITION_NOT_EXISTS = new ErrorCode(1_009_003_002, "流程定义不存在");
- ErrorCode PROCESS_DEFINITION_IS_SUSPENDED = new ErrorCode(1_009_003_003, "流程定义处于挂起状态");
-
- // ========== 流程实例 1-009-004-000 ==========
- ErrorCode PROCESS_INSTANCE_NOT_EXISTS = new ErrorCode(1_009_004_000, "流程实例不存在");
- ErrorCode PROCESS_INSTANCE_CANCEL_FAIL_NOT_EXISTS = new ErrorCode(1_009_004_001, "流程取消失败,流程不处于运行中");
- ErrorCode PROCESS_INSTANCE_CANCEL_FAIL_NOT_SELF = new ErrorCode(1_009_004_002, "流程取消失败,该流程不是你发起的");
- ErrorCode PROCESS_INSTANCE_START_USER_SELECT_ASSIGNEES_NOT_CONFIG = new ErrorCode(1_009_004_003, "任务({})的候选人未配置");
- ErrorCode PROCESS_INSTANCE_START_USER_SELECT_ASSIGNEES_NOT_EXISTS = new ErrorCode(1_009_004_004, "任务({})的候选人({})不存在");
- ErrorCode PROCESS_INSTANCE_START_USER_CAN_START = new ErrorCode(1_009_004_005, "发起流程失败,你没有权限发起该流程");
-
- // ========== 流程任务 1-009-005-000 ==========
- ErrorCode TASK_OPERATE_FAIL_ASSIGN_NOT_SELF = new ErrorCode(1_009_005_001, "操作失败,原因:该任务的审批人不是你");
- ErrorCode TASK_NOT_EXISTS = new ErrorCode(1_009_005_002, "流程任务不存在");
- ErrorCode TASK_IS_PENDING = new ErrorCode(1_009_005_003, "当前任务处于挂起状态,不能操作");
- ErrorCode TASK_TARGET_NODE_NOT_EXISTS = new ErrorCode(1_009_005_004, " 目标节点不存在");
- ErrorCode TASK_RETURN_FAIL_SOURCE_TARGET_ERROR = new ErrorCode(1_009_005_006, "退回任务失败,目标节点是在并行网关上或非同一路线上,不可跳转");
- ErrorCode TASK_DELEGATE_FAIL_USER_REPEAT = new ErrorCode(1_009_005_007, "任务委派失败,委派人和当前审批人为同一人");
- ErrorCode TASK_DELEGATE_FAIL_USER_NOT_EXISTS = new ErrorCode(1_009_005_008, "任务委派失败,被委派人不存在");
- ErrorCode TASK_SIGN_CREATE_USER_NOT_EXIST = new ErrorCode(1_009_005_009, "任务加签:选择的用户不存在");
- ErrorCode TASK_SIGN_CREATE_TYPE_ERROR = new ErrorCode(1_009_005_010, "任务加签:当前任务已经{},不能{}");
- ErrorCode TASK_SIGN_CREATE_USER_REPEAT = new ErrorCode(1_009_005_011, "任务加签失败,加签人与现有审批人[{}]重复");
- ErrorCode TASK_SIGN_DELETE_NO_PARENT = new ErrorCode(1_009_005_012, "任务减签失败,被减签的任务必须是通过加签生成的任务");
- ErrorCode TASK_TRANSFER_FAIL_USER_REPEAT = new ErrorCode(1_009_005_013, "任务转办失败,转办人和当前审批人为同一人");
- ErrorCode TASK_TRANSFER_FAIL_USER_NOT_EXISTS = new ErrorCode(1_009_005_014, "任务转办失败,转办人不存在");
- ErrorCode TASK_CREATE_FAIL_NO_CANDIDATE_USER = new ErrorCode(1_009_006_003, "操作失败,原因:找不到任务的审批人!");
-
- // ========== 动态表单模块 1-009-010-000 ==========
- ErrorCode FORM_NOT_EXISTS = new ErrorCode(1_009_010_000, "动态表单不存在");
- ErrorCode FORM_FIELD_REPEAT = new ErrorCode(1_009_010_001, "表单项({}) 和 ({}) 使用了相同的字段名({})");
-
- // ========== 用户组模块 1-009-011-000 ==========
- ErrorCode USER_GROUP_NOT_EXISTS = new ErrorCode(1_009_011_000, "用户分组不存在");
- ErrorCode USER_GROUP_IS_DISABLE = new ErrorCode(1_009_011_001, "名字为【{}】的用户分组已被禁用");
-
- // ========== 用户组模块 1-009-012-000 ==========
- ErrorCode CATEGORY_NOT_EXISTS = new ErrorCode(1_009_012_000, "流程分类不存在");
- ErrorCode CATEGORY_NAME_DUPLICATE = new ErrorCode(1_009_012_001, "流程分类名字【{}】重复");
- ErrorCode CATEGORY_CODE_DUPLICATE = new ErrorCode(1_009_012_002, "流程分类编码【{}】重复");
-
- // ========== BPM 流程监听器 1-009-013-000 ==========
- ErrorCode PROCESS_LISTENER_NOT_EXISTS = new ErrorCode(1_009_013_000, "流程监听器不存在");
- ErrorCode PROCESS_LISTENER_CLASS_NOT_FOUND = new ErrorCode(1_009_013_001, "流程监听器类({})不存在");
- ErrorCode PROCESS_LISTENER_CLASS_IMPLEMENTS_ERROR = new ErrorCode(1_009_013_002, "流程监听器类({})没有实现接口({})");
- ErrorCode PROCESS_LISTENER_EXPRESSION_INVALID = new ErrorCode(1_009_013_003, "流程监听器表达式({})不合法");
-
- // ========== BPM 流程表达式 1-009-014-000 ==========
- ErrorCode PROCESS_EXPRESSION_NOT_EXISTS = new ErrorCode(1_009_014_000, "流程表达式不存在");
-
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmBoundaryEventType.java b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmBoundaryEventType.java
deleted file mode 100644
index 537e03e03..000000000
--- a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmBoundaryEventType.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package cn.iocoder.yudao.module.bpm.enums.definition;
-
-import cn.hutool.core.util.ArrayUtil;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-/**
- * BPM 边界事件 (boundary event) 自定义类型枚举
- *
- * @author jason
- */
-@Getter
-@AllArgsConstructor
-public enum BpmBoundaryEventType {
-
- USER_TASK_TIMEOUT(1,"用户任务超时");
-
- private final Integer type;
- private final String name;
-
- public static BpmBoundaryEventType typeOf(Integer type) {
- return ArrayUtil.firstMatch(eventType -> eventType.getType().equals(type), values());
- }
-
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmFieldPermissionEnum.java b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmFieldPermissionEnum.java
deleted file mode 100644
index 5a9b4b26a..000000000
--- a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmFieldPermissionEnum.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package cn.iocoder.yudao.module.bpm.enums.definition;
-
-import cn.hutool.core.util.ArrayUtil;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-/**
- * BPM 表单权限的枚举
- *
- * @author jason
- */
-@Getter
-@AllArgsConstructor
-public enum BpmFieldPermissionEnum {
-
- READ(1, "只读"),
- WRITE(2, "可编辑"),
- NONE(3, "隐藏");
-
- /**
- * 权限
- */
- private final Integer permission;
- /**
- * 名字
- */
- private final String name;
-
- public static BpmFieldPermissionEnum valueOf(Integer permission) {
- return ArrayUtil.firstMatch(item -> item.getPermission().equals(permission), values());
- }
-
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmModelFormTypeEnum.java b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmModelFormTypeEnum.java
deleted file mode 100644
index 3bca6c82b..000000000
--- a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmModelFormTypeEnum.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package cn.iocoder.yudao.module.bpm.enums.definition;
-
-import cn.iocoder.yudao.framework.common.core.IntArrayValuable;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-import java.util.Arrays;
-
-/**
- * BPM 模型的表单类型的枚举
- *
- * @author 芋道源码
- */
-@Getter
-@AllArgsConstructor
-public enum BpmModelFormTypeEnum implements IntArrayValuable {
-
- NORMAL(10, "流程表单"), // 对应 BpmFormDO
- CUSTOM(20, "业务表单") // 业务自己定义的表单,自己进行数据的存储
- ;
-
- public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(BpmModelFormTypeEnum::getType).toArray();
-
- private final Integer type;
- private final String name;
-
- @Override
- public int[] array() {
- return ARRAYS;
- }
-
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmModelTypeEnum.java b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmModelTypeEnum.java
deleted file mode 100644
index 9863a44e8..000000000
--- a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmModelTypeEnum.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package cn.iocoder.yudao.module.bpm.enums.definition;
-
-import cn.iocoder.yudao.framework.common.core.IntArrayValuable;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-import java.util.Arrays;
-
-/**
- * BPM 模型的类型的枚举
- *
- * @author 芋道源码
- */
-@Getter
-@AllArgsConstructor
-public enum BpmModelTypeEnum implements IntArrayValuable {
-
- BPMN(10, "BPMN 设计器"), // https://bpmn.io/toolkit/bpmn-js/
- SIMPLE(20, "SIMPLE 设计器"); // 参考钉钉、飞书工作流的设计器
-
- public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(BpmModelTypeEnum::getType).toArray();
-
- private final Integer type;
- private final String name;
-
- @Override
- public int[] array() {
- return ARRAYS;
- }
-
-}
\ No newline at end of file
diff --git a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmProcessListenerType.java b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmProcessListenerType.java
deleted file mode 100644
index 3dde5dfb5..000000000
--- a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmProcessListenerType.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package cn.iocoder.yudao.module.bpm.enums.definition;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-/**
- * BPM 流程监听器的类型
- *
- * @author 芋道源码
- */
-@Getter
-@AllArgsConstructor
-public enum BpmProcessListenerType {
-
- EXECUTION("execution", "执行监听器"),
- TASK("task", "任务执行器");
-
- private final String type;
- private final String name;
-
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmProcessListenerValueType.java b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmProcessListenerValueType.java
deleted file mode 100644
index 63e23af23..000000000
--- a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmProcessListenerValueType.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package cn.iocoder.yudao.module.bpm.enums.definition;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-/**
- * BPM 流程监听器的值类型
- *
- * @author 芋道源码
- */
-@Getter
-@AllArgsConstructor
-public enum BpmProcessListenerValueType {
-
- CLASS("class", "Java 类"),
- DELEGATE_EXPRESSION("delegateExpression", "代理表达式"),
- EXPRESSION("expression", "表达式");
-
- private final String type;
- private final String name;
-
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmSimpleModeConditionType.java b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmSimpleModeConditionType.java
deleted file mode 100644
index 234ec7e47..000000000
--- a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmSimpleModeConditionType.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package cn.iocoder.yudao.module.bpm.enums.definition;
-
-import cn.hutool.core.util.ArrayUtil;
-import cn.iocoder.yudao.framework.common.core.IntArrayValuable;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-import java.util.Arrays;
-
-/**
- * 仿钉钉的流程器设计器条件节点的条件类型
- *
- * @author jason
- */
-@Getter
-@AllArgsConstructor
-public enum BpmSimpleModeConditionType implements IntArrayValuable {
-
- EXPRESSION(1, "条件表达式"),
- RULE(2, "条件规则");
-
- public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(BpmSimpleModeConditionType::getType).toArray();
-
- private final Integer type;
-
- private final String name;
-
- public static BpmSimpleModeConditionType valueOf(Integer type) {
- return ArrayUtil.firstMatch(nodeType -> nodeType.getType().equals(type), values());
- }
-
- @Override
- public int[] array() {
- return ARRAYS;
- }
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmSimpleModelNodeType.java b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmSimpleModelNodeType.java
deleted file mode 100644
index 4a2e1d50f..000000000
--- a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmSimpleModelNodeType.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package cn.iocoder.yudao.module.bpm.enums.definition;
-
-import cn.hutool.core.util.ArrayUtil;
-import cn.iocoder.yudao.framework.common.core.IntArrayValuable;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-import java.util.Arrays;
-import java.util.Objects;
-
-/**
- * 仿钉钉的流程器设计器的模型节点类型
- *
- * @author jason
- */
-@Getter
-@AllArgsConstructor
-public enum BpmSimpleModelNodeType implements IntArrayValuable {
-
- // 0 ~ 1 开始和结束
- START_NODE(0, "开始", "startEvent"),
- END_NODE(1, "结束", "endEvent"),
-
- // 10 ~ 49 各种节点
- START_USER_NODE(10, "发起人", "userTask"), // 发起人节点。前端的开始节点,Id 固定
- APPROVE_NODE(11, "审批人", "userTask"),
- COPY_NODE(12, "抄送人", "serviceTask"),
-
- // 50 ~ 条件分支
- CONDITION_NODE(50, "条件", "sequenceFlow"), // 用于构建流转条件的表达式
- CONDITION_BRANCH_NODE(51, "条件分支", "exclusiveGateway"),
- PARALLEL_BRANCH_NODE(52, "并行分支", "parallelGateway"),
- INCLUSIVE_BRANCH_NODE(53, "包容分支", "inclusiveGateway"),
- ;
-
- public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(BpmSimpleModelNodeType::getType).toArray();
-
- private final Integer type;
- private final String name;
- private final String bpmnType;
-
- /**
- * 判断是否为分支节点
- *
- * @param type 节点类型
- */
- public static boolean isBranchNode(Integer type) {
- return Objects.equals(CONDITION_BRANCH_NODE.getType(), type)
- || Objects.equals(PARALLEL_BRANCH_NODE.getType(), type)
- || Objects.equals(INCLUSIVE_BRANCH_NODE.getType(), type);
- }
-
- public static BpmSimpleModelNodeType valueOf(Integer type) {
- return ArrayUtil.firstMatch(nodeType -> nodeType.getType().equals(type), values());
- }
-
- @Override
- public int[] array() {
- return ARRAYS;
- }
-
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmUserTaskApproveMethodEnum.java b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmUserTaskApproveMethodEnum.java
deleted file mode 100644
index 1089f181d..000000000
--- a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmUserTaskApproveMethodEnum.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.iocoder.yudao.module.bpm.enums.definition;
-
-import cn.hutool.core.util.ArrayUtil;
-import cn.iocoder.yudao.framework.common.core.IntArrayValuable;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-import java.util.Arrays;
-
-/**
- * BPM 多人审批方式的枚举
- *
- * @author jason
- */
-@Getter
-@AllArgsConstructor
-public enum BpmUserTaskApproveMethodEnum implements IntArrayValuable {
-
- RANDOM(1, "随机挑选一人审批", null),
- RATIO(2, "多人会签(按通过比例)", "${ nrOfCompletedInstances/nrOfInstances >= %s}"), // 会签(按通过比例)
- ANY(3, "多人或签(一人通过或拒绝)", "${ nrOfCompletedInstances > 0 }"), // 或签(通过只需一人,拒绝只需一人)
- SEQUENTIAL(4, "依次审批", "${ nrOfCompletedInstances >= nrOfInstances }"); // 依次审批
-
- /**
- * 审批方式
- */
- private final Integer method;
- /**
- * 名字
- */
- private final String name;
- /**
- * 完成表达式
- */
- private final String completionCondition;
-
- public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(BpmUserTaskApproveMethodEnum::getMethod).toArray();
-
- public static BpmUserTaskApproveMethodEnum valueOf(Integer method) {
- return ArrayUtil.firstMatch(item -> item.getMethod().equals(method), values());
- }
-
- @Override
- public int[] array() {
- return ARRAYS;
- }
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmUserTaskApproveTypeEnum.java b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmUserTaskApproveTypeEnum.java
deleted file mode 100644
index fa6dba665..000000000
--- a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmUserTaskApproveTypeEnum.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package cn.iocoder.yudao.module.bpm.enums.definition;
-
-import cn.iocoder.yudao.framework.common.core.IntArrayValuable;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-import java.util.Arrays;
-
-/**
- * 用户任务的审批类型枚举
- *
- * @author 芋道源码
- */
-@Getter
-@AllArgsConstructor
-public enum BpmUserTaskApproveTypeEnum implements IntArrayValuable {
-
- USER(1), // 人工审批
- AUTO_APPROVE(2), // 自动通过
- AUTO_REJECT(3); // 自动拒绝
-
- public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(BpmUserTaskApproveTypeEnum::getType).toArray();
-
- private final Integer type;
-
- @Override
- public int[] array() {
- return ARRAYS;
- }
-
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmUserTaskAssignEmptyHandlerTypeEnum.java b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmUserTaskAssignEmptyHandlerTypeEnum.java
deleted file mode 100644
index 7a7242a49..000000000
--- a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmUserTaskAssignEmptyHandlerTypeEnum.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package cn.iocoder.yudao.module.bpm.enums.definition;
-
-import cn.iocoder.yudao.framework.common.core.IntArrayValuable;
-import lombok.Getter;
-import lombok.RequiredArgsConstructor;
-
-import java.util.Arrays;
-
-/**
- * BPM 用户任务的审批人为空时,处理类型枚举
- *
- * @author 芋道源码
- */
-@RequiredArgsConstructor
-@Getter
-public enum BpmUserTaskAssignEmptyHandlerTypeEnum implements IntArrayValuable {
-
- APPROVE(1), // 自动通过
- REJECT(2), // 自动拒绝
- ASSIGN_USER(3), // 指定人员审批
- ASSIGN_ADMIN(4), // 转交给流程管理员
- ;
-
- public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(BpmUserTaskAssignEmptyHandlerTypeEnum::getType).toArray();
-
- private final Integer type;
-
- @Override
- public int[] array() {
- return ARRAYS;
- }
-
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmUserTaskAssignStartUserHandlerTypeEnum.java b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmUserTaskAssignStartUserHandlerTypeEnum.java
deleted file mode 100644
index 501281502..000000000
--- a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmUserTaskAssignStartUserHandlerTypeEnum.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package cn.iocoder.yudao.module.bpm.enums.definition;
-
-import cn.iocoder.yudao.framework.common.core.IntArrayValuable;
-import lombok.Getter;
-import lombok.RequiredArgsConstructor;
-
-import java.util.Arrays;
-
-/**
- * BPM 用户任务的审批人与发起人相同时,处理类型枚举
- *
- * @author 芋道源码
- */
-@RequiredArgsConstructor
-@Getter
-public enum BpmUserTaskAssignStartUserHandlerTypeEnum implements IntArrayValuable {
-
- START_USER_AUDIT(1), // 由发起人对自己审批
- SKIP(2), // 自动跳过【参考飞书】:1)如果当前节点还有其他审批人,则交由其他审批人进行审批;2)如果当前节点没有其他审批人,则该节点自动通过
- TRANSFER_DEPT_LEADER(3); // 转交给部门负责人审批【参考飞书】:若部门负责人为空,则自动通过
-
- public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(BpmUserTaskAssignStartUserHandlerTypeEnum::getType).toArray();
-
- private final Integer type;
-
- @Override
- public int[] array() {
- return ARRAYS;
- }
-
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmUserTaskRejectHandlerType.java b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmUserTaskRejectHandlerType.java
deleted file mode 100644
index f2d48f7d9..000000000
--- a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmUserTaskRejectHandlerType.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package cn.iocoder.yudao.module.bpm.enums.definition;
-
-import cn.hutool.core.util.ArrayUtil;
-import cn.iocoder.yudao.framework.common.core.IntArrayValuable;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-import java.util.Arrays;
-
-/**
- * BPM 用户任务拒绝处理类型枚举
- *
- * @author jason
- */
-@Getter
-@AllArgsConstructor
-public enum BpmUserTaskRejectHandlerType implements IntArrayValuable {
-
- FINISH_PROCESS_INSTANCE(1, "终止流程"),
- RETURN_USER_TASK(2, "驳回到指定任务节点");
-
- private final Integer type;
- private final String name;
-
- public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(BpmUserTaskRejectHandlerType::getType).toArray();
-
- public static BpmUserTaskRejectHandlerType typeOf(Integer type) {
- return ArrayUtil.firstMatch(item -> item.getType().equals(type), values());
- }
-
- @Override
- public int[] array() {
- return ARRAYS;
- }
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmUserTaskTimeoutHandlerTypeEnum.java b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmUserTaskTimeoutHandlerTypeEnum.java
deleted file mode 100644
index 0d56c9b37..000000000
--- a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/definition/BpmUserTaskTimeoutHandlerTypeEnum.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package cn.iocoder.yudao.module.bpm.enums.definition;
-
-import cn.iocoder.yudao.framework.common.core.IntArrayValuable;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-import java.util.Arrays;
-
-/**
- * 用户任务超时处理类型枚举
- *
- * @author jason
- */
-@Getter
-@AllArgsConstructor
-public enum BpmUserTaskTimeoutHandlerTypeEnum implements IntArrayValuable {
-
- REMINDER(1,"自动提醒"),
- APPROVE(2, "自动同意"),
- REJECT(3, "自动拒绝");
-
- private final Integer type;
- private final String name;
-
- public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(BpmUserTaskTimeoutHandlerTypeEnum::getType).toArray();
-
- @Override
- public int[] array() {
- return ARRAYS;
- }
-
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/message/BpmMessageEnum.java b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/message/BpmMessageEnum.java
deleted file mode 100644
index abec70276..000000000
--- a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/message/BpmMessageEnum.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package cn.iocoder.yudao.module.bpm.enums.message;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-/**
- * Bpm 消息的枚举
- *
- * @author 芋道源码
- */
-@AllArgsConstructor
-@Getter
-public enum BpmMessageEnum {
-
- PROCESS_INSTANCE_APPROVE("bpm_process_instance_approve"), // 流程任务被审批通过时,发送给申请人
- PROCESS_INSTANCE_REJECT("bpm_process_instance_reject"), // 流程任务被审批不通过时,发送给申请人
- TASK_ASSIGNED("bpm_task_assigned"), // 任务被分配时,发送给审批人
- TASK_TIMEOUT("bpm_task_timeout"); // 任务审批超时时,发送给审批人
-
- /**
- * 短信模板的标识
- *
- * 关联 SmsTemplateDO 的 code 属性
- */
- private final String smsTemplateCode;
-
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/task/BpmCommentTypeEnum.java b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/task/BpmCommentTypeEnum.java
deleted file mode 100644
index 8b7b7ce11..000000000
--- a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/task/BpmCommentTypeEnum.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package cn.iocoder.yudao.module.bpm.enums.task;
-
-import cn.hutool.core.util.StrUtil;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-/**
- * 流程任务的 Comment 评论类型枚举
- *
- * @author kehaiyou
- */
-@Getter
-@AllArgsConstructor
-public enum BpmCommentTypeEnum {
-
- APPROVE("1", "审批通过", "审批通过,原因是:{}"),
- REJECT("2", "不通过", "审批不通过:原因是:{}"),
- CANCEL("3", "已取消", "系统自动取消,原因是:{}"),
- RETURN("4", "退回", "任务被退回,原因是:{}"),
- DELEGATE_START("5", "委派发起", "[{}]将任务委派给[{}],委派理由为:{}"),
- DELEGATE_END("6", "委派完成", "[{}]完成委派任务,任务重新回到[{}]手中,审批建议为:{}"),
- TRANSFER("7", "转派", "[{}]将任务转派给[{}],转派理由为:{}"),
- ADD_SIGN("8", "加签", "[{}]{}给了[{}],理由为:{}"),
- SUB_SIGN("9", "减签", "[{}]操作了【减签】,审批人[{}]的任务被取消"),
- ;
-
- /**
- * 操作类型
- *
- * 由于 BPM Comment 类型为 String,所以这里就不使用 Integer
- */
- private final String type;
- /**
- * 操作名字
- */
- private final String name;
- /**
- * 操作描述
- */
- private final String comment;
-
- public String formatComment(Object... params) {
- return StrUtil.format(comment, params);
- }
-
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/task/BpmProcessInstanceStatusEnum.java b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/task/BpmProcessInstanceStatusEnum.java
deleted file mode 100644
index 29cc1280e..000000000
--- a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/task/BpmProcessInstanceStatusEnum.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package cn.iocoder.yudao.module.bpm.enums.task;
-
-import cn.iocoder.yudao.framework.common.core.IntArrayValuable;
-import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-import java.util.Arrays;
-
-/**
- * 流程实例 ProcessInstance 的状态
- *
- * @author 芋道源码
- */
-@Getter
-@AllArgsConstructor
-public enum BpmProcessInstanceStatusEnum implements IntArrayValuable {
-
- NOT_START(-1, "未开始"),
- RUNNING(1, "审批中"),
- APPROVE(2, "审批通过"),
- REJECT(3, "审批不通过"),
- CANCEL(4, "已取消");
-
- public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(BpmProcessInstanceStatusEnum::getStatus).toArray();
-
- /**
- * 状态
- */
- private final Integer status;
- /**
- * 描述
- */
- private final String desc;
-
- @Override
- public int[] array() {
- return ARRAYS;
- }
-
- public static boolean isRejectStatus(Integer status) {
- return REJECT.getStatus().equals(status);
- }
-
- public static boolean isProcessEndStatus(Integer status) {
- return ObjectUtils.equalsAny(status,
- APPROVE.getStatus(), REJECT.getStatus(), CANCEL.getStatus());
- }
-
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/task/BpmReasonEnum.java b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/task/BpmReasonEnum.java
deleted file mode 100644
index 5ea8c4187..000000000
--- a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/task/BpmReasonEnum.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package cn.iocoder.yudao.module.bpm.enums.task;
-
-import cn.hutool.core.util.StrUtil;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-/**
- * 流程实例/任务的的处理原因枚举
- *
- * @author 芋道源码
- */
-@Getter
-@AllArgsConstructor
-public enum BpmReasonEnum {
-
- // ========== 流程实例的独有原因 ==========
-
- REJECT_TASK("审批不通过任务,原因:{}"), // 场景:用户审批不通过任务。修改文案时,需要注意 isRejectReason 方法
- CANCEL_PROCESS_INSTANCE_BY_START_USER("用户主动取消流程,原因:{}"), // 场景:用户主动取消流程
- CANCEL_PROCESS_INSTANCE_BY_ADMIN("管理员【{}】取消流程,原因:{}"), // 场景:管理员取消流程
-
- // ========== 流程任务的独有原因 ==========
-
- CANCEL_BY_SYSTEM("系统自动取消"), // 场景:非常多,比如说:1)多任务审批已经满足条件,无需审批该任务;2)流程实例被取消,无需审批该任务;等等
- TIMEOUT_APPROVE("审批超时,系统自动通过"),
- TIMEOUT_REJECT("审批超时,系统自动不通过"),
- ASSIGN_START_USER_APPROVE("审批人与提交人为同一人时,自动通过"),
- ASSIGN_START_USER_APPROVE_WHEN_SKIP("审批人与提交人为同一人时,自动通过"),
- ASSIGN_START_USER_APPROVE_WHEN_DEPT_LEADER_NOT_FOUND("审批人与提交人为同一人时,找不到部门负责人,自动通过"),
- ASSIGN_START_USER_TRANSFER_DEPT_LEADER("审批人与提交人为同一人时,转交给部门负责人审批"),
- ASSIGN_EMPTY_APPROVE("审批人为空,自动通过"),
- ASSIGN_EMPTY_REJECT("审批人为空,自动不通过"),
- APPROVE_TYPE_AUTO_APPROVE("非人工审核,自动通过"),
- APPROVE_TYPE_AUTO_REJECT("非人工审核,自动不通过"),
- ;
-
- private final String reason;
-
- /**
- * 格式化理由
- *
- * @param args 参数
- * @return 理由
- */
- public String format(Object... args) {
- return StrUtil.format(reason, args);
- }
-
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/task/BpmTaskSignTypeEnum.java b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/task/BpmTaskSignTypeEnum.java
deleted file mode 100644
index b01153d79..000000000
--- a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/task/BpmTaskSignTypeEnum.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.iocoder.yudao.module.bpm.enums.task;
-
-import cn.hutool.core.util.ArrayUtil;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-/**
- * 流程任务的加签类型枚举
- *
- * @author kehaiyou
- */
-@Getter
-@AllArgsConstructor
-public enum BpmTaskSignTypeEnum {
-
- /**
- * 向前加签,需要前置任务审批完成,才回到原审批人
- */
- BEFORE("before", "向前加签"),
- /**
- * 向后加签,需要后置任务全部审批完,才会通过原审批人节点
- */
- AFTER("after", "向后加签");
-
- /**
- * 类型
- */
- private final String type;
- /**
- * 名字
- */
- private final String name;
-
- public static String nameOfType(String type) {
- for (BpmTaskSignTypeEnum value : values()) {
- if (value.type.equals(type)) {
- return value.name;
- }
- }
- return null;
- }
-
- public static BpmTaskSignTypeEnum of(String type) {
- return ArrayUtil.firstMatch(value -> value.getType().equals(type), values());
- }
-
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/task/BpmTaskStatusEnum.java b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/task/BpmTaskStatusEnum.java
deleted file mode 100644
index a19f122bd..000000000
--- a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/task/BpmTaskStatusEnum.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package cn.iocoder.yudao.module.bpm.enums.task;
-
-import cn.hutool.core.util.ObjUtil;
-import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-/**
- * 流程任务 Task 的状态枚举
- *
- * @author jason
- */
-@Getter
-@AllArgsConstructor
-public enum BpmTaskStatusEnum {
-
- NOT_START(-1, "未开始"),
- RUNNING(1, "审批中"),
- APPROVE(2, "审批通过"),
- REJECT(3, "审批不通过"),
- CANCEL(4, "已取消"),
-
- RETURN(5, "已退回"),
-
- /**
- * 使用场景:
- * 1. 任务被向后【加签】时,它在审批通过后,会变成 APPROVING 这个状态,然后等到【加签】出来的任务都被审批后,才会变成 APPROVE 审批通过
- */
- APPROVING(7, "审批通过中"),
- /**
- * 使用场景:
- * 1. 任务被向前【加签】时,它会变成 WAIT 状态,需要等待【加签】出来的任务被审批后,它才能继续变为 RUNNING 继续审批
- * 2. 任务被向后【加签】时,【加签】出来的任务处于 WAIT 状态,它们需要等待该任务被审批后,它们才能继续变为 RUNNING 继续审批
- */
- WAIT(0, "待审批");
-
- /**
- * 状态
- *
- * 如果新增时,注意 {@link #isEndStatus(Integer)} 是否需要变更
- */
- private final Integer status;
- /**
- * 名字
- */
- private final String name;
-
- public static boolean isRejectStatus(Integer status) {
- return REJECT.getStatus().equals(status);
- }
-
- /**
- * 判断该状态是否已经处于 End 最终状态
- *
- * 主要用于一些状态更新的逻辑,如果已经是最终状态,就不再进行更新
- *
- * @param status 状态
- * @return 是否
- */
- public static boolean isEndStatus(Integer status) {
- return ObjectUtils.equalsAny(status,
- APPROVE.getStatus(), REJECT.getStatus(), CANCEL.getStatus(),
- RETURN.getStatus(), APPROVING.getStatus());
- }
-
- public static boolean isCancelStatus(Integer status) {
- return ObjUtil.equal(status, CANCEL.getStatus());
- }
-
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/event/BpmProcessInstanceStatusEvent.java b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/event/BpmProcessInstanceStatusEvent.java
deleted file mode 100644
index 474a8657d..000000000
--- a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/event/BpmProcessInstanceStatusEvent.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package cn.iocoder.yudao.module.bpm.event;
-
-import lombok.Data;
-import org.springframework.context.ApplicationEvent;
-
-import javax.validation.constraints.NotNull;
-
-/**
- * 流程实例的状态(结果)发生变化的 Event
- *
- * @author 芋道源码
- */
-@SuppressWarnings("ALL")
-@Data
-public class BpmProcessInstanceStatusEvent extends ApplicationEvent {
-
- /**
- * 流程实例的编号
- */
- @NotNull(message = "流程实例的编号不能为空")
- private String id;
- /**
- * 流程实例的 key
- */
- @NotNull(message = "流程实例的 key 不能为空")
- private String processDefinitionKey;
- /**
- * 流程实例的结果
- */
- @NotNull(message = "流程实例的状态不能为空")
- private Integer status;
- /**
- * 流程实例对应的业务标识
- * 例如说,请假
- */
- private String businessKey;
-
- public BpmProcessInstanceStatusEvent(Object source) {
- super(source);
- }
-
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/event/BpmProcessInstanceStatusEventListener.java b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/event/BpmProcessInstanceStatusEventListener.java
deleted file mode 100644
index f8b1863c6..000000000
--- a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/event/BpmProcessInstanceStatusEventListener.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package cn.iocoder.yudao.module.bpm.event;
-
-import cn.hutool.core.util.StrUtil;
-import org.springframework.context.ApplicationListener;
-
-/**
- * {@link BpmProcessInstanceStatusEvent} 的监听器
- *
- * @author 芋道源码
- */
-public abstract class BpmProcessInstanceStatusEventListener
- implements ApplicationListener {
-
- @Override
- public final void onApplicationEvent(BpmProcessInstanceStatusEvent event) {
- if (!StrUtil.equals(event.getProcessDefinitionKey(), getProcessDefinitionKey())) {
- return;
- }
- onEvent(event);
- }
-
- /**
- * @return 返回监听的流程定义 Key
- */
- protected abstract String getProcessDefinitionKey();
-
- /**
- * 处理事件
- *
- * @param event 事件
- */
- protected abstract void onEvent(BpmProcessInstanceStatusEvent event);
-
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/pom.xml b/yudao-module-bpm/yudao-module-bpm-biz/pom.xml
deleted file mode 100644
index 207b166ba..000000000
--- a/yudao-module-bpm/yudao-module-bpm-biz/pom.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-
- cn.iocoder.boot
- yudao-module-bpm
- ${revision}
-
- 4.0.0
- yudao-module-bpm-biz
-
- ${project.artifactId}
-
- bpm 包下,业务流程管理(Business Process Management),我们放工作流的功能,基于 Flowable 6 版本实现。
- 例如说:流程定义、表单配置、审核中心(我的申请、我的待办、我的已办)等等
-
-
-
- cn.iocoder.boot
- yudao-module-bpm-api
- ${revision}
-
-
- cn.iocoder.boot
- yudao-module-system-api
- ${revision}
-
-
-
-
- cn.iocoder.boot
- yudao-spring-boot-starter-biz-data-permission
-
-
- cn.iocoder.boot
- yudao-spring-boot-starter-biz-tenant
-
-
-
-
- cn.iocoder.boot
- yudao-spring-boot-starter-web
-
-
-
- cn.iocoder.boot
- yudao-spring-boot-starter-security
-
-
-
-
- cn.iocoder.boot
- yudao-spring-boot-starter-mybatis
-
-
-
-
- cn.iocoder.boot
- yudao-spring-boot-starter-test
-
-
-
-
- cn.iocoder.boot
- yudao-spring-boot-starter-excel
-
-
-
-
- org.flowable
- flowable-spring-boot-starter-process
-
-
- org.flowable
- flowable-spring-boot-starter-actuator
-
-
-
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/api/package-info.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/api/package-info.java
deleted file mode 100644
index 2137e2203..000000000
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/api/package-info.java
+++ /dev/null
@@ -1,4 +0,0 @@
-/**
- * bpm API 实现类,定义暴露给其它模块的 API
- */
-package cn.iocoder.yudao.module.bpm.api;
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/api/task/BpmProcessInstanceApiImpl.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/api/task/BpmProcessInstanceApiImpl.java
deleted file mode 100644
index 596c9981a..000000000
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/api/task/BpmProcessInstanceApiImpl.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package cn.iocoder.yudao.module.bpm.api.task;
-
-import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
-import cn.iocoder.yudao.module.bpm.service.task.BpmProcessInstanceService;
-import org.springframework.stereotype.Service;
-import org.springframework.validation.annotation.Validated;
-
-import javax.annotation.Resource;
-import javax.validation.Valid;
-
-/**
- * Flowable 流程实例 Api 实现类
- *
- * @author 芋道源码
- * @author jason
- */
-@Service
-@Validated
-public class BpmProcessInstanceApiImpl implements BpmProcessInstanceApi {
-
- @Resource
- private BpmProcessInstanceService processInstanceService;
-
- @Override
- public String createProcessInstance(Long userId, @Valid BpmProcessInstanceCreateReqDTO reqDTO) {
- return processInstanceService.createProcessInstance(userId, reqDTO);
- }
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/base/package-info.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/base/package-info.java
deleted file mode 100644
index 41ce65081..000000000
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/base/package-info.java
+++ /dev/null
@@ -1,4 +0,0 @@
-/**
- * 基础包,放一些通用的 VO 类
- */
-package cn.iocoder.yudao.module.bpm.controller.admin.base;
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/base/user/UserSimpleBaseVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/base/user/UserSimpleBaseVO.java
deleted file mode 100644
index b2fb01623..000000000
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/base/user/UserSimpleBaseVO.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package cn.iocoder.yudao.module.bpm.controller.admin.base.user;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-@Schema(description = "用户精简信息 VO")
-@Data
-public class UserSimpleBaseVO {
-
- @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
- private Long id;
- @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
- private String nickname;
- @Schema(description = "用户头像", example = "https://www.iocoder.cn/1.png")
- private String avatar;
-
- @Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
- private Long deptId;
- @Schema(description = "部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "研发部")
- private String deptName;
-
-}
\ No newline at end of file
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmCategoryController.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmCategoryController.java
deleted file mode 100644
index 43cafaf7f..000000000
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmCategoryController.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package cn.iocoder.yudao.module.bpm.controller.admin.definition;
-
-import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
-import cn.iocoder.yudao.framework.common.pojo.CommonResult;
-import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
-import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.category.BpmCategoryPageReqVO;
-import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.category.BpmCategoryRespVO;
-import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.category.BpmCategorySaveReqVO;
-import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmCategoryDO;
-import cn.iocoder.yudao.module.bpm.service.definition.BpmCategoryService;
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.Parameter;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.Resource;
-import javax.validation.Valid;
-import java.util.Comparator;
-import java.util.List;
-
-import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
-import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
-
-@Tag(name = "管理后台 - BPM 流程分类")
-@RestController
-@RequestMapping("/bpm/category")
-@Validated
-public class BpmCategoryController {
-
- @Resource
- private BpmCategoryService categoryService;
-
- @PostMapping("/create")
- @Operation(summary = "创建流程分类")
- @PreAuthorize("@ss.hasPermission('bpm:category:create')")
- public CommonResult createCategory(@Valid @RequestBody BpmCategorySaveReqVO createReqVO) {
- return success(categoryService.createCategory(createReqVO));
- }
-
- @PutMapping("/update")
- @Operation(summary = "更新流程分类")
- @PreAuthorize("@ss.hasPermission('bpm:category:update')")
- public CommonResult updateCategory(@Valid @RequestBody BpmCategorySaveReqVO updateReqVO) {
- categoryService.updateCategory(updateReqVO);
- return success(true);
- }
-
- @PutMapping("/update-sort-batch")
- @Operation(summary = "批量更新流程分类的排序")
- @Parameter(name = "ids", description = "分类编号列表", required = true, example = "1,2,3")
- @PreAuthorize("@ss.hasPermission('bpm:category:update')")
- public CommonResult updateCategorySortBatch(@RequestParam("ids") List ids) {
- categoryService.updateCategorySortBatch(ids);
- return success(true);
- }
-
- @DeleteMapping("/delete")
- @Operation(summary = "删除流程分类")
- @Parameter(name = "id", description = "编号", required = true)
- @PreAuthorize("@ss.hasPermission('bpm:category:delete')")
- public CommonResult deleteCategory(@RequestParam("id") Long id) {
- categoryService.deleteCategory(id);
- return success(true);
- }
-
- @GetMapping("/get")
- @Operation(summary = "获得流程分类")
- @Parameter(name = "id", description = "编号", required = true, example = "1024")
- @PreAuthorize("@ss.hasPermission('bpm:category:query')")
- public CommonResult getCategory(@RequestParam("id") Long id) {
- BpmCategoryDO category = categoryService.getCategory(id);
- return success(BeanUtils.toBean(category, BpmCategoryRespVO.class));
- }
-
- @GetMapping("/page")
- @Operation(summary = "获得流程分类分页")
- @PreAuthorize("@ss.hasPermission('bpm:category:query')")
- public CommonResult> getCategoryPage(@Valid BpmCategoryPageReqVO pageReqVO) {
- PageResult pageResult = categoryService.getCategoryPage(pageReqVO);
- return success(BeanUtils.toBean(pageResult, BpmCategoryRespVO.class));
- }
-
- @GetMapping("/simple-list")
- @Operation(summary = "获取流程分类的精简信息列表", description = "只包含被开启的分类,主要用于前端的下拉选项")
- public CommonResult> getCategorySimpleList() {
- List list = categoryService.getCategoryListByStatus(CommonStatusEnum.ENABLE.getStatus());
- list.sort(Comparator.comparingInt(BpmCategoryDO::getSort));
- return success(convertList(list, category -> new BpmCategoryRespVO().setId(category.getId())
- .setName(category.getName()).setCode(category.getCode())));
- }
-
-}
\ No newline at end of file
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmFormController.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmFormController.java
deleted file mode 100644
index 4ec377610..000000000
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmFormController.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package cn.iocoder.yudao.module.bpm.controller.admin.definition;
-
-import cn.iocoder.yudao.framework.common.pojo.CommonResult;
-import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
-import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.form.BpmFormPageReqVO;
-import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.form.BpmFormRespVO;
-import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.form.BpmFormSaveReqVO;
-import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmFormDO;
-import cn.iocoder.yudao.module.bpm.service.definition.BpmFormService;
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.Parameter;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.Resource;
-import javax.validation.Valid;
-import java.util.List;
-
-import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
-import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
-
-@Tag(name = "管理后台 - 动态表单")
-@RestController
-@RequestMapping("/bpm/form")
-@Validated
-public class BpmFormController {
-
- @Resource
- private BpmFormService formService;
-
- @PostMapping("/create")
- @Operation(summary = "创建动态表单")
- @PreAuthorize("@ss.hasPermission('bpm:form:create')")
- public CommonResult createForm(@Valid @RequestBody BpmFormSaveReqVO createReqVO) {
- return success(formService.createForm(createReqVO));
- }
-
- @PutMapping("/update")
- @Operation(summary = "更新动态表单")
- @PreAuthorize("@ss.hasPermission('bpm:form:update')")
- public CommonResult updateForm(@Valid @RequestBody BpmFormSaveReqVO updateReqVO) {
- formService.updateForm(updateReqVO);
- return success(true);
- }
-
- @DeleteMapping("/delete")
- @Operation(summary = "删除动态表单")
- @Parameter(name = "id", description = "编号", required = true)
- @PreAuthorize("@ss.hasPermission('bpm:form:delete')")
- public CommonResult deleteForm(@RequestParam("id") Long id) {
- formService.deleteForm(id);
- return success(true);
- }
-
- @GetMapping("/get")
- @Operation(summary = "获得动态表单")
- @Parameter(name = "id", description = "编号", required = true, example = "1024")
- @PreAuthorize("@ss.hasPermission('bpm:form:query')")
- public CommonResult getForm(@RequestParam("id") Long id) {
- BpmFormDO form = formService.getForm(id);
- return success(BeanUtils.toBean(form, BpmFormRespVO.class));
- }
-
- @GetMapping({"/list-all-simple", "/simple-list"})
- @Operation(summary = "获得动态表单的精简列表", description = "用于表单下拉框")
- public CommonResult> getFormSimpleList() {
- List list = formService.getFormList();
- return success(convertList(list, formDO -> // 只返回 id、name 字段
- new BpmFormRespVO().setId(formDO.getId()).setName(formDO.getName())));
- }
-
- @GetMapping("/page")
- @Operation(summary = "获得动态表单分页")
- @PreAuthorize("@ss.hasPermission('bpm:form:query')")
- public CommonResult> getFormPage(@Valid BpmFormPageReqVO pageVO) {
- PageResult pageResult = formService.getFormPage(pageVO);
- return success(BeanUtils.toBean(pageResult, BpmFormRespVO.class));
- }
-
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmModelController.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmModelController.java
deleted file mode 100644
index 42eab67d5..000000000
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmModelController.java
+++ /dev/null
@@ -1,180 +0,0 @@
-package cn.iocoder.yudao.module.bpm.controller.admin.definition;
-
-import cn.hutool.core.collection.CollUtil;
-import cn.iocoder.yudao.framework.common.pojo.CommonResult;
-import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.*;
-import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.simple.BpmSimpleModelNodeVO;
-import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.simple.BpmSimpleModelUpdateReqVO;
-import cn.iocoder.yudao.module.bpm.convert.definition.BpmModelConvert;
-import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmCategoryDO;
-import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmFormDO;
-import cn.iocoder.yudao.module.bpm.service.definition.BpmCategoryService;
-import cn.iocoder.yudao.module.bpm.service.definition.BpmFormService;
-import cn.iocoder.yudao.module.bpm.service.definition.BpmModelService;
-import cn.iocoder.yudao.module.bpm.service.definition.BpmProcessDefinitionService;
-import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
-import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.Parameter;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import org.flowable.engine.repository.Deployment;
-import org.flowable.engine.repository.Model;
-import org.flowable.engine.repository.ProcessDefinition;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.Resource;
-import javax.validation.Valid;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.stream.Stream;
-
-import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
-import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.*;
-import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
-
-@Tag(name = "管理后台 - 流程模型")
-@RestController
-@RequestMapping("/bpm/model")
-@Validated
-public class BpmModelController {
-
- @Resource
- private BpmModelService modelService;
- @Resource
- private BpmFormService formService;
- @Resource
- private BpmCategoryService categoryService;
- @Resource
- private BpmProcessDefinitionService processDefinitionService;
-
- @Resource
- private AdminUserApi adminUserApi;
-
- @GetMapping("/list")
- @Operation(summary = "获得模型分页")
- @Parameter(name = "name", description = "模型名称", example = "芋艿")
- public CommonResult> getModelPage(@RequestParam(value = "name", required = false) String name) {
- List list = modelService.getModelList(name);
- if (CollUtil.isEmpty(list)) {
- return success(Collections.emptyList());
- }
-
- // 获得 Form 表单
- Set formIds = convertSet(list, model -> {
- BpmModelMetaInfoVO metaInfo = BpmModelConvert.INSTANCE.parseMetaInfo(model);
- return metaInfo != null ? metaInfo.getFormId() : null;
- });
- Map formMap = formService.getFormMap(formIds);
- // 获得 Category Map
- Map categoryMap = categoryService.getCategoryMap(
- convertSet(list, Model::getCategory));
- // 获得 Deployment Map
- Map deploymentMap = processDefinitionService.getDeploymentMap(
- convertSet(list, Model::getDeploymentId));
- // 获得 ProcessDefinition Map
- List processDefinitions = processDefinitionService.getProcessDefinitionListByDeploymentIds(
- deploymentMap.keySet());
- Map processDefinitionMap = convertMap(processDefinitions, ProcessDefinition::getDeploymentId);
- // 获得 User Map
- Set userIds = convertSetByFlatMap(list, model -> {
- BpmModelMetaInfoVO metaInfo = BpmModelConvert.INSTANCE.parseMetaInfo(model);
- return metaInfo != null ? metaInfo.getStartUserIds().stream() : Stream.empty();
- });
- Map userMap = adminUserApi.getUserMap(userIds);
- return success(BpmModelConvert.INSTANCE.buildModelList(list,
- formMap, categoryMap, deploymentMap, processDefinitionMap, userMap));
- }
-
- @GetMapping("/get")
- @Operation(summary = "获得模型")
- @Parameter(name = "id", description = "编号", required = true, example = "1024")
- @PreAuthorize("@ss.hasPermission('bpm:model:query')")
- public CommonResult getModel(@RequestParam("id") String id) {
- Model model = modelService.getModel(id);
- if (model == null) {
- return null;
- }
- byte[] bpmnBytes = modelService.getModelBpmnXML(id);
- return success(BpmModelConvert.INSTANCE.buildModel(model, bpmnBytes));
- }
-
- @PostMapping("/create")
- @Operation(summary = "新建模型")
- @PreAuthorize("@ss.hasPermission('bpm:model:create')")
- public CommonResult createModel(@Valid @RequestBody BpmModelSaveReqVO createRetVO) {
- return success(modelService.createModel(createRetVO));
- }
-
-
- @PutMapping("/update")
- @Operation(summary = "修改模型")
- @PreAuthorize("@ss.hasPermission('bpm:model:update')")
- public CommonResult updateModel(@Valid @RequestBody BpmModelSaveReqVO modelVO) {
- modelService.updateModel(getLoginUserId(), modelVO);
- return success(true);
- }
-
- @PutMapping("/update-sort-batch")
- @Operation(summary = "批量修改模型排序")
- @Parameter(name = "ids", description = "编号数组", required = true, example = "1,2,3")
- public CommonResult updateModelSortBatch(@RequestParam("ids") List ids) {
- modelService.updateModelSortBatch(getLoginUserId(), ids);
- return success(true);
- }
-
- @PostMapping("/deploy")
- @Operation(summary = "部署模型")
- @Parameter(name = "id", description = "编号", required = true, example = "1024")
- @PreAuthorize("@ss.hasPermission('bpm:model:deploy')")
- public CommonResult deployModel(@RequestParam("id") String id) {
- modelService.deployModel(getLoginUserId(), id);
- return success(true);
- }
-
- @PutMapping("/update-state")
- @Operation(summary = "修改模型的状态", description = "实际更新的部署的流程定义的状态")
- @PreAuthorize("@ss.hasPermission('bpm:model:update')")
- public CommonResult updateModelState(@Valid @RequestBody BpmModelUpdateStateReqVO reqVO) {
- modelService.updateModelState(getLoginUserId(), reqVO.getId(), reqVO.getState());
- return success(true);
- }
-
- @PutMapping("/update-bpmn")
- @Operation(summary = "修改模型的 BPMN")
- @PreAuthorize("@ss.hasPermission('bpm:model:update')")
- public CommonResult updateModelBpmn(@Valid @RequestBody BpmModeUpdateBpmnReqVO reqVO) {
- modelService.updateModelBpmnXml(reqVO.getId(), reqVO.getBpmnXml());
- return success(true);
- }
-
- @DeleteMapping("/delete")
- @Operation(summary = "删除模型")
- @Parameter(name = "id", description = "编号", required = true, example = "1024")
- @PreAuthorize("@ss.hasPermission('bpm:model:delete')")
- public CommonResult deleteModel(@RequestParam("id") String id) {
- modelService.deleteModel(getLoginUserId(), id);
- return success(true);
- }
-
- // ========== 仿钉钉/飞书的精简模型 =========
-
- @GetMapping("/simple/get")
- @Operation(summary = "获得仿钉钉流程设计模型")
- @Parameter(name = "modelId", description = "流程模型编号", required = true, example = "a2c5eee0-eb6c-11ee-abf4-0c37967c420a")
- public CommonResult getSimpleModel(@RequestParam("id") String modelId){
- return success(modelService.getSimpleModel(modelId));
- }
-
- @PostMapping("/simple/update")
- @Operation(summary = "保存仿钉钉流程设计模型")
- @PreAuthorize("@ss.hasPermission('bpm:model:update')")
- public CommonResult updateSimpleModel(@Valid @RequestBody BpmSimpleModelUpdateReqVO reqVO) {
- modelService.updateSimpleModel(getLoginUserId(), reqVO);
- return success(Boolean.TRUE);
- }
-
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmProcessDefinitionController.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmProcessDefinitionController.java
deleted file mode 100644
index 0dc55eb0a..000000000
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmProcessDefinitionController.java
+++ /dev/null
@@ -1,120 +0,0 @@
-package cn.iocoder.yudao.module.bpm.controller.admin.definition;
-
-import cn.hutool.core.collection.CollUtil;
-import cn.iocoder.yudao.framework.common.pojo.CommonResult;
-import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.process.BpmProcessDefinitionPageReqVO;
-import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.process.BpmProcessDefinitionRespVO;
-import cn.iocoder.yudao.module.bpm.convert.definition.BpmProcessDefinitionConvert;
-import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmCategoryDO;
-import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmFormDO;
-import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmProcessDefinitionInfoDO;
-import cn.iocoder.yudao.module.bpm.service.definition.BpmCategoryService;
-import cn.iocoder.yudao.module.bpm.service.definition.BpmFormService;
-import cn.iocoder.yudao.module.bpm.service.definition.BpmProcessDefinitionService;
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.Parameter;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import org.flowable.bpmn.model.BpmnModel;
-import org.flowable.engine.repository.Deployment;
-import org.flowable.engine.repository.ProcessDefinition;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.annotation.Resource;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
-import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
-import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
-import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
-
-@Tag(name = "管理后台 - 流程定义")
-@RestController
-@RequestMapping("/bpm/process-definition")
-@Validated
-public class BpmProcessDefinitionController {
-
- @Resource
- private BpmProcessDefinitionService processDefinitionService;
- @Resource
- private BpmFormService formService;
- @Resource
- private BpmCategoryService categoryService;
-
- @GetMapping("/page")
- @Operation(summary = "获得流程定义分页")
- @PreAuthorize("@ss.hasPermission('bpm:process-definition:query')")
- public CommonResult> getProcessDefinitionPage(
- BpmProcessDefinitionPageReqVO pageReqVO) {
- PageResult pageResult = processDefinitionService.getProcessDefinitionPage(pageReqVO);
- if (CollUtil.isEmpty(pageResult.getList())) {
- return success(PageResult.empty(pageResult.getTotal()));
- }
-
- // 获得 Category Map
- Map categoryMap = categoryService.getCategoryMap(
- convertSet(pageResult.getList(), ProcessDefinition::getCategory));
- // 获得 Deployment Map
- Map deploymentMap = processDefinitionService.getDeploymentMap(
- convertSet(pageResult.getList(), ProcessDefinition::getDeploymentId));
- // 获得 BpmProcessDefinitionInfoDO Map
- Map processDefinitionMap = processDefinitionService.getProcessDefinitionInfoMap(
- convertSet(pageResult.getList(), ProcessDefinition::getId));
- // 获得 Form Map
- Map formMap = formService.getFormMap(
- convertSet(processDefinitionMap.values(), BpmProcessDefinitionInfoDO::getFormId));
- return success(BpmProcessDefinitionConvert.INSTANCE.buildProcessDefinitionPage(
- pageResult, deploymentMap, processDefinitionMap, formMap, categoryMap));
- }
-
- @GetMapping ("/list")
- @Operation(summary = "获得流程定义列表")
- @Parameter(name = "suspensionState", description = "挂起状态", required = true, example = "1") // 参见 Flowable SuspensionState 枚举
- public CommonResult> getProcessDefinitionList(
- @RequestParam("suspensionState") Integer suspensionState) {
- // 1.1 获得开启的流程定义
- List list = processDefinitionService.getProcessDefinitionListBySuspensionState(suspensionState);
- if (CollUtil.isEmpty(list)) {
- return success(Collections.emptyList());
- }
- // 1.2 移除不可见的流程定义
- Map processDefinitionMap = processDefinitionService.getProcessDefinitionInfoMap(
- convertSet(list, ProcessDefinition::getId));
- Long userId = getLoginUserId();
- list.removeIf(processDefinition -> {
- BpmProcessDefinitionInfoDO processDefinitionInfo = processDefinitionMap.get(processDefinition.getId());
- return processDefinitionInfo == null // 不存在
- || Boolean.FALSE.equals(processDefinitionInfo.getVisible()) // visible 不可见
- || !processDefinitionService.canUserStartProcessDefinition(processDefinitionInfo, userId); // 无权限发起
- });
-
- // 2. 拼接 VO 返回
- return success(BpmProcessDefinitionConvert.INSTANCE.buildProcessDefinitionList(
- list, null, processDefinitionMap, null, null));
- }
-
- @GetMapping ("/get")
- @Operation(summary = "获得流程定义")
- @Parameter(name = "id", description = "流程编号", required = true, example = "1024")
- @Parameter(name = "key", description = "流程定义标识", required = true, example = "1024")
- public CommonResult getProcessDefinition(
- @RequestParam(value = "id", required = false) String id,
- @RequestParam(value = "key", required = false) String key) {
- ProcessDefinition processDefinition = id != null ? processDefinitionService.getProcessDefinition(id)
- : processDefinitionService.getActiveProcessDefinition(key);
- if (processDefinition == null) {
- return success(null);
- }
- BpmProcessDefinitionInfoDO processDefinitionInfo = processDefinitionService.getProcessDefinitionInfo(processDefinition.getId());
- BpmnModel bpmnModel = processDefinitionService.getProcessDefinitionBpmnModel(processDefinition.getId());
- return success(BpmProcessDefinitionConvert.INSTANCE.buildProcessDefinition(
- processDefinition, null, processDefinitionInfo, null, null, bpmnModel));
- }
-
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmProcessExpressionController.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmProcessExpressionController.java
deleted file mode 100644
index a6e11a03c..000000000
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmProcessExpressionController.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package cn.iocoder.yudao.module.bpm.controller.admin.definition;
-
-import cn.iocoder.yudao.framework.common.pojo.CommonResult;
-import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
-import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.expression.BpmProcessExpressionPageReqVO;
-import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.expression.BpmProcessExpressionRespVO;
-import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.expression.BpmProcessExpressionSaveReqVO;
-import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmProcessExpressionDO;
-import cn.iocoder.yudao.module.bpm.service.definition.BpmProcessExpressionService;
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.Parameter;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.Resource;
-import javax.validation.Valid;
-
-import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
-
-@Tag(name = "管理后台 - BPM 流程表达式")
-@RestController
-@RequestMapping("/bpm/process-expression")
-@Validated
-public class BpmProcessExpressionController {
-
- @Resource
- private BpmProcessExpressionService processExpressionService;
-
- @PostMapping("/create")
- @Operation(summary = "创建流程表达式")
- @PreAuthorize("@ss.hasPermission('bpm:process-expression:create')")
- public CommonResult createProcessExpression(@Valid @RequestBody BpmProcessExpressionSaveReqVO createReqVO) {
- return success(processExpressionService.createProcessExpression(createReqVO));
- }
-
- @PutMapping("/update")
- @Operation(summary = "更新流程表达式")
- @PreAuthorize("@ss.hasPermission('bpm:process-expression:update')")
- public CommonResult updateProcessExpression(@Valid @RequestBody BpmProcessExpressionSaveReqVO updateReqVO) {
- processExpressionService.updateProcessExpression(updateReqVO);
- return success(true);
- }
-
- @DeleteMapping("/delete")
- @Operation(summary = "删除流程表达式")
- @Parameter(name = "id", description = "编号", required = true)
- @PreAuthorize("@ss.hasPermission('bpm:process-expression:delete')")
- public CommonResult deleteProcessExpression(@RequestParam("id") Long id) {
- processExpressionService.deleteProcessExpression(id);
- return success(true);
- }
-
- @GetMapping("/get")
- @Operation(summary = "获得流程表达式")
- @Parameter(name = "id", description = "编号", required = true, example = "1024")
- @PreAuthorize("@ss.hasPermission('bpm:process-expression:query')")
- public CommonResult getProcessExpression(@RequestParam("id") Long id) {
- BpmProcessExpressionDO processExpression = processExpressionService.getProcessExpression(id);
- return success(BeanUtils.toBean(processExpression, BpmProcessExpressionRespVO.class));
- }
-
- @GetMapping("/page")
- @Operation(summary = "获得流程表达式分页")
- @PreAuthorize("@ss.hasPermission('bpm:process-expression:query')")
- public CommonResult> getProcessExpressionPage(
- @Valid BpmProcessExpressionPageReqVO pageReqVO) {
- PageResult pageResult = processExpressionService.getProcessExpressionPage(pageReqVO);
- return success(BeanUtils.toBean(pageResult, BpmProcessExpressionRespVO.class));
- }
-
-}
\ No newline at end of file
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmProcessListenerController.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmProcessListenerController.java
deleted file mode 100644
index c6cc391c3..000000000
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmProcessListenerController.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package cn.iocoder.yudao.module.bpm.controller.admin.definition;
-
-import cn.iocoder.yudao.framework.common.pojo.CommonResult;
-import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
-import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.listener.BpmProcessListenerPageReqVO;
-import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.listener.BpmProcessListenerRespVO;
-import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.listener.BpmProcessListenerSaveReqVO;
-import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmProcessListenerDO;
-import cn.iocoder.yudao.module.bpm.service.definition.BpmProcessListenerService;
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.Parameter;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.Resource;
-import javax.validation.Valid;
-
-import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
-
-@Tag(name = "管理后台 - BPM 流程监听器")
-@RestController
-@RequestMapping("/bpm/process-listener")
-@Validated
-public class BpmProcessListenerController {
-
- @Resource
- private BpmProcessListenerService processListenerService;
-
- @PostMapping("/create")
- @Operation(summary = "创建流程监听器")
- @PreAuthorize("@ss.hasPermission('bpm:process-listener:create')")
- public CommonResult createProcessListener(@Valid @RequestBody BpmProcessListenerSaveReqVO createReqVO) {
- return success(processListenerService.createProcessListener(createReqVO));
- }
-
- @PutMapping("/update")
- @Operation(summary = "更新流程监听器")
- @PreAuthorize("@ss.hasPermission('bpm:process-listener:update')")
- public CommonResult updateProcessListener(@Valid @RequestBody BpmProcessListenerSaveReqVO updateReqVO) {
- processListenerService.updateProcessListener(updateReqVO);
- return success(true);
- }
-
- @DeleteMapping("/delete")
- @Operation(summary = "删除流程监听器")
- @Parameter(name = "id", description = "编号", required = true)
- @PreAuthorize("@ss.hasPermission('bpm:process-listener:delete')")
- public CommonResult deleteProcessListener(@RequestParam("id") Long id) {
- processListenerService.deleteProcessListener(id);
- return success(true);
- }
-
- @GetMapping("/get")
- @Operation(summary = "获得流程监听器")
- @Parameter(name = "id", description = "编号", required = true, example = "1024")
- @PreAuthorize("@ss.hasPermission('bpm:process-listener:query')")
- public CommonResult getProcessListener(@RequestParam("id") Long id) {
- BpmProcessListenerDO processListener = processListenerService.getProcessListener(id);
- return success(BeanUtils.toBean(processListener, BpmProcessListenerRespVO.class));
- }
-
- @GetMapping("/page")
- @Operation(summary = "获得流程监听器分页")
- @PreAuthorize("@ss.hasPermission('bpm:process-listener:query')")
- public CommonResult> getProcessListenerPage(
- @Valid BpmProcessListenerPageReqVO pageReqVO) {
- PageResult pageResult = processListenerService.getProcessListenerPage(pageReqVO);
- return success(BeanUtils.toBean(pageResult, BpmProcessListenerRespVO.class));
- }
-
-}
\ No newline at end of file
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmUserGroupController.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmUserGroupController.java
deleted file mode 100644
index fca7d5b0f..000000000
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmUserGroupController.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package cn.iocoder.yudao.module.bpm.controller.admin.definition;
-
-import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
-import cn.iocoder.yudao.framework.common.pojo.CommonResult;
-import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
-import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.group.BpmUserGroupPageReqVO;
-import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.group.BpmUserGroupRespVO;
-import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.group.BpmUserGroupSaveReqVO;
-import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmUserGroupDO;
-import cn.iocoder.yudao.module.bpm.service.definition.BpmUserGroupService;
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.Parameter;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.Resource;
-import javax.validation.Valid;
-import java.util.List;
-
-import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
-import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
-
-@Tag(name = "管理后台 - 用户组")
-@RestController
-@RequestMapping("/bpm/user-group")
-@Validated
-public class BpmUserGroupController {
-
- @Resource
- private BpmUserGroupService userGroupService;
-
- @PostMapping("/create")
- @Operation(summary = "创建用户组")
- @PreAuthorize("@ss.hasPermission('bpm:user-group:create')")
- public CommonResult createUserGroup(@Valid @RequestBody BpmUserGroupSaveReqVO createReqVO) {
- return success(userGroupService.createUserGroup(createReqVO));
- }
-
- @PutMapping("/update")
- @Operation(summary = "更新用户组")
- @PreAuthorize("@ss.hasPermission('bpm:user-group:update')")
- public CommonResult updateUserGroup(@Valid @RequestBody BpmUserGroupSaveReqVO updateReqVO) {
- userGroupService.updateUserGroup(updateReqVO);
- return success(true);
- }
-
- @DeleteMapping("/delete")
- @Operation(summary = "删除用户组")
- @Parameter(name = "id", description = "编号", required = true)
- @PreAuthorize("@ss.hasPermission('bpm:user-group:delete')")
- public CommonResult deleteUserGroup(@RequestParam("id") Long id) {
- userGroupService.deleteUserGroup(id);
- return success(true);
- }
-
- @GetMapping("/get")
- @Operation(summary = "获得用户组")
- @Parameter(name = "id", description = "编号", required = true, example = "1024")
- @PreAuthorize("@ss.hasPermission('bpm:user-group:query')")
- public CommonResult getUserGroup(@RequestParam("id") Long id) {
- BpmUserGroupDO userGroup = userGroupService.getUserGroup(id);
- return success(BeanUtils.toBean(userGroup, BpmUserGroupRespVO.class));
- }
-
- @GetMapping("/page")
- @Operation(summary = "获得用户组分页")
- @PreAuthorize("@ss.hasPermission('bpm:user-group:query')")
- public CommonResult> getUserGroupPage(@Valid BpmUserGroupPageReqVO pageVO) {
- PageResult pageResult = userGroupService.getUserGroupPage(pageVO);
- return success(BeanUtils.toBean(pageResult, BpmUserGroupRespVO.class));
- }
-
- @GetMapping("/simple-list")
- @Operation(summary = "获取用户组精简信息列表", description = "只包含被开启的用户组,主要用于前端的下拉选项")
- public CommonResult> getUserGroupSimpleList() {
- List list = userGroupService.getUserGroupListByStatus(CommonStatusEnum.ENABLE.getStatus());
- return success(convertList(list, group -> new BpmUserGroupRespVO().setId(group.getId()).setName(group.getName())));
- }
-
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/category/BpmCategoryPageReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/category/BpmCategoryPageReqVO.java
deleted file mode 100644
index b76e96c31..000000000
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/category/BpmCategoryPageReqVO.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.category;
-
-import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
-import cn.iocoder.yudao.framework.common.pojo.PageParam;
-import cn.iocoder.yudao.framework.common.validation.InEnum;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.time.LocalDateTime;
-
-import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
-
-@Schema(description = "管理后台 - BPM 流程分类分页 Request VO")
-@Data
-public class BpmCategoryPageReqVO extends PageParam {
-
- @Schema(description = "分类名", example = "王五")
- private String name;
-
- @Schema(description = "分类标志", example = "OA")
- private String code;
-
- @Schema(description = "分类状态", example = "1")
- @InEnum(CommonStatusEnum.class)
- private Integer status;
-
- @Schema(description = "创建时间")
- @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
- private LocalDateTime[] createTime;
-
-}
\ No newline at end of file
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/category/BpmCategoryRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/category/BpmCategoryRespVO.java
deleted file mode 100644
index 7ada55a1d..000000000
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/category/BpmCategoryRespVO.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.category;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-import java.time.LocalDateTime;
-
-@Schema(description = "管理后台 - BPM 流程分类 Response VO")
-@Data
-public class BpmCategoryRespVO {
-
- @Schema(description = "分类编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "3167")
- private Long id;
-
- @Schema(description = "分类名", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
- private String name;
-
- @Schema(description = "分类标志", requiredMode = Schema.RequiredMode.REQUIRED, example = "OA")
- private String code;
-
- @Schema(description = "分类描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "你猜")
- private String description;
-
- @Schema(description = "分类状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
- private Integer status;
-
- @Schema(description = "分类排序", requiredMode = Schema.RequiredMode.REQUIRED)
- private Integer sort;
-
- @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
- private LocalDateTime createTime;
-
-}
\ No newline at end of file
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/category/BpmCategorySaveReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/category/BpmCategorySaveReqVO.java
deleted file mode 100644
index d4865e7f6..000000000
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/category/BpmCategorySaveReqVO.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.category;
-
-import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
-import cn.iocoder.yudao.framework.common.validation.InEnum;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
-
-@Schema(description = "管理后台 - BPM 流程分类新增/修改 Request VO")
-@Data
-public class BpmCategorySaveReqVO {
-
- @Schema(description = "分类编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "3167")
- private Long id;
-
- @Schema(description = "分类名", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
- @NotEmpty(message = "分类名不能为空")
- private String name;
-
- @Schema(description = "分类描述", example = "你猜")
- private String description;
-
- @Schema(description = "分类标志", requiredMode = Schema.RequiredMode.REQUIRED, example = "OA")
- @NotEmpty(message = "分类标志不能为空")
- private String code;
-
- @Schema(description = "分类状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
- @NotNull(message = "分类状态不能为空")
- @InEnum(CommonStatusEnum.class)
- private Integer status;
-
- @Schema(description = "分类排序", requiredMode = Schema.RequiredMode.REQUIRED)
- @NotNull(message = "分类排序不能为空")
- private Integer sort;
-
-}
\ No newline at end of file
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/expression/BpmProcessExpressionPageReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/expression/BpmProcessExpressionPageReqVO.java
deleted file mode 100644
index 37b02f0d9..000000000
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/expression/BpmProcessExpressionPageReqVO.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.expression;
-
-import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
-import cn.iocoder.yudao.framework.common.pojo.PageParam;
-import cn.iocoder.yudao.framework.common.validation.InEnum;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.time.LocalDateTime;
-
-import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
-
-@Schema(description = "管理后台 - BPM 流程表达式分页 Request VO")
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-public class BpmProcessExpressionPageReqVO extends PageParam {
-
- @Schema(description = "表达式名字", example = "李四")
- private String name;
-
- @Schema(description = "表达式状态", example = "1")
- @InEnum(CommonStatusEnum.class)
- private Integer status;
-
- @Schema(description = "创建时间")
- @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
- private LocalDateTime[] createTime;
-
-}
\ No newline at end of file
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/expression/BpmProcessExpressionRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/expression/BpmProcessExpressionRespVO.java
deleted file mode 100644
index d877f60a8..000000000
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/expression/BpmProcessExpressionRespVO.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.expression;
-
-import com.alibaba.excel.annotation.ExcelProperty;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-import java.time.LocalDateTime;
-
-@Schema(description = "管理后台 - BPM 流程表达式 Response VO")
-@Data
-public class BpmProcessExpressionRespVO {
-
- @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "3870")
- @ExcelProperty("编号")
- private Long id;
-
- @Schema(description = "表达式名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
- @ExcelProperty("表达式名字")
- private String name;
-
- @Schema(description = "表达式状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
- private Integer status;
-
- @Schema(description = "表达式", requiredMode = Schema.RequiredMode.REQUIRED)
- private String expression;
-
- @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
- private LocalDateTime createTime;
-
-}
\ No newline at end of file
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/expression/BpmProcessExpressionSaveReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/expression/BpmProcessExpressionSaveReqVO.java
deleted file mode 100644
index 2755bf80e..000000000
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/expression/BpmProcessExpressionSaveReqVO.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.expression;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
-
-@Schema(description = "管理后台 - BPM 流程表达式新增/修改 Request VO")
-@Data
-public class BpmProcessExpressionSaveReqVO {
-
- @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "3870")
- private Long id;
-
- @Schema(description = "表达式名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
- @NotEmpty(message = "表达式名字不能为空")
- private String name;
-
- @Schema(description = "表达式状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
- @NotNull(message = "表达式状态不能为空")
- private Integer status;
-
- @Schema(description = "表达式", requiredMode = Schema.RequiredMode.REQUIRED)
- @NotEmpty(message = "表达式不能为空")
- private String expression;
-
-}
\ No newline at end of file
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormPageReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormPageReqVO.java
deleted file mode 100644
index 1657f0204..000000000
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormPageReqVO.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.form;
-
-import cn.iocoder.yudao.framework.common.pojo.PageParam;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
-
-@Schema(description = "管理后台 - 动态表单分页 Request VO")
-@Data
-public class BpmFormPageReqVO extends PageParam {
-
- @Schema(description = "表单名称", example = "芋道")
- private String name;
-
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormRespVO.java
deleted file mode 100644
index 832d4d40f..000000000
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormRespVO.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.form;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-import javax.validation.constraints.NotNull;
-import java.time.LocalDateTime;
-import java.util.List;
-
-@Schema(description = "管理后台 - 动态表单 Response VO")
-@Data
-public class BpmFormRespVO {
-
- @Schema(description = "表单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
- private Long id;
-
- @Schema(description = "表单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
- @NotNull(message = "表单名称不能为空")
- private String name;
-
- @Schema(description = "表单的配置-JSON 字符串", requiredMode = Schema.RequiredMode.REQUIRED)
- @NotNull(message = "表单的配置不能为空")
- private String conf;
-
- @Schema(description = "表单项的数组-JSON 字符串的数组", requiredMode = Schema.RequiredMode.REQUIRED)
- @NotNull(message = "表单项的数组不能为空")
- private List fields;
-
- @Schema(description = "表单状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
- @NotNull(message = "表单状态不能为空")
- private Integer status; // 参见 CommonStatusEnum 枚举
-
- @Schema(description = "备注", example = "我是备注")
- private String remark;
-
- @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
- private LocalDateTime createTime;
-
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormSaveReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormSaveReqVO.java
deleted file mode 100644
index c89085970..000000000
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormSaveReqVO.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.form;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-import javax.validation.constraints.NotNull;
-import java.util.List;
-
-@Schema(description = "管理后台 - 动态表单创建/更新 Request VO")
-@Data
-public class BpmFormSaveReqVO {
-
- @Schema(description = "表单编号", example = "1024")
- private Long id;
-
- @Schema(description = "表单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
- @NotNull(message = "表单名称不能为空")
- private String name;
-
- @Schema(description = "表单的配置-JSON 字符串", requiredMode = Schema.RequiredMode.REQUIRED)
- @NotNull(message = "表单的配置不能为空")
- private String conf;
-
- @Schema(description = "表单项的数组-JSON 字符串的数组", requiredMode = Schema.RequiredMode.REQUIRED)
- @NotNull(message = "表单项的数组不能为空")
- private List fields;
-
- @Schema(description = "表单状态-参见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
- @NotNull(message = "表单状态不能为空")
- private Integer status;
-
- @Schema(description = "备注", example = "我是备注")
- private String remark;
-
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/group/BpmUserGroupPageReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/group/BpmUserGroupPageReqVO.java
deleted file mode 100644
index 234ff2849..000000000
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/group/BpmUserGroupPageReqVO.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.group;
-
-import cn.iocoder.yudao.framework.common.pojo.PageParam;
-import cn.iocoder.yudao.framework.common.util.date.DateUtils;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.time.LocalDateTime;
-
-@Schema(description = "管理后台 - 用户组分页 Request VO")
-@Data
-public class BpmUserGroupPageReqVO extends PageParam {
-
- @Schema(description = "编号", example = "1024")
- private Long id;
-
- @Schema(description = "组名", example = "芋道")
- private String name;
-
- @Schema(description = "状态", example = "1")
- private Integer status;
-
- @DateTimeFormat(pattern = DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
- @Schema(description = "创建时间")
- private LocalDateTime[] createTime;
-
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/group/BpmUserGroupRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/group/BpmUserGroupRespVO.java
deleted file mode 100644
index f20722a8d..000000000
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/group/BpmUserGroupRespVO.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.group;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-import java.time.LocalDateTime;
-import java.util.Set;
-
-@Schema(description = "管理后台 - 用户组 Response VO")
-@Data
-public class BpmUserGroupRespVO {
-
- @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
- private Long id;
-
- @Schema(description = "组名", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
- private String name;
-
- @Schema(description = "描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道源码")
- private String description;
-
- @Schema(description = "成员编号数组", requiredMode = Schema.RequiredMode.REQUIRED, example = "1,2,3")
- private Set userIds;
-
- @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
- private Integer status;
-
- @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
- private LocalDateTime createTime;
-
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/group/BpmUserGroupSaveReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/group/BpmUserGroupSaveReqVO.java
deleted file mode 100644
index 470eb0e53..000000000
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/group/BpmUserGroupSaveReqVO.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.group;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-import javax.validation.constraints.NotNull;
-import java.util.Set;
-
-@Schema(description = "管理后台 - 用户组创建/修改 Request VO")
-@Data
-public class BpmUserGroupSaveReqVO {
-
- @Schema(description = "编号", example = "1024")
- private Long id;
-
- @Schema(description = "组名", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
- @NotNull(message = "组名不能为空")
- private String name;
-
- @Schema(description = "描述", example = "芋道源码")
- private String description;
-
- @Schema(description = "成员编号数组", requiredMode = Schema.RequiredMode.REQUIRED, example = "1,2,3")
- @NotNull(message = "成员编号数组不能为空")
- private Set userIds;
-
- @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
- @NotNull(message = "状态不能为空")
- private Integer status;
-
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/listener/BpmProcessListenerPageReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/listener/BpmProcessListenerPageReqVO.java
deleted file mode 100644
index d3b974672..000000000
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/listener/BpmProcessListenerPageReqVO.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.listener;
-
-import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
-import cn.iocoder.yudao.framework.common.pojo.PageParam;
-import cn.iocoder.yudao.framework.common.validation.InEnum;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
-
-@Schema(description = "管理后台 - BPM 流程监听器分页 Request VO")
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-public class BpmProcessListenerPageReqVO extends PageParam {
-
- @Schema(description = "监听器名字", example = "赵六")
- private String name;
-
- @Schema(description = "监听器类型", example = "execution")
- private String type;
-
- @Schema(description = "监听事件", example = "start")
- private String event;
-
- @Schema(description = "状态", example = "1")
- @InEnum(CommonStatusEnum.class)
- private Integer status;
-
-}
\ No newline at end of file
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/listener/BpmProcessListenerRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/listener/BpmProcessListenerRespVO.java
deleted file mode 100644
index f7a484254..000000000
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/listener/BpmProcessListenerRespVO.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.listener;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-import java.time.LocalDateTime;
-
-@Schema(description = "管理后台 - BPM 流程监听器 Response VO")
-@Data
-public class BpmProcessListenerRespVO {
-
- @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "13089")
- private Long id;
-
- @Schema(description = "监听器名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
- private String name;
-
- @Schema(description = "监听器类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "execution")
- private String type;
-
- @Schema(description = "监听器状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
- private Integer status;
-
- @Schema(description = "监听事件", requiredMode = Schema.RequiredMode.REQUIRED, example = "start")
- private String event;
-
- @Schema(description = "监听器值类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "class")
- private String valueType;
-
- @Schema(description = "监听器值", requiredMode = Schema.RequiredMode.REQUIRED)
- private String value;
-
- @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
- private LocalDateTime createTime;
-
-}
\ No newline at end of file
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/listener/BpmProcessListenerSaveReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/listener/BpmProcessListenerSaveReqVO.java
deleted file mode 100644
index ef022b86c..000000000
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/listener/BpmProcessListenerSaveReqVO.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.listener;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
-
-@Schema(description = "管理后台 - BPM 流程监听器新增/修改 Request VO")
-@Data
-public class BpmProcessListenerSaveReqVO {
-
- @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "13089")
- private Long id;
-
- @Schema(description = "监听器名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
- @NotEmpty(message = "监听器名字不能为空")
- private String name;
-
- @Schema(description = "监听器类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "execution")
- @NotEmpty(message = "监听器类型不能为空")
- private String type;
-
- @Schema(description = "监听器状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
- @NotNull(message = "监听器状态不能为空")
- private Integer status;
-
- @Schema(description = "监听事件", requiredMode = Schema.RequiredMode.REQUIRED, example = "start")
- @NotEmpty(message = "监听事件不能为空")
- private String event;
-
- @Schema(description = "监听器值类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "class")
- @NotEmpty(message = "监听器值类型不能为空")
- private String valueType;
-
- @Schema(description = "监听器值", requiredMode = Schema.RequiredMode.REQUIRED)
- @NotEmpty(message = "监听器值不能为空")
- private String value;
-
-}
\ No newline at end of file
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModeUpdateBpmnReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModeUpdateBpmnReqVO.java
deleted file mode 100644
index 053583d4f..000000000
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModeUpdateBpmnReqVO.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-import javax.validation.constraints.NotEmpty;
-
-@Schema(description = "管理后台 - 流程模型的更新 BPMN XML Request VO")
-@Data
-public class BpmModeUpdateBpmnReqVO {
-
- @Schema(description = "流程编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
- @NotEmpty(message = "流程编号不能为空")
- private String id;
-
- @Schema(description = "BPMN XML", requiredMode = Schema.RequiredMode.REQUIRED)
- @NotEmpty(message = "BPMN XML 不能为空")
- private String bpmnXml;
-
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelMetaInfoVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelMetaInfoVO.java
deleted file mode 100644
index 4f5e75a8e..000000000
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelMetaInfoVO.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model;
-
-import cn.iocoder.yudao.framework.common.validation.InEnum;
-import cn.iocoder.yudao.module.bpm.enums.definition.BpmModelFormTypeEnum;
-import cn.iocoder.yudao.module.bpm.enums.definition.BpmModelTypeEnum;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-import org.hibernate.validator.constraints.URL;
-
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
-import java.util.List;
-
-/**
- * BPM 流程 MetaInfo Response DTO
- * 主要用于 { Model#setMetaInfo(String)} 的存储
- *
- * 最终,它的字段和
- * {@link cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmProcessDefinitionInfoDO}
- * 是一致的
- *
- * @author 芋道源码
- */
-@Data
-public class BpmModelMetaInfoVO {
-
- @Schema(description = "流程图标", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn/yudao.jpg")
- @NotEmpty(message = "流程图标不能为空")
- @URL(message = "流程图标格式不正确")
- private String icon;
-
- @Schema(description = "流程描述", example = "我是描述")
- private String description;
-
- @Schema(description = "流程类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
- @InEnum(BpmModelTypeEnum.class)
- @NotNull(message = "流程类型不能为空")
- private Integer type;
-
- @Schema(description = "表单类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
- @InEnum(BpmModelFormTypeEnum.class)
- @NotNull(message = "表单类型不能为空")
- private Integer formType;
- @Schema(description = "表单编号", example = "1024")
- private Long formId; // formType 为 NORMAL 使用,必须非空
- @Schema(description = "自定义表单的提交路径,使用 Vue 的路由地址", example = "/bpm/oa/leave/create")
- private String formCustomCreatePath; // 表单类型为 CUSTOM 时,必须非空
- @Schema(description = "自定义表单的查看路径,使用 Vue 的路由地址", example = "/bpm/oa/leave/view")
- private String formCustomViewPath; // 表单类型为 CUSTOM 时,必须非空
-
- @Schema(description = "是否可见", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
- @NotNull(message = "是否可见不能为空")
- private Boolean visible;
-
- @Schema(description = "可发起用户编号数组", example = "[1,2,3]")
- private List startUserIds;
-
- @Schema(description = "可管理用户编号数组", requiredMode = Schema.RequiredMode.REQUIRED, example = "[2,4,6]")
- @NotEmpty(message = "可管理用户编号数组不能为空")
- private List managerUserIds;
-
- @Schema(description = "排序", example = "1")
- private Long sort; // 创建时,后端自动生成
-
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelRespVO.java
deleted file mode 100644
index c828b6463..000000000
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelRespVO.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model;
-
-import cn.iocoder.yudao.module.bpm.controller.admin.base.user.UserSimpleBaseVO;
-import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.process.BpmProcessDefinitionRespVO;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-import java.time.LocalDateTime;
-import java.util.List;
-
-@Schema(description = "管理后台 - 流程模型 Response VO")
-@Data
-public class BpmModelRespVO extends BpmModelMetaInfoVO {
-
- @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
- private String id;
-
- @Schema(description = "流程标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "process_yudao")
- private String key;
-
- @Schema(description = "流程名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
- private String name;
-
- @Schema(description = "流程图标", example = "https://www.iocoder.cn/yudao.jpg")
- private String icon;
-
- @Schema(description = "流程分类编码", example = "1")
- private String category;
- @Schema(description = "流程分类名字", example = "请假")
- private String categoryName;
-
- @Schema(description = "表单名字", example = "请假表单")
- private String formName;
-
- @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
- private LocalDateTime createTime;
-
- @Schema(description = "BPMN XML", requiredMode = Schema.RequiredMode.REQUIRED)
- private String bpmnXml;
-
- @Schema(description = "可发起的用户数组")
- private List startUsers;
-
- /**
- * 最新部署的流程定义
- */
- private BpmProcessDefinitionRespVO processDefinition;
-
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelSaveReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelSaveReqVO.java
deleted file mode 100644
index 6f91f158f..000000000
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelSaveReqVO.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-import javax.validation.constraints.NotEmpty;
-
-@Schema(description = "管理后台 - 流程模型的保存 Request VO")
-@Data
-public class BpmModelSaveReqVO extends BpmModelMetaInfoVO {
-
- @Schema(description = "编号", example = "1024")
- private String id;
-
- @Schema(description = "流程标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "process_yudao")
- @NotEmpty(message = "流程标识不能为空")
- private String key;
-
- @Schema(description = "流程名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
- @NotEmpty(message = "流程名称不能为空")
- private String name;
-
- @Schema(description = "流程分类", example = "1")
- private String category;
-
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelUpdateStateReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelUpdateStateReqVO.java
deleted file mode 100644
index 6ef20c3c7..000000000
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelUpdateStateReqVO.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-import javax.validation.constraints.NotNull;
-
-@Schema(description = "管理后台 - 流程模型更新状态 Request VO")
-@Data
-public class BpmModelUpdateStateReqVO {
-
- @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
- @NotNull(message = "编号不能为空")
- private String id;
-
- @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
- @NotNull(message = "状态不能为空")
- private Integer state; // 参见 Flowable SuspensionState 枚举
-
-}
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/simple/BpmSimpleModelNodeVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/simple/BpmSimpleModelNodeVO.java
deleted file mode 100644
index b94fa9622..000000000
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/simple/BpmSimpleModelNodeVO.java
+++ /dev/null
@@ -1,212 +0,0 @@
-package cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.simple;
-
-import cn.iocoder.yudao.framework.common.validation.InEnum;
-import cn.iocoder.yudao.module.bpm.enums.definition.*;
-import cn.iocoder.yudao.module.bpm.framework.flowable.core.enums.BpmTaskCandidateStrategyEnum;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-import javax.validation.Valid;
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
-import java.util.List;
-import java.util.Map;
-
-@Schema(description = "管理后台 - 仿钉钉流程设计模型节点 VO")
-@Data
-@JsonInclude(JsonInclude.Include.NON_NULL)
-public class BpmSimpleModelNodeVO {
-
- @Schema(description = "模型节点编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "StartEvent_1")
- @NotEmpty(message = "模型节点编号不能为空")
- private String id;
-
- @Schema(description = "模型节点类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
- @NotNull(message = "模型节点类型不能为空")
- @InEnum(BpmSimpleModelNodeType.class)
- private Integer type;
-
- @Schema(description = "模型节点名称", example = "领导审批")
- private String name;
-
- @Schema(description = "节点展示内容", example = "指定成员: 芋道源码")
- private String showText;
-
- @Schema(description = "子节点")
- private BpmSimpleModelNodeVO childNode; // 补充说明:在该模型下,子节点有且仅有一个,不会有多个
-
- @Schema(description = "条件节点")
- private List conditionNodes; // 补充说明:有且仅有条件、并行、包容等分支会使用
-
- @Schema(description = "条件类型", example = "1")
- @InEnum(BpmSimpleModeConditionType.class)
- private Integer conditionType; // 仅用于条件节点 BpmSimpleModelNodeType.CONDITION_NODE
-
- @Schema(description = "条件表达式", example = "${day>3}")
- private String conditionExpression; // 仅用于条件节点 BpmSimpleModelNodeType.CONDITION_NODE
-
- @Schema(description = "是否默认条件", example = "true")
- private Boolean defaultFlow; // 仅用于条件节点 BpmSimpleModelNodeType.CONDITION_NODE
- /**
- * 条件组
- */
- private ConditionGroups conditionGroups; // 仅用于条件节点 BpmSimpleModelNodeType.CONDITION_NODE
-
- @Schema(description = "候选人策略", example = "30")
- @InEnum(BpmTaskCandidateStrategyEnum.class)
- private Integer candidateStrategy; // 用于审批,抄送节点
-
- @Schema(description = "候选人参数")
- private String candidateParam; // 用于审批,抄送节点
-
- @Schema(description = "审批节点类型", example = "1")
- @InEnum(BpmUserTaskApproveTypeEnum.class)
- private Integer approveType; // 用于审批节点
-
- @Schema(description = "多人审批方式", example = "1")
- @InEnum(BpmUserTaskApproveMethodEnum.class)
- private Integer approveMethod; // 用于审批节点
-
- @Schema(description = "通过比例", example = "100")
- private Integer approveRatio; // 通过比例,当多人审批方式为:多人会签(按通过比例) 需要设置
-
- @Schema(description = "表单权限", example = "[]")
- private List