add 增加流程启动,办理接口

This commit is contained in:
gssong 2025-01-11 14:39:04 +08:00
parent 57a46ea7b3
commit 54e4a8c023
10 changed files with 62 additions and 13 deletions

View File

@ -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;

View File

@ -1,4 +1,4 @@
package org.dromara.workflow.domain.vo;
package org.dromara.common.core.domain.bo;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package org.dromara.workflow.domain.bo;
package org.dromara.common.core.domain.bo;
import jakarta.validation.constraints.NotBlank;

View File

@ -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<String, Object> startWorkFlow(StartProcessBo startProcessBo);
/**
* 办理任务
*
* @param completeTaskBo 参数
* @return 结果
*/
boolean completeTask(CompleteTaskBo completeTaskBo);
}

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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<String, Object> map = new HashMap<>();
FlowInstance flowInstance = flowInstanceMapper.selectById(instanceId);
Map<String, Object> variableMap = flowInstance.getVariableMap();
List<VariableVo> list = new ArrayList<>();
List<FlowVariableVo> list = new ArrayList<>();
if (CollUtil.isNotEmpty(variableMap)) {
for (Map.Entry<String, Object> 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);

View File

@ -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;

View File

@ -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<String, Object> startWorkFlow(StartProcessBo startProcessBo) {
return iFlwTaskService.startWorkFlow(startProcessBo);
}
/**
* 办理任务
*
* @param completeTaskBo 参数
*/
@Override
public boolean completeTask(CompleteTaskBo completeTaskBo) {
return iFlwTaskService.completeTask(completeTaskBo);
}
}