add 增加流程启动,办理接口
This commit is contained in:
parent
57a46ea7b3
commit
54e4a8c023
@ -1,9 +1,8 @@
|
|||||||
package org.dromara.workflow.domain.bo;
|
package org.dromara.common.core.domain.bo;
|
||||||
|
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import org.dromara.common.core.validate.AddGroup;
|
import org.dromara.common.core.validate.AddGroup;
|
||||||
import org.dromara.workflow.domain.vo.FlowCopy;
|
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
@ -1,4 +1,4 @@
|
|||||||
package org.dromara.workflow.domain.vo;
|
package org.dromara.common.core.domain.bo;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package org.dromara.workflow.domain.bo;
|
package org.dromara.common.core.domain.bo;
|
||||||
|
|
||||||
|
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
@ -1,5 +1,8 @@
|
|||||||
package org.dromara.common.core.service;
|
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.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@ -22,6 +25,7 @@ public interface WorkflowService {
|
|||||||
* 获取当前流程状态
|
* 获取当前流程状态
|
||||||
*
|
*
|
||||||
* @param taskId 任务id
|
* @param taskId 任务id
|
||||||
|
* @return 状态
|
||||||
*/
|
*/
|
||||||
String getBusinessStatusByTaskId(Long taskId);
|
String getBusinessStatusByTaskId(Long taskId);
|
||||||
|
|
||||||
@ -29,6 +33,7 @@ public interface WorkflowService {
|
|||||||
* 获取当前流程状态
|
* 获取当前流程状态
|
||||||
*
|
*
|
||||||
* @param businessId 业务id
|
* @param businessId 业务id
|
||||||
|
* @return 状态
|
||||||
*/
|
*/
|
||||||
String getBusinessStatus(String businessId);
|
String getBusinessStatus(String businessId);
|
||||||
|
|
||||||
@ -54,4 +59,20 @@ public interface WorkflowService {
|
|||||||
* @param tenantId 租户id
|
* @param tenantId 租户id
|
||||||
*/
|
*/
|
||||||
void syncDef(String tenantId);
|
void syncDef(String tenantId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 启动流程
|
||||||
|
*
|
||||||
|
* @param startProcessBo 参数
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
Map<String, Object> startWorkFlow(StartProcessBo startProcessBo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 办理任务
|
||||||
|
*
|
||||||
|
* @param completeTaskBo 参数
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
boolean completeTask(CompleteTaskBo completeTaskBo);
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,8 @@ package org.dromara.workflow.controller;
|
|||||||
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.dromara.common.core.domain.R;
|
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.domain.dto.UserDTO;
|
||||||
import org.dromara.common.core.validate.AddGroup;
|
import org.dromara.common.core.validate.AddGroup;
|
||||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
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.mybatis.core.page.TableDataInfo;
|
||||||
import org.dromara.common.web.core.BaseController;
|
import org.dromara.common.web.core.BaseController;
|
||||||
import org.dromara.warm.flow.core.entity.Node;
|
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.bo.*;
|
||||||
import org.dromara.workflow.domain.vo.FlowHisTaskVo;
|
import org.dromara.workflow.domain.vo.FlowHisTaskVo;
|
||||||
import org.dromara.workflow.domain.vo.FlowTaskVo;
|
import org.dromara.workflow.domain.vo.FlowTaskVo;
|
||||||
|
@ -11,7 +11,7 @@ import java.io.Serializable;
|
|||||||
* @author may
|
* @author may
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class VariableVo implements Serializable {
|
public class FlowVariableVo implements Serializable {
|
||||||
|
|
||||||
@Serial
|
@Serial
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
@ -1,5 +1,7 @@
|
|||||||
package org.dromara.workflow.service;
|
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.core.domain.dto.UserDTO;
|
||||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
|
@ -40,7 +40,7 @@ import org.dromara.workflow.domain.bo.FlowInstanceBo;
|
|||||||
import org.dromara.workflow.domain.bo.FlowInvalidBo;
|
import org.dromara.workflow.domain.bo.FlowInvalidBo;
|
||||||
import org.dromara.workflow.domain.vo.FlowHisTaskVo;
|
import org.dromara.workflow.domain.vo.FlowHisTaskVo;
|
||||||
import org.dromara.workflow.domain.vo.FlowInstanceVo;
|
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.handler.FlowProcessEventHandler;
|
||||||
import org.dromara.workflow.mapper.FlwCategoryMapper;
|
import org.dromara.workflow.mapper.FlwCategoryMapper;
|
||||||
import org.dromara.workflow.mapper.FlwInstanceMapper;
|
import org.dromara.workflow.mapper.FlwInstanceMapper;
|
||||||
@ -352,13 +352,13 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
|
|||||||
Map<String, Object> map = new HashMap<>();
|
Map<String, Object> map = new HashMap<>();
|
||||||
FlowInstance flowInstance = flowInstanceMapper.selectById(instanceId);
|
FlowInstance flowInstance = flowInstanceMapper.selectById(instanceId);
|
||||||
Map<String, Object> variableMap = flowInstance.getVariableMap();
|
Map<String, Object> variableMap = flowInstance.getVariableMap();
|
||||||
List<VariableVo> list = new ArrayList<>();
|
List<FlowVariableVo> list = new ArrayList<>();
|
||||||
if (CollUtil.isNotEmpty(variableMap)) {
|
if (CollUtil.isNotEmpty(variableMap)) {
|
||||||
for (Map.Entry<String, Object> entry : variableMap.entrySet()) {
|
for (Map.Entry<String, Object> entry : variableMap.entrySet()) {
|
||||||
VariableVo variableVo = new VariableVo();
|
FlowVariableVo flowVariableVo = new FlowVariableVo();
|
||||||
variableVo.setKey(entry.getKey());
|
flowVariableVo.setKey(entry.getKey());
|
||||||
variableVo.setValue(entry.getValue().toString());
|
flowVariableVo.setValue(entry.getValue().toString());
|
||||||
list.add(variableVo);
|
list.add(flowVariableVo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
map.put("variableList", list);
|
map.put("variableList", list);
|
||||||
|
@ -11,6 +11,8 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
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.domain.dto.UserDTO;
|
||||||
import org.dromara.common.core.enums.BusinessStatusEnum;
|
import org.dromara.common.core.enums.BusinessStatusEnum;
|
||||||
import org.dromara.common.core.exception.ServiceException;
|
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.TaskAssigneeType;
|
||||||
import org.dromara.workflow.common.enums.TaskStatusEnum;
|
import org.dromara.workflow.common.enums.TaskStatusEnum;
|
||||||
import org.dromara.workflow.domain.bo.*;
|
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.FlowHisTaskVo;
|
||||||
import org.dromara.workflow.domain.vo.FlowTaskVo;
|
import org.dromara.workflow.domain.vo.FlowTaskVo;
|
||||||
import org.dromara.workflow.handler.FlowProcessEventHandler;
|
import org.dromara.workflow.handler.FlowProcessEventHandler;
|
||||||
|
@ -2,11 +2,14 @@ package org.dromara.workflow.service.impl;
|
|||||||
|
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import lombok.RequiredArgsConstructor;
|
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.service.WorkflowService;
|
||||||
import org.dromara.common.core.utils.StringUtils;
|
import org.dromara.common.core.utils.StringUtils;
|
||||||
import org.dromara.warm.flow.orm.entity.FlowInstance;
|
import org.dromara.warm.flow.orm.entity.FlowInstance;
|
||||||
import org.dromara.workflow.service.IFlwDefinitionService;
|
import org.dromara.workflow.service.IFlwDefinitionService;
|
||||||
import org.dromara.workflow.service.IFlwInstanceService;
|
import org.dromara.workflow.service.IFlwInstanceService;
|
||||||
|
import org.dromara.workflow.service.IFlwTaskService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -23,6 +26,7 @@ public class WorkflowServiceImpl implements WorkflowService {
|
|||||||
|
|
||||||
private final IFlwInstanceService flwInstanceService;
|
private final IFlwInstanceService flwInstanceService;
|
||||||
private final IFlwDefinitionService flwDefinitionService;
|
private final IFlwDefinitionService flwDefinitionService;
|
||||||
|
private final IFlwTaskService iFlwTaskService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除流程实例
|
* 删除流程实例
|
||||||
@ -89,4 +93,24 @@ public class WorkflowServiceImpl implements WorkflowService {
|
|||||||
public void syncDef(String tenantId) {
|
public void syncDef(String tenantId) {
|
||||||
flwDefinitionService.syncDef(tenantId);
|
flwDefinitionService.syncDef(tenantId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 启动流程
|
||||||
|
*
|
||||||
|
* @param startProcessBo 参数
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Map<String, Object> startWorkFlow(StartProcessBo startProcessBo) {
|
||||||
|
return iFlwTaskService.startWorkFlow(startProcessBo);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 办理任务
|
||||||
|
*
|
||||||
|
* @param completeTaskBo 参数
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean completeTask(CompleteTaskBo completeTaskBo) {
|
||||||
|
return iFlwTaskService.completeTask(completeTaskBo);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user