getAssigneeCodeList() {
+ return Arrays.stream(values())
+ .map(TaskAssigneeEnum::getCode)
+ .collect(Collectors.toList());
+ }
+}
+
diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/enums/TaskAssigneeType.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/enums/TaskAssigneeType.java
new file mode 100644
index 000000000..eed1b91fb
--- /dev/null
+++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/enums/TaskAssigneeType.java
@@ -0,0 +1,49 @@
+package org.dromara.workflow.common.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * 人员类型
+ *
+ * @author AprilWind
+ */
+@Getter
+@AllArgsConstructor
+public enum TaskAssigneeType {
+
+ /**
+ * 待办任务的审批人权限
+ * 该权限表示用户是待办任务的审批人,负责审核任务的执行情况。
+ */
+ APPROVER("1", "待办任务的审批人权限"),
+
+ /**
+ * 待办任务的转办人权限
+ * 该权限表示用户是待办任务的转办人,负责将任务分配给其他人员。
+ */
+ TRANSFER("2", "待办任务的转办人权限"),
+
+ /**
+ * 待办任务的委托人权限
+ * 该权限表示用户是待办任务的委托人,能够委托其他人代为处理任务。
+ */
+ DELEGATE("3", "待办任务的委托人权限"),
+
+ /**
+ * 待办任务的抄送人权限
+ * 该权限表示用户是待办任务的抄送人,仅接收任务信息的通知,不参与任务的审批或处理。
+ */
+ COPY("4", "待办任务的抄送人权限");
+
+ /**
+ * 类型
+ */
+ private final String code;
+
+ /**
+ * 描述
+ */
+ private final String description;
+
+}
diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/enums/TaskStatusEnum.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/enums/TaskStatusEnum.java
index 7b2f55c20..d18ebb01d 100644
--- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/enums/TaskStatusEnum.java
+++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/enums/TaskStatusEnum.java
@@ -3,9 +3,10 @@ package org.dromara.workflow.common.enums;
import cn.hutool.core.util.StrUtil;
import lombok.AllArgsConstructor;
import lombok.Getter;
-import org.apache.commons.lang3.StringUtils;
import java.util.Arrays;
+import java.util.Map;
+import java.util.stream.Collectors;
/**
* 任务状态枚举
@@ -15,50 +16,62 @@ import java.util.Arrays;
@Getter
@AllArgsConstructor
public enum TaskStatusEnum {
+
/**
* 撤销
*/
CANCEL("cancel", "撤销"),
+
/**
* 通过
*/
PASS("pass", "通过"),
+
/**
* 待审核
*/
WAITING("waiting", "待审核"),
+
/**
* 作废
*/
INVALID("invalid", "作废"),
+
/**
* 退回
*/
BACK("back", "退回"),
+
/**
* 终止
*/
TERMINATION("termination", "终止"),
+
/**
* 转办
*/
TRANSFER("transfer", "转办"),
+
/**
* 委托
*/
- PENDING("pending", "委托"),
+ DEPUTE("depute", "委托"),
+
/**
* 抄送
*/
COPY("copy", "抄送"),
+
/**
* 加签
*/
SIGN("sign", "加签"),
+
/**
* 减签
*/
SIGN_OFF("sign_off", "减签"),
+
/**
* 超时
*/
@@ -74,21 +87,18 @@ public enum TaskStatusEnum {
*/
private final String desc;
+ private static final Map STATUS_DESC_MAP = Arrays.stream(values())
+ .collect(Collectors.toConcurrentMap(TaskStatusEnum::getStatus, TaskStatusEnum::getDesc));
+
/**
* 任务业务状态
*
* @param status 状态
*/
public static String findByStatus(String status) {
- if (StringUtils.isBlank(status)) {
- return StrUtil.EMPTY;
- }
-
- return Arrays.stream(TaskStatusEnum.values())
- .filter(statusEnum -> statusEnum.getStatus().equals(status))
- .findFirst()
- .map(TaskStatusEnum::getDesc)
- .orElse(StrUtil.EMPTY);
+ // 从缓存中直接获取描述
+ return STATUS_DESC_MAP.getOrDefault(status, StrUtil.EMPTY);
}
+
}
diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/config/WarmFlowConfig.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/config/WarmFlowConfig.java
new file mode 100644
index 000000000..08f1808d1
--- /dev/null
+++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/config/WarmFlowConfig.java
@@ -0,0 +1,16 @@
+package org.dromara.workflow.config;
+
+import org.dromara.workflow.common.ConditionalOnEnable;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * warmFlow配置
+ *
+ * @author may
+ */
+@ConditionalOnEnable
+@Configuration
+public class WarmFlowConfig {
+
+}
+
diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/ActModelController.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/ActModelController.java
deleted file mode 100644
index a4532e1cb..000000000
--- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/ActModelController.java
+++ /dev/null
@@ -1,148 +0,0 @@
-package org.dromara.workflow.controller;
-
-import jakarta.servlet.http.HttpServletResponse;
-import jakarta.validation.constraints.NotBlank;
-import jakarta.validation.constraints.NotEmpty;
-import lombok.RequiredArgsConstructor;
-import org.dromara.common.core.domain.R;
-import org.dromara.common.core.validate.AddGroup;
-import org.dromara.common.core.validate.EditGroup;
-import org.dromara.common.idempotent.annotation.RepeatSubmit;
-import org.dromara.common.log.annotation.Log;
-import org.dromara.common.log.enums.BusinessType;
-import org.dromara.common.mybatis.core.page.PageQuery;
-import org.dromara.common.mybatis.core.page.TableDataInfo;
-import org.dromara.common.web.core.BaseController;
-import org.dromara.workflow.domain.bo.ModelBo;
-import org.dromara.workflow.domain.vo.ModelVo;
-import org.dromara.workflow.service.IActModelService;
-import org.flowable.engine.RepositoryService;
-import org.flowable.engine.repository.Model;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * 模型管理 控制层
- *
- * @author may
- */
-@Validated
-@RequiredArgsConstructor
-@RestController
-@RequestMapping("/model")
-public class ActModelController extends BaseController {
-
- @Autowired(required = false)
- private RepositoryService repositoryService;
- private final IActModelService actModelService;
-
-
- /**
- * 分页查询模型
- *
- * @param modelBo 模型参数
- */
- @GetMapping("/list")
- public TableDataInfo page(ModelBo modelBo, PageQuery pageQuery) {
- return actModelService.page(modelBo, pageQuery);
- }
-
- /**
- * 新增模型
- *
- * @param modelBo 模型请求对象
- */
- @Log(title = "模型管理", businessType = BusinessType.INSERT)
- @RepeatSubmit()
- @PostMapping("/save")
- public R saveNewModel(@Validated(AddGroup.class) @RequestBody ModelBo modelBo) {
- return toAjax(actModelService.saveNewModel(modelBo));
- }
-
- /**
- * 查询模型
- *
- * @param id 模型id
- */
- @GetMapping("/getInfo/{id}")
- public R getInfo(@NotBlank(message = "模型id不能为空") @PathVariable String id) {
- return R.ok(actModelService.getInfo(id));
- }
-
- /**
- * 修改模型信息
- *
- * @param modelBo 模型数据
- */
- @Log(title = "模型管理", businessType = BusinessType.UPDATE)
- @RepeatSubmit()
- @PutMapping(value = "/update")
- public R update(@RequestBody ModelBo modelBo) {
- return toAjax(actModelService.update(modelBo));
- }
-
- /**
- * 编辑XMl模型
- *
- * @param modelBo 模型数据
- */
- @Log(title = "模型管理", businessType = BusinessType.UPDATE)
- @RepeatSubmit()
- @PutMapping(value = "/editModelXml")
- public R editModel(@Validated(EditGroup.class) @RequestBody ModelBo modelBo) {
- return toAjax(actModelService.editModelXml(modelBo));
- }
-
- /**
- * 删除流程模型
- *
- * @param ids 模型id
- */
- @Log(title = "模型管理", businessType = BusinessType.DELETE)
- @RepeatSubmit()
- @DeleteMapping("/{ids}")
- @Transactional(rollbackFor = Exception.class)
- public R delete(@NotEmpty(message = "主键不能为空") @PathVariable String[] ids) {
- Arrays.stream(ids).parallel().forEachOrdered(repositoryService::deleteModel);
- return R.ok();
- }
-
- /**
- * 模型部署
- *
- * @param id 模型id
- */
- @Log(title = "模型管理", businessType = BusinessType.INSERT)
- @RepeatSubmit()
- @PostMapping("/modelDeploy/{id}")
- public R deploy(@NotBlank(message = "模型id不能为空") @PathVariable("id") String id) {
- return toAjax(actModelService.modelDeploy(id));
- }
-
- /**
- * 导出模型zip压缩包
- *
- * @param modelIds 模型id
- * @param response 相应
- */
- @GetMapping("/export/zip/{modelIds}")
- public void exportZip(@NotEmpty(message = "模型id不能为空") @PathVariable List modelIds,
- HttpServletResponse response) {
- actModelService.exportZip(modelIds, response);
- }
-
- /**
- * 复制模型
- *
- * @param modelBo 模型数据
- */
- @PostMapping("/copyModel")
- public R copyModel(@RequestBody ModelBo modelBo) {
- return toAjax(actModelService.copyModel(modelBo));
- }
-}
diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/ActProcessDefinitionController.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/ActProcessDefinitionController.java
deleted file mode 100644
index f38b21f84..000000000
--- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/ActProcessDefinitionController.java
+++ /dev/null
@@ -1,147 +0,0 @@
-package org.dromara.workflow.controller;
-
-import jakarta.validation.constraints.NotBlank;
-import jakarta.validation.constraints.NotEmpty;
-import jakarta.validation.constraints.NotNull;
-import lombok.RequiredArgsConstructor;
-import org.dromara.common.core.domain.R;
-import org.dromara.common.idempotent.annotation.RepeatSubmit;
-import org.dromara.common.log.annotation.Log;
-import org.dromara.common.log.enums.BusinessType;
-import org.dromara.common.mybatis.core.page.PageQuery;
-import org.dromara.common.mybatis.core.page.TableDataInfo;
-import org.dromara.common.web.core.BaseController;
-import org.dromara.workflow.domain.bo.ProcessDefinitionBo;
-import org.dromara.workflow.domain.vo.ProcessDefinitionVo;
-import org.dromara.workflow.service.IActProcessDefinitionService;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-
-/**
- * 流程定义管理 控制层
- *
- * @author may
- */
-@Validated
-@RequiredArgsConstructor
-@RestController
-@RequestMapping("/processDefinition")
-public class ActProcessDefinitionController extends BaseController {
-
- private final IActProcessDefinitionService actProcessDefinitionService;
-
- /**
- * 分页查询
- *
- * @param bo 参数
- */
- @GetMapping("/list")
- public TableDataInfo page(ProcessDefinitionBo bo, PageQuery pageQuery) {
- return actProcessDefinitionService.page(bo, pageQuery);
- }
-
- /**
- * 查询历史流程定义列表
- *
- * @param key 流程定义key
- */
- @GetMapping("/getListByKey/{key}")
- public R> getListByKey(@NotEmpty(message = "流程定义key不能为空") @PathVariable String key) {
- return R.ok("操作成功", actProcessDefinitionService.getListByKey(key));
- }
-
- /**
- * 查看流程定义图片
- *
- * @param processDefinitionId 流程定义id
- */
- @GetMapping("/definitionImage/{processDefinitionId}")
- public R definitionImage(@PathVariable String processDefinitionId) {
- return R.ok("操作成功", actProcessDefinitionService.definitionImage(processDefinitionId));
- }
-
- /**
- * 查看流程定义xml文件
- *
- * @param processDefinitionId 流程定义id
- */
- @GetMapping("/definitionXml/{processDefinitionId}")
- public R