From 54e4a8c023e832b073fb4b1850b99ea9f0fdac01 Mon Sep 17 00:00:00 2001 From: gssong <1742057357@qq.com> Date: Sat, 11 Jan 2025 14:39:04 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E5=A2=9E=E5=8A=A0=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=E5=90=AF=E5=8A=A8=EF=BC=8C=E5=8A=9E=E7=90=86=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core}/domain/bo/CompleteTaskBo.java | 3 +-- .../common/core/domain/bo}/FlowCopy.java | 2 +- .../core}/domain/bo/StartProcessBo.java | 2 +- .../common/core/service/WorkflowService.java | 21 ++++++++++++++++ .../controller/FlwTaskController.java | 3 ++- .../{VariableVo.java => FlowVariableVo.java} | 2 +- .../workflow/service/IFlwTaskService.java | 2 ++ .../service/impl/FlwInstanceServiceImpl.java | 12 +++++----- .../service/impl/FlwTaskServiceImpl.java | 4 +++- .../service/impl/WorkflowServiceImpl.java | 24 +++++++++++++++++++ 10 files changed, 62 insertions(+), 13 deletions(-) rename {ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow => ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core}/domain/bo/CompleteTaskBo.java (93%) rename {ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo => ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/bo}/FlowCopy.java (89%) rename {ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow => ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core}/domain/bo/StartProcessBo.java (96%) rename ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/{VariableVo.java => FlowVariableVo.java} (86%) diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/CompleteTaskBo.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/bo/CompleteTaskBo.java similarity index 93% rename from ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/CompleteTaskBo.java rename to ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/bo/CompleteTaskBo.java index e2182ca31..6520ea311 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/CompleteTaskBo.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/bo/CompleteTaskBo.java @@ -1,9 +1,8 @@ -package org.dromara.workflow.domain.bo; +package org.dromara.common.core.domain.bo; import jakarta.validation.constraints.NotNull; import lombok.Data; import org.dromara.common.core.validate.AddGroup; -import org.dromara.workflow.domain.vo.FlowCopy; import java.io.Serial; import java.io.Serializable; diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowCopy.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/bo/FlowCopy.java similarity index 89% rename from ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowCopy.java rename to ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/bo/FlowCopy.java index 1fd4646e5..8088c47c0 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowCopy.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/bo/FlowCopy.java @@ -1,4 +1,4 @@ -package org.dromara.workflow.domain.vo; +package org.dromara.common.core.domain.bo; import lombok.Data; diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/StartProcessBo.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/bo/StartProcessBo.java similarity index 96% rename from ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/StartProcessBo.java rename to ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/bo/StartProcessBo.java index ea21a81e7..27ce17bfc 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/StartProcessBo.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/bo/StartProcessBo.java @@ -1,4 +1,4 @@ -package org.dromara.workflow.domain.bo; +package org.dromara.common.core.domain.bo; import jakarta.validation.constraints.NotBlank; diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/WorkflowService.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/WorkflowService.java index d4592126a..fb0a5ec04 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/WorkflowService.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/WorkflowService.java @@ -1,5 +1,8 @@ package org.dromara.common.core.service; +import org.dromara.common.core.domain.bo.CompleteTaskBo; +import org.dromara.common.core.domain.bo.StartProcessBo; + import java.util.List; import java.util.Map; @@ -22,6 +25,7 @@ public interface WorkflowService { * 获取当前流程状态 * * @param taskId 任务id + * @return 状态 */ String getBusinessStatusByTaskId(Long taskId); @@ -29,6 +33,7 @@ public interface WorkflowService { * 获取当前流程状态 * * @param businessId 业务id + * @return 状态 */ String getBusinessStatus(String businessId); @@ -54,4 +59,20 @@ public interface WorkflowService { * @param tenantId 租户id */ void syncDef(String tenantId); + + /** + * 启动流程 + * + * @param startProcessBo 参数 + * @return 结果 + */ + Map startWorkFlow(StartProcessBo startProcessBo); + + /** + * 办理任务 + * + * @param completeTaskBo 参数 + * @return 结果 + */ + boolean completeTask(CompleteTaskBo completeTaskBo); } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/FlwTaskController.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/FlwTaskController.java index c6895cf90..13163a9f6 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/FlwTaskController.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/FlwTaskController.java @@ -2,6 +2,8 @@ package org.dromara.workflow.controller; import lombok.RequiredArgsConstructor; import org.dromara.common.core.domain.R; +import org.dromara.common.core.domain.bo.CompleteTaskBo; +import org.dromara.common.core.domain.bo.StartProcessBo; import org.dromara.common.core.domain.dto.UserDTO; import org.dromara.common.core.validate.AddGroup; import org.dromara.common.idempotent.annotation.RepeatSubmit; @@ -11,7 +13,6 @@ 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.warm.flow.core.entity.Node; -import org.dromara.warm.flow.orm.entity.FlowHisTask; import org.dromara.workflow.domain.bo.*; import org.dromara.workflow.domain.vo.FlowHisTaskVo; import org.dromara.workflow.domain.vo.FlowTaskVo; diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/VariableVo.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowVariableVo.java similarity index 86% rename from ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/VariableVo.java rename to ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowVariableVo.java index 6a26c8287..b4de76e93 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/VariableVo.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowVariableVo.java @@ -11,7 +11,7 @@ import java.io.Serializable; * @author may */ @Data -public class VariableVo implements Serializable { +public class FlowVariableVo implements Serializable { @Serial private static final long serialVersionUID = 1L; diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwTaskService.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwTaskService.java index 80bfa948c..e30646a90 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwTaskService.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwTaskService.java @@ -1,5 +1,7 @@ package org.dromara.workflow.service; +import org.dromara.common.core.domain.bo.CompleteTaskBo; +import org.dromara.common.core.domain.bo.StartProcessBo; import org.dromara.common.core.domain.dto.UserDTO; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwInstanceServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwInstanceServiceImpl.java index 87b739450..c053e6d4a 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwInstanceServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwInstanceServiceImpl.java @@ -40,7 +40,7 @@ import org.dromara.workflow.domain.bo.FlowInstanceBo; import org.dromara.workflow.domain.bo.FlowInvalidBo; import org.dromara.workflow.domain.vo.FlowHisTaskVo; import org.dromara.workflow.domain.vo.FlowInstanceVo; -import org.dromara.workflow.domain.vo.VariableVo; +import org.dromara.workflow.domain.vo.FlowVariableVo; import org.dromara.workflow.handler.FlowProcessEventHandler; import org.dromara.workflow.mapper.FlwCategoryMapper; import org.dromara.workflow.mapper.FlwInstanceMapper; @@ -352,13 +352,13 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService { Map map = new HashMap<>(); FlowInstance flowInstance = flowInstanceMapper.selectById(instanceId); Map variableMap = flowInstance.getVariableMap(); - List list = new ArrayList<>(); + List list = new ArrayList<>(); if (CollUtil.isNotEmpty(variableMap)) { for (Map.Entry entry : variableMap.entrySet()) { - VariableVo variableVo = new VariableVo(); - variableVo.setKey(entry.getKey()); - variableVo.setValue(entry.getValue().toString()); - list.add(variableVo); + FlowVariableVo flowVariableVo = new FlowVariableVo(); + flowVariableVo.setKey(entry.getKey()); + flowVariableVo.setValue(entry.getValue().toString()); + list.add(flowVariableVo); } } map.put("variableList", list); diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java index 935d40997..939da78bf 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java @@ -11,6 +11,8 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.dromara.common.core.domain.bo.CompleteTaskBo; +import org.dromara.common.core.domain.bo.StartProcessBo; import org.dromara.common.core.domain.dto.UserDTO; import org.dromara.common.core.enums.BusinessStatusEnum; import org.dromara.common.core.exception.ServiceException; @@ -37,7 +39,7 @@ import org.dromara.warm.flow.orm.mapper.FlowTaskMapper; import org.dromara.workflow.common.enums.TaskAssigneeType; import org.dromara.workflow.common.enums.TaskStatusEnum; import org.dromara.workflow.domain.bo.*; -import org.dromara.workflow.domain.vo.FlowCopy; +import org.dromara.common.core.domain.bo.FlowCopy; import org.dromara.workflow.domain.vo.FlowHisTaskVo; import org.dromara.workflow.domain.vo.FlowTaskVo; import org.dromara.workflow.handler.FlowProcessEventHandler; diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WorkflowServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WorkflowServiceImpl.java index 7740fe679..53fc3c335 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WorkflowServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WorkflowServiceImpl.java @@ -2,11 +2,14 @@ package org.dromara.workflow.service.impl; import cn.hutool.core.util.ObjectUtil; import lombok.RequiredArgsConstructor; +import org.dromara.common.core.domain.bo.CompleteTaskBo; +import org.dromara.common.core.domain.bo.StartProcessBo; import org.dromara.common.core.service.WorkflowService; import org.dromara.common.core.utils.StringUtils; import org.dromara.warm.flow.orm.entity.FlowInstance; import org.dromara.workflow.service.IFlwDefinitionService; import org.dromara.workflow.service.IFlwInstanceService; +import org.dromara.workflow.service.IFlwTaskService; import org.springframework.stereotype.Service; import java.util.List; @@ -23,6 +26,7 @@ public class WorkflowServiceImpl implements WorkflowService { private final IFlwInstanceService flwInstanceService; private final IFlwDefinitionService flwDefinitionService; + private final IFlwTaskService iFlwTaskService; /** * 删除流程实例 @@ -89,4 +93,24 @@ public class WorkflowServiceImpl implements WorkflowService { public void syncDef(String tenantId) { flwDefinitionService.syncDef(tenantId); } + + /** + * 启动流程 + * + * @param startProcessBo 参数 + */ + @Override + public Map startWorkFlow(StartProcessBo startProcessBo) { + return iFlwTaskService.startWorkFlow(startProcessBo); + } + + /** + * 办理任务 + * + * @param completeTaskBo 参数 + */ + @Override + public boolean completeTask(CompleteTaskBo completeTaskBo) { + return iFlwTaskService.completeTask(completeTaskBo); + } }