fix -- 重命名工作流相关的类,删除为使用的代码。

This commit is contained in:
konbai
2022-03-10 01:38:44 +08:00
parent f5946970ef
commit b20ec635d6
29 changed files with 349 additions and 363 deletions

View File

@@ -12,9 +12,9 @@ import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.core.validate.QueryGroup;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.workflow.domain.bo.FlowCategoryBo;
import com.ruoyi.workflow.domain.vo.FlowCategoryVo;
import com.ruoyi.workflow.service.IFlowCategoryService;
import com.ruoyi.workflow.domain.bo.WfCategoryBo;
import com.ruoyi.workflow.domain.vo.WfCategoryVo;
import com.ruoyi.workflow.service.IWfCategoryService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@@ -31,17 +31,17 @@ import java.util.List;
/**
* 流程分类Controller
*
* @author ruoyi
* @date 2022-01-15
* @author KonBAI
* @createTime 2022/3/10 00:12
*/
@Validated
@Api(value = "流程分类控制器", tags = {"流程分类管理"})
@RequiredArgsConstructor
@RestController
@RequestMapping("/workflow/category")
public class FlowCategoryController extends BaseController {
public class WfCategoryController extends BaseController {
private final IFlowCategoryService flowCategoryService;
private final IWfCategoryService flowCategoryService;
/**
* 查询流程分类列表
@@ -49,7 +49,7 @@ public class FlowCategoryController extends BaseController {
@ApiOperation("查询流程分类列表")
@SaCheckPermission("workflow:category:list")
@GetMapping("/list")
public TableDataInfo<FlowCategoryVo> list(@Validated(QueryGroup.class) FlowCategoryBo bo, PageQuery pageQuery) {
public TableDataInfo<WfCategoryVo> list(@Validated(QueryGroup.class) WfCategoryBo bo, PageQuery pageQuery) {
return flowCategoryService.queryPageList(bo, pageQuery);
}
@@ -60,9 +60,9 @@ public class FlowCategoryController extends BaseController {
@SaCheckPermission("workflow:category:export")
@Log(title = "流程分类", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(@Validated FlowCategoryBo bo, HttpServletResponse response) {
List<FlowCategoryVo> list = flowCategoryService.queryList(bo);
ExcelUtil.exportExcel(list, "流程分类", FlowCategoryVo.class, response);
public void export(@Validated WfCategoryBo bo, HttpServletResponse response) {
List<WfCategoryVo> list = flowCategoryService.queryList(bo);
ExcelUtil.exportExcel(list, "流程分类", WfCategoryVo.class, response);
}
/**
@@ -71,7 +71,7 @@ public class FlowCategoryController extends BaseController {
@ApiOperation("获取流程分类详细信息")
@SaCheckPermission("workflow:category:query")
@GetMapping("/{categoryId}")
public R<FlowCategoryVo> getInfo(@ApiParam("主键")
public R<WfCategoryVo> getInfo(@ApiParam("主键")
@NotNull(message = "主键不能为空")
@PathVariable("categoryId") Long categoryId) {
return R.ok(flowCategoryService.queryById(categoryId));
@@ -85,7 +85,7 @@ public class FlowCategoryController extends BaseController {
@Log(title = "流程分类", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody FlowCategoryBo bo) {
public R<Void> add(@Validated(AddGroup.class) @RequestBody WfCategoryBo bo) {
return toAjax(flowCategoryService.insertByBo(bo) ? 1 : 0);
}
@@ -97,7 +97,7 @@ public class FlowCategoryController extends BaseController {
@Log(title = "流程分类", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody FlowCategoryBo bo) {
public R<Void> edit(@Validated(EditGroup.class) @RequestBody WfCategoryBo bo) {
return toAjax(flowCategoryService.updateByBo(bo) ? 1 : 0);
}

View File

@@ -7,9 +7,9 @@ import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.system.service.ISysRoleService;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.workflow.domain.dto.FlowSaveXmlVo;
import com.ruoyi.workflow.domain.vo.FlowDefinitionVo;
import com.ruoyi.workflow.service.IFlowDefinitionService;
import com.ruoyi.workflow.domain.bo.WfDesignerBo;
import com.ruoyi.workflow.domain.vo.WfDefinitionVo;
import com.ruoyi.workflow.service.IWfDefinitionService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@@ -28,9 +28,7 @@ import java.nio.charset.StandardCharsets;
import java.util.Map;
/**
* <p>
* 工作流程定义
* </p>
*
* @author KonBAI
* @date 2022-01-17
@@ -40,9 +38,9 @@ import java.util.Map;
@RequiredArgsConstructor
@RestController
@RequestMapping("/workflow/definition")
public class FlowDefinitionController extends BaseController {
public class WfDefinitionController extends BaseController {
private final IFlowDefinitionService flowDefinitionService;
private final IWfDefinitionService flowDefinitionService;
private final ISysUserService userService;
@@ -50,8 +48,8 @@ public class FlowDefinitionController extends BaseController {
@GetMapping(value = "/list")
@SaCheckPermission("workflow:definition:list")
@ApiOperation(value = "流程定义列表", response = FlowDefinitionVo.class)
public TableDataInfo<FlowDefinitionVo> list(PageQuery pageQuery) {
@ApiOperation(value = "流程定义列表", response = WfDefinitionVo.class)
public TableDataInfo<WfDefinitionVo> list(PageQuery pageQuery) {
return flowDefinitionService.list(pageQuery);
}
@@ -63,9 +61,9 @@ public class FlowDefinitionController extends BaseController {
*/
@GetMapping(value = "/publishList")
@SaCheckPermission("workflow:definition:list")
@ApiOperation(value = "指定流程的发布版本列表", response = FlowDefinitionVo.class)
public TableDataInfo<FlowDefinitionVo> publishList(@ApiParam(value = "流程定义Key", required = true) @RequestParam String processKey,
PageQuery pageQuery) {
@ApiOperation(value = "指定流程的发布版本列表", response = WfDefinitionVo.class)
public TableDataInfo<WfDefinitionVo> publishList(@ApiParam(value = "流程定义Key", required = true) @RequestParam String processKey,
PageQuery pageQuery) {
return flowDefinitionService.publishList(processKey, pageQuery);
}
@@ -119,9 +117,9 @@ public class FlowDefinitionController extends BaseController {
@ApiOperation(value = "保存流程设计器内的xml文件")
@SaCheckPermission("workflow:definition:designer")
@PostMapping("/save")
public R<Void> save(@RequestBody FlowSaveXmlVo vo) {
try (InputStream in = new ByteArrayInputStream(vo.getXml().getBytes(StandardCharsets.UTF_8))) {
flowDefinitionService.importFile(vo.getName(), vo.getCategory(), in);
public R<Void> save(@RequestBody WfDesignerBo bo) {
try (InputStream in = new ByteArrayInputStream(bo.getXml().getBytes(StandardCharsets.UTF_8))) {
flowDefinitionService.importFile(bo.getName(), bo.getCategory(), in);
} catch (Exception e) {
log.error("导入失败:", e);
return R.ok(e.getMessage());

View File

@@ -2,8 +2,8 @@ package com.ruoyi.web.controller.workflow;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.workflow.domain.vo.FlowTaskVo;
import com.ruoyi.workflow.service.IFlowInstanceService;
import com.ruoyi.workflow.domain.bo.WfTaskBo;
import com.ruoyi.workflow.service.IWfInstanceService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@@ -14,19 +14,19 @@ import org.springframework.web.bind.annotation.*;
import java.util.Map;
/**
* <p>工作流流程实例管理<p>
* 工作流流程实例管理
*
* @author XuanXuan
* @date 2021-04-03
* @author KonBAI
* @createTime 2022/3/10 00:12
*/
@Slf4j
@Api(tags = "工作流流程实例管理")
@RequiredArgsConstructor
@RestController
@RequestMapping("/workflow/instance")
public class FlowInstanceController {
public class WfInstanceController {
private final IFlowInstanceService flowInstanceService;
private final IWfInstanceService flowInstanceService;
@ApiOperation(value = "根据流程定义id启动流程实例")
@PostMapping("/startBy/{procDefId}")
@@ -47,8 +47,8 @@ public class FlowInstanceController {
@ApiOperation("结束流程实例")
@PostMapping(value = "/stopProcessInstance")
public R stopProcessInstance(@RequestBody FlowTaskVo flowTaskVo) {
flowInstanceService.stopProcessInstance(flowTaskVo);
public R stopProcessInstance(@RequestBody WfTaskBo bo) {
flowInstanceService.stopProcessInstance(bo);
return R.ok();
}

View File

@@ -3,9 +3,9 @@ package com.ruoyi.web.controller.workflow;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.workflow.domain.dto.FlowTaskDto;
import com.ruoyi.workflow.domain.vo.FlowTaskVo;
import com.ruoyi.workflow.service.IFlowTaskService;
import com.ruoyi.workflow.domain.vo.WfTaskVo;
import com.ruoyi.workflow.domain.bo.WfTaskBo;
import com.ruoyi.workflow.service.IWfTaskService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@@ -21,60 +21,60 @@ import java.io.InputStream;
import java.io.OutputStream;
/**
* <p>工作流任务管理<p>
* 工作流任务管理
*
* @author XuanXuan
* @date 2021-04-03
* @author KonBAI
* @createTime 2022/3/10 00:12
*/
@Slf4j
@Api(tags = "工作流流程任务管理")
@RequiredArgsConstructor
@RestController
@RequestMapping("/workflow/task")
public class FlowTaskController {
public class WfTaskController {
private final IFlowTaskService flowTaskService;
private final IWfTaskService flowTaskService;
@ApiOperation(value = "我发起的流程", response = FlowTaskDto.class)
@ApiOperation(value = "我发起的流程", response = WfTaskVo.class)
@GetMapping(value = "/myProcess")
public TableDataInfo<FlowTaskDto> myProcess(PageQuery pageQuery) {
public TableDataInfo<WfTaskVo> myProcess(PageQuery pageQuery) {
return flowTaskService.myProcess(pageQuery);
}
@ApiOperation(value = "取消申请", response = FlowTaskDto.class)
@ApiOperation(value = "取消申请", response = WfTaskVo.class)
@PostMapping(value = "/stopProcess")
public R stopProcess(@RequestBody FlowTaskVo flowTaskVo) {
flowTaskService.stopProcess(flowTaskVo);
public R stopProcess(@RequestBody WfTaskBo bo) {
flowTaskService.stopProcess(bo);
return R.ok();
}
@ApiOperation(value = "撤回流程", response = FlowTaskDto.class)
@ApiOperation(value = "撤回流程", response = WfTaskVo.class)
@PostMapping(value = "/revokeProcess")
public R revokeProcess(@RequestBody FlowTaskVo flowTaskVo) {
flowTaskService.revokeProcess(flowTaskVo);
public R revokeProcess(@RequestBody WfTaskBo bo) {
flowTaskService.revokeProcess(bo);
return R.ok();
}
@ApiOperation(value = "获取待办列表", response = FlowTaskDto.class)
@ApiOperation(value = "获取待办列表", response = WfTaskVo.class)
@GetMapping(value = "/todoList")
public TableDataInfo<FlowTaskDto> todoList(PageQuery pageQuery) {
public TableDataInfo<WfTaskVo> todoList(PageQuery pageQuery) {
return flowTaskService.todoList(pageQuery);
}
@ApiOperation(value = "获取已办任务", response = FlowTaskDto.class)
@ApiOperation(value = "获取已办任务", response = WfTaskVo.class)
@GetMapping(value = "/finishedList")
public TableDataInfo<FlowTaskDto> finishedList(PageQuery pageQuery) {
public TableDataInfo<WfTaskVo> finishedList(PageQuery pageQuery) {
return flowTaskService.finishedList(pageQuery);
}
@ApiOperation(value = "流程历史流转记录", response = FlowTaskDto.class)
@ApiOperation(value = "流程历史流转记录", response = WfTaskVo.class)
@GetMapping(value = "/flowRecord")
public R flowRecord(String procInsId, String deployId) {
return R.ok(flowTaskService.flowRecord(procInsId, deployId));
}
@ApiOperation(value = "获取流程变量", response = FlowTaskDto.class)
@ApiOperation(value = "获取流程变量", response = WfTaskVo.class)
@GetMapping(value = "/processVariables/{taskId}")
public R processVariables(@ApiParam(value = "流程任务Id") @PathVariable(value = "taskId") String taskId) {
return flowTaskService.processVariables(taskId);
@@ -82,71 +82,71 @@ public class FlowTaskController {
@ApiOperation(value = "审批任务")
@PostMapping(value = "/complete")
public R complete(@RequestBody FlowTaskVo flowTaskVo) {
flowTaskService.complete(flowTaskVo);
public R complete(@RequestBody WfTaskBo bo) {
flowTaskService.complete(bo);
return R.ok();
}
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject")
public R taskReject(@RequestBody FlowTaskVo flowTaskVo) {
flowTaskService.taskReject(flowTaskVo);
public R taskReject(@RequestBody WfTaskBo bo) {
flowTaskService.taskReject(bo);
return R.ok();
}
@ApiOperation(value = "退回任务")
@PostMapping(value = "/return")
public R taskReturn(@RequestBody FlowTaskVo flowTaskVo) {
flowTaskService.taskReturn(flowTaskVo);
public R taskReturn(@RequestBody WfTaskBo bo) {
flowTaskService.taskReturn(bo);
return R.ok();
}
@ApiOperation(value = "获取所有可回退的节点")
@PostMapping(value = "/returnList")
public R findReturnTaskList(@RequestBody FlowTaskVo flowTaskVo) {
return R.ok(flowTaskService.findReturnTaskList(flowTaskVo));
public R findReturnTaskList(@RequestBody WfTaskBo bo) {
return R.ok(flowTaskService.findReturnTaskList(bo));
}
@ApiOperation(value = "删除任务")
@DeleteMapping(value = "/delete")
public R delete(@RequestBody FlowTaskVo flowTaskVo) {
flowTaskService.deleteTask(flowTaskVo);
public R delete(@RequestBody WfTaskBo bo) {
flowTaskService.deleteTask(bo);
return R.ok();
}
@ApiOperation(value = "认领/签收任务")
@PostMapping(value = "/claim")
public R claim(@RequestBody FlowTaskVo flowTaskVo) {
flowTaskService.claim(flowTaskVo);
public R claim(@RequestBody WfTaskBo bo) {
flowTaskService.claim(bo);
return R.ok();
}
@ApiOperation(value = "取消认领/签收任务")
@PostMapping(value = "/unClaim")
public R unClaim(@RequestBody FlowTaskVo flowTaskVo) {
flowTaskService.unClaim(flowTaskVo);
public R unClaim(@RequestBody WfTaskBo bo) {
flowTaskService.unClaim(bo);
return R.ok();
}
@ApiOperation(value = "委派任务")
@PostMapping(value = "/delegate")
public R delegate(@RequestBody FlowTaskVo flowTaskVo) {
flowTaskService.delegateTask(flowTaskVo);
public R delegate(@RequestBody WfTaskBo bo) {
flowTaskService.delegateTask(bo);
return R.ok();
}
@ApiOperation(value = "转办任务")
@PostMapping(value = "/assign")
public R assign(@RequestBody FlowTaskVo flowTaskVo) {
flowTaskService.assignTask(flowTaskVo);
public R assign(@RequestBody WfTaskBo bo) {
flowTaskService.assignTask(bo);
return R.ok();
}
@ApiOperation(value = "获取下一节点")
@PostMapping(value = "/nextFlowNode")
public R getNextFlowNode(@RequestBody FlowTaskVo flowTaskVo) {
return flowTaskService.getNextFlowNode(flowTaskVo);
public R getNextFlowNode(@RequestBody WfTaskBo bo) {
return flowTaskService.getNextFlowNode(bo);
}
/**

View File

@@ -16,7 +16,7 @@ import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("wf_category")
public class FlowCategory extends BaseEntity {
public class WfCategory extends BaseEntity {
private static final long serialVersionUID=1L;

View File

@@ -12,7 +12,7 @@ import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* 流程分类业务对象 flow_category
* 流程分类业务对象
*
* @author KonBAI
* @date 2022-01-15
@@ -21,7 +21,7 @@ import javax.validation.constraints.NotNull;
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("流程分类业务对象")
public class FlowCategoryBo extends BaseEntity {
public class WfCategoryBo extends BaseEntity {
/**
* 分类ID

View File

@@ -0,0 +1,42 @@
package com.ruoyi.workflow.domain.bo;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* 流程设计业务对象
*
* @author KonBAI
* @createTime 2022/3/10 00:12
*/
@Data
@ApiModel("流程设计业务对象")
public class WfDesignerBo {
/**
* 流程名称
*/
@ApiModelProperty(value = "流程名称", required = true)
@NotNull(message = "流程名称", groups = { AddGroup.class, EditGroup.class })
private String name;
/**
* 流程分类
*/
@ApiModelProperty(value = "流程分类", required = true)
@NotBlank(message = "流程分类", groups = { AddGroup.class, EditGroup.class })
private String category;
/**
* XML字符串
*/
@NotBlank(message = "XML字符串", groups = { AddGroup.class, EditGroup.class })
@ApiModelProperty(value = "XML字符串", required = true)
private String xml;
}

View File

@@ -12,7 +12,7 @@ import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* 流程表单对象 wf_form
* 流程表单业务对象
*
* @author KonBAI
* @createTime 2022/3/7 22:07

View File

@@ -1,4 +1,4 @@
package com.ruoyi.workflow.domain.vo;
package com.ruoyi.workflow.domain.bo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -8,14 +8,14 @@ import java.util.List;
import java.util.Map;
/**
* <p>流程任务<p>
* 流程任务业务对象
*
* @author XuanXuan
* @date 2021-04-03
* @author KonBAI
* @createTime 2022/3/10 00:12
*/
@Data
@ApiModel("工作流任务相关--请求参数")
public class FlowTaskVo {
@ApiModel("流程任务业务对象")
public class WfTaskBo {
@ApiModelProperty("任务Id")
private String taskId;

View File

@@ -1,15 +0,0 @@
package com.ruoyi.workflow.domain.dto;
import lombok.Data;
import java.io.Serializable;
/**
* @author XuanXuan
* @date 2021/3/31 23:20
*/
@Data
public class FlowFromFieldDTO implements Serializable {
private Object fields;
}

View File

@@ -1,28 +0,0 @@
package com.ruoyi.workflow.domain.dto;
import lombok.Data;
import java.io.Serializable;
/**
* @author XuanXuan
* @date 2021/3/28 19:48
*/
@Data
public class FlowSaveXmlVo implements Serializable {
/**
* 流程名称
*/
private String name;
/**
* 流程分类
*/
private String category;
/**
* xml 文件
*/
private String xml;
}

View File

@@ -1,16 +0,0 @@
package com.ruoyi.workflow.domain.dto;
import lombok.Data;
import java.io.Serializable;
/**
* @author Xuan xuan
* @date 2021/4/21 20:55
*/
@Data
public class FlowViewerDto implements Serializable {
private String key;
private boolean completed;
}

View File

@@ -6,12 +6,12 @@ import lombok.Data;
import java.io.Serializable;
/**
* @author XuanXuan
* @date 2021/3/28 15:50
* @author KonBAI
* @createTime 2022/3/10 00:12
*/
@Data
@Builder
public class FlowCommentDto implements Serializable {
public class WfCommentDto implements Serializable {
/**
* 意见类别 0 正常意见 1 退回意见 2 驳回意见

View File

@@ -9,11 +9,11 @@ import java.util.List;
/**
* 动态人员
* @author Xuan xuan
* @date 2021/4/17 22:59
* @author KonBAI
* @createTime 2022/3/10 00:12
*/
@Data
public class FlowNextDto implements Serializable {
public class WfNextDto implements Serializable {
private String type;

View File

@@ -17,7 +17,7 @@ import lombok.Data;
@Data
@ApiModel("流程分类视图对象")
@ExcelIgnoreUnannotated
public class FlowCategoryVo {
public class WfCategoryVo {
private static final long serialVersionUID = 1L;

View File

@@ -19,7 +19,7 @@ import java.util.Date;
@Data
@ApiModel("流程定义视图对象")
@ExcelIgnoreUnannotated
public class FlowDefinitionVo {
public class WfDefinitionVo {
private static final long serialVersionUID = 1L;

View File

@@ -1,24 +1,25 @@
package com.ruoyi.workflow.domain.dto;
package com.ruoyi.workflow.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.workflow.domain.dto.WfCommentDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* <p>工作流任务<p>
* 工作流任务视图对象
*
* @author XuanXuan
* @date 2021-04-03
* @author KonBAI
* @createTime 2022/3/10 00:12
*/
@Getter
@Setter
@ApiModel("工作流任务相关-返回参数")
public class FlowTaskDto implements Serializable {
@Data
@ApiModel("工作流任务视图对象")
@ExcelIgnoreUnannotated
public class WfTaskVo implements Serializable {
@ApiModelProperty("任务编号")
private String taskId;
@@ -81,7 +82,7 @@ public class FlowTaskDto implements Serializable {
private String duration;
@ApiModelProperty("任务意见")
private FlowCommentDto comment;
private WfCommentDto comment;
@ApiModelProperty("候选执行人")
private String candidate;

View File

@@ -1,5 +1,7 @@
package com.ruoyi.workflow.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@@ -7,7 +9,7 @@ import lombok.NoArgsConstructor;
import java.util.List;
/**
* 任务追踪视图
* 任务追踪视图对象
*
* @author KonBAI
* @createTime 2022/1/8 19:42
@@ -15,7 +17,9 @@ import java.util.List;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class FlowViewerVo {
@ApiModel("任务追踪视图对象")
@ExcelIgnoreUnannotated
public class WfViewerVo {
/**
* 获取流程实例的历史节点去重

View File

@@ -1,15 +0,0 @@
package com.ruoyi.workflow.mapper;
import com.ruoyi.common.core.mapper.BaseMapperPlus;
import com.ruoyi.workflow.domain.FlowCategory;
import com.ruoyi.workflow.domain.vo.FlowCategoryVo;
/**
* 流程分类Mapper接口
*
* @author KonBAI
* @date 2022-01-15
*/
public interface FlowCategoryMapper extends BaseMapperPlus<FlowCategoryMapper, FlowCategory, FlowCategoryVo> {
}

View File

@@ -0,0 +1,15 @@
package com.ruoyi.workflow.mapper;
import com.ruoyi.common.core.mapper.BaseMapperPlus;
import com.ruoyi.workflow.domain.WfCategory;
import com.ruoyi.workflow.domain.vo.WfCategoryVo;
/**
* 流程分类Mapper接口
*
* @author KonBAI
* @date 2022-01-15
*/
public interface WfCategoryMapper extends BaseMapperPlus<WfCategoryMapper, WfCategory, WfCategoryVo> {
}

View File

@@ -2,8 +2,8 @@ package com.ruoyi.workflow.service;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.workflow.domain.bo.FlowCategoryBo;
import com.ruoyi.workflow.domain.vo.FlowCategoryVo;
import com.ruoyi.workflow.domain.bo.WfCategoryBo;
import com.ruoyi.workflow.domain.vo.WfCategoryVo;
import java.util.Collection;
import java.util.List;
@@ -14,36 +14,36 @@ import java.util.List;
* @author KonBAI
* @date 2022-01-15
*/
public interface IFlowCategoryService {
public interface IWfCategoryService {
/**
* 查询单个
* @return
*/
FlowCategoryVo queryById(Long categoryId);
WfCategoryVo queryById(Long categoryId);
/**
* 查询列表
*/
TableDataInfo<FlowCategoryVo> queryPageList(FlowCategoryBo bo, PageQuery pageQuery);
TableDataInfo<WfCategoryVo> queryPageList(WfCategoryBo bo, PageQuery pageQuery);
/**
* 查询列表
*/
List<FlowCategoryVo> queryList(FlowCategoryBo bo);
List<WfCategoryVo> queryList(WfCategoryBo bo);
/**
* 根据新增业务对象插入请填写功能名称
* @param bo 请填写功能名称新增业务对象
* @return
*/
Boolean insertByBo(FlowCategoryBo bo);
Boolean insertByBo(WfCategoryBo bo);
/**
* 根据编辑业务对象修改请填写功能名称
* @param bo 请填写功能名称编辑业务对象
* @return
*/
Boolean updateByBo(FlowCategoryBo bo);
Boolean updateByBo(WfCategoryBo bo);
/**
* 校验并删除数据

View File

@@ -2,17 +2,17 @@ package com.ruoyi.workflow.service;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.workflow.domain.vo.FlowDefinitionVo;
import com.ruoyi.workflow.domain.vo.WfDefinitionVo;
import java.io.IOException;
import java.io.InputStream;
import java.util.Map;
/**
* @author XuanXuan
* @date 2021-04-03 14:41
* @author KonBAI
* @createTime 2022/3/10 00:12
*/
public interface IFlowDefinitionService {
public interface IWfDefinitionService {
boolean exist(String processDefinitionKey);
@@ -23,14 +23,14 @@ public interface IFlowDefinitionService {
* @param pageQuery 分页参数
* @return 流程定义分页列表数据
*/
TableDataInfo<FlowDefinitionVo> list(PageQuery pageQuery);
TableDataInfo<WfDefinitionVo> list(PageQuery pageQuery);
/**
*
* @param processKey
* @return
*/
TableDataInfo<FlowDefinitionVo> publishList(String processKey, PageQuery pageQuery);
TableDataInfo<WfDefinitionVo> publishList(String processKey, PageQuery pageQuery);
/**
* 导入流程文件

View File

@@ -1,6 +1,6 @@
package com.ruoyi.workflow.service;
import com.ruoyi.workflow.domain.vo.FlowTaskVo;
import com.ruoyi.workflow.domain.bo.WfTaskBo;
import org.flowable.engine.history.HistoricProcessInstance;
import org.flowable.task.api.Task;
@@ -8,10 +8,10 @@ import java.util.List;
import java.util.Map;
/**
* @author XuanXuan
* @date 2021-04-03 14:40
* @author KonBAI
* @createTime 2022/3/10 00:12
*/
public interface IFlowInstanceService {
public interface IWfInstanceService {
List<Task> queryListByInstanceId(String instanceId);
@@ -20,7 +20,7 @@ public interface IFlowInstanceService {
*
* @param vo
*/
void stopProcessInstance(FlowTaskVo vo);
void stopProcessInstance(WfTaskBo vo);
/**
* 激活或挂起流程实例

View File

@@ -3,9 +3,9 @@ package com.ruoyi.workflow.service;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.workflow.domain.dto.FlowTaskDto;
import com.ruoyi.workflow.domain.vo.FlowTaskVo;
import com.ruoyi.workflow.domain.vo.FlowViewerVo;
import com.ruoyi.workflow.domain.vo.WfTaskVo;
import com.ruoyi.workflow.domain.bo.WfTaskBo;
import com.ruoyi.workflow.domain.vo.WfViewerVo;
import org.flowable.bpmn.model.UserTask;
import org.flowable.task.api.Task;
@@ -14,97 +14,97 @@ import java.util.List;
import java.util.Map;
/**
* @author XuanXuan
* @date 2021-04-03 14:42
* @author KonBAI
* @createTime 2022/3/10 00:12
*/
public interface IFlowTaskService {
public interface IWfTaskService {
/**
* 审批任务
*
* @param task 请求实体参数
*/
void complete(FlowTaskVo task);
void complete(WfTaskBo task);
/**
* 驳回任务
*
* @param flowTaskVo
* @param bo
*/
void taskReject(FlowTaskVo flowTaskVo);
void taskReject(WfTaskBo bo);
/**
* 退回任务
*
* @param flowTaskVo 请求实体参数
* @param bo 请求实体参数
*/
void taskReturn(FlowTaskVo flowTaskVo);
void taskReturn(WfTaskBo bo);
/**
* 获取所有可回退的节点
*
* @param flowTaskVo
* @param bo
* @return
*/
List<UserTask> findReturnTaskList(FlowTaskVo flowTaskVo);
List<UserTask> findReturnTaskList(WfTaskBo bo);
/**
* 删除任务
*
* @param flowTaskVo 请求实体参数
* @param bo 请求实体参数
*/
void deleteTask(FlowTaskVo flowTaskVo);
void deleteTask(WfTaskBo bo);
/**
* 认领/签收任务
*
* @param flowTaskVo 请求实体参数
* @param bo 请求实体参数
*/
void claim(FlowTaskVo flowTaskVo);
void claim(WfTaskBo bo);
/**
* 取消认领/签收任务
*
* @param flowTaskVo 请求实体参数
* @param bo 请求实体参数
*/
void unClaim(FlowTaskVo flowTaskVo);
void unClaim(WfTaskBo bo);
/**
* 委派任务
*
* @param flowTaskVo 请求实体参数
* @param bo 请求实体参数
*/
void delegateTask(FlowTaskVo flowTaskVo);
void delegateTask(WfTaskBo bo);
/**
* 转办任务
*
* @param flowTaskVo 请求实体参数
* @param bo 请求实体参数
*/
void assignTask(FlowTaskVo flowTaskVo);
void assignTask(WfTaskBo bo);
/**
* 我发起的流程
*
* @return
*/
TableDataInfo<FlowTaskDto> myProcess(PageQuery pageQuery);
TableDataInfo<WfTaskVo> myProcess(PageQuery pageQuery);
/**
* 取消申请
* @param flowTaskVo
* @param bo
* @return
*/
void stopProcess(FlowTaskVo flowTaskVo);
void stopProcess(WfTaskBo bo);
/**
* 撤回流程
* @param flowTaskVo
* @param bo
* @return
*/
void revokeProcess(FlowTaskVo flowTaskVo);
void revokeProcess(WfTaskBo bo);
/**
@@ -112,7 +112,7 @@ public interface IFlowTaskService {
*
* @return
*/
TableDataInfo<FlowTaskDto> todoList(PageQuery pageQuery);
TableDataInfo<WfTaskVo> todoList(PageQuery pageQuery);
/**
@@ -120,7 +120,7 @@ public interface IFlowTaskService {
*
* @return
*/
TableDataInfo<FlowTaskDto> finishedList(PageQuery pageQuery);
TableDataInfo<WfTaskVo> finishedList(PageQuery pageQuery);
/**
* 流程历史流转记录
@@ -150,7 +150,7 @@ public interface IFlowTaskService {
* @param procInsId
* @return
*/
FlowViewerVo getFlowViewer(String procInsId);
WfViewerVo getFlowViewer(String procInsId);
/**
* 获取流程变量
@@ -161,8 +161,8 @@ public interface IFlowTaskService {
/**
* 获取下一节点
* @param flowTaskVo 任务
* @param bo 任务
* @return
*/
R getNextFlowNode(FlowTaskVo flowTaskVo);
R getNextFlowNode(WfTaskBo bo);
}

View File

@@ -7,11 +7,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.workflow.domain.FlowCategory;
import com.ruoyi.workflow.domain.bo.FlowCategoryBo;
import com.ruoyi.workflow.domain.vo.FlowCategoryVo;
import com.ruoyi.workflow.mapper.FlowCategoryMapper;
import com.ruoyi.workflow.service.IFlowCategoryService;
import com.ruoyi.workflow.domain.WfCategory;
import com.ruoyi.workflow.domain.bo.WfCategoryBo;
import com.ruoyi.workflow.domain.vo.WfCategoryVo;
import com.ruoyi.workflow.mapper.WfCategoryMapper;
import com.ruoyi.workflow.service.IWfCategoryService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
@@ -27,39 +27,39 @@ import java.util.Map;
*/
@RequiredArgsConstructor
@Service
public class FlowCategoryServiceImpl implements IFlowCategoryService {
public class WfCategoryServiceImpl implements IWfCategoryService {
private final FlowCategoryMapper baseMapper;
private final WfCategoryMapper baseMapper;
@Override
public FlowCategoryVo queryById(Long categoryId){
public WfCategoryVo queryById(Long categoryId){
return baseMapper.selectVoById(categoryId);
}
@Override
public TableDataInfo<FlowCategoryVo> queryPageList(FlowCategoryBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<FlowCategory> lqw = buildQueryWrapper(bo);
Page<FlowCategoryVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
public TableDataInfo<WfCategoryVo> queryPageList(WfCategoryBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<WfCategory> lqw = buildQueryWrapper(bo);
Page<WfCategoryVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
@Override
public List<FlowCategoryVo> queryList(FlowCategoryBo bo) {
LambdaQueryWrapper<FlowCategory> lqw = buildQueryWrapper(bo);
public List<WfCategoryVo> queryList(WfCategoryBo bo) {
LambdaQueryWrapper<WfCategory> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<FlowCategory> buildQueryWrapper(FlowCategoryBo bo) {
private LambdaQueryWrapper<WfCategory> buildQueryWrapper(WfCategoryBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<FlowCategory> lqw = Wrappers.lambdaQuery();
lqw.like(StringUtils.isNotBlank(bo.getCategoryName()), FlowCategory::getCategoryName, bo.getCategoryName());
lqw.eq(StringUtils.isNotBlank(bo.getCode()), FlowCategory::getCode, bo.getCode());
LambdaQueryWrapper<WfCategory> lqw = Wrappers.lambdaQuery();
lqw.like(StringUtils.isNotBlank(bo.getCategoryName()), WfCategory::getCategoryName, bo.getCategoryName());
lqw.eq(StringUtils.isNotBlank(bo.getCode()), WfCategory::getCode, bo.getCode());
return lqw;
}
@Override
public Boolean insertByBo(FlowCategoryBo bo) {
FlowCategory add = BeanUtil.toBean(bo, FlowCategory.class);
public Boolean insertByBo(WfCategoryBo bo) {
WfCategory add = BeanUtil.toBean(bo, WfCategory.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
@@ -69,8 +69,8 @@ public class FlowCategoryServiceImpl implements IFlowCategoryService {
}
@Override
public Boolean updateByBo(FlowCategoryBo bo) {
FlowCategory update = BeanUtil.toBean(bo, FlowCategory.class);
public Boolean updateByBo(WfCategoryBo bo) {
WfCategory update = BeanUtil.toBean(bo, WfCategory.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
@@ -80,7 +80,7 @@ public class FlowCategoryServiceImpl implements IFlowCategoryService {
*
* @param entity 实体类数据
*/
private void validEntityBeforeSave(FlowCategory entity){
private void validEntityBeforeSave(WfCategory entity){
//TODO 做一些数据校验,如唯一约束
}

View File

@@ -9,10 +9,10 @@ import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.flowable.common.constant.ProcessConstants;
import com.ruoyi.flowable.common.enums.FlowComment;
import com.ruoyi.flowable.factory.FlowServiceFactory;
import com.ruoyi.workflow.domain.vo.FlowDefinitionVo;
import com.ruoyi.workflow.domain.vo.WfDefinitionVo;
import com.ruoyi.workflow.domain.vo.WfFormVo;
import com.ruoyi.workflow.mapper.WfFormMapper;
import com.ruoyi.workflow.service.IFlowDefinitionService;
import com.ruoyi.workflow.service.IWfDefinitionService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.IOUtils;
@@ -42,7 +42,7 @@ import java.util.stream.Collectors;
@RequiredArgsConstructor
@Service
@Slf4j
public class FlowDefinitionServiceImpl extends FlowServiceFactory implements IFlowDefinitionService {
public class WfDefinitionServiceImpl extends FlowServiceFactory implements IWfDefinitionService {
private final WfFormMapper formMapper;
@@ -64,8 +64,8 @@ public class FlowDefinitionServiceImpl extends FlowServiceFactory implements IFl
* @return 流程定义分页列表数据
*/
@Override
public TableDataInfo<FlowDefinitionVo> list(PageQuery pageQuery) {
Page<FlowDefinitionVo> page = new Page<>();
public TableDataInfo<WfDefinitionVo> list(PageQuery pageQuery) {
Page<WfDefinitionVo> page = new Page<>();
// 流程定义列表数据查询
ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery()
.latestVersion()
@@ -77,11 +77,11 @@ public class FlowDefinitionServiceImpl extends FlowServiceFactory implements IFl
int offset = pageQuery.getPageSize() * (pageQuery.getPageNum() - 1);
List<ProcessDefinition> definitionList = processDefinitionQuery.listPage(offset, pageQuery.getPageSize());
List<FlowDefinitionVo> definitionVoList = new ArrayList<>();
List<WfDefinitionVo> definitionVoList = new ArrayList<>();
for (ProcessDefinition processDefinition : definitionList) {
String deploymentId = processDefinition.getDeploymentId();
Deployment deployment = repositoryService.createDeploymentQuery().deploymentId(deploymentId).singleResult();
FlowDefinitionVo vo = new FlowDefinitionVo();
WfDefinitionVo vo = new WfDefinitionVo();
vo.setDefinitionId(processDefinition.getId());
vo.setProcessKey(processDefinition.getKey());
vo.setProcessName(processDefinition.getName());
@@ -105,8 +105,8 @@ public class FlowDefinitionServiceImpl extends FlowServiceFactory implements IFl
}
@Override
public TableDataInfo<FlowDefinitionVo> publishList(String processKey, PageQuery pageQuery) {
Page<FlowDefinitionVo> page = new Page<>();
public TableDataInfo<WfDefinitionVo> publishList(String processKey, PageQuery pageQuery) {
Page<WfDefinitionVo> page = new Page<>();
// 创建查询条件
ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery()
.processDefinitionKey(processKey)
@@ -119,8 +119,8 @@ public class FlowDefinitionServiceImpl extends FlowServiceFactory implements IFl
int offset = pageQuery.getPageSize() * (pageQuery.getPageNum() - 1);
List<ProcessDefinition> processDefinitionList = processDefinitionQuery
.listPage(offset, pageQuery.getPageSize());
List<FlowDefinitionVo> flowDefinitionVoList = processDefinitionList.stream().map(item -> {
FlowDefinitionVo vo = new FlowDefinitionVo();
List<WfDefinitionVo> definitionVoList = processDefinitionList.stream().map(item -> {
WfDefinitionVo vo = new WfDefinitionVo();
vo.setDefinitionId(item.getId());
vo.setProcessKey(item.getKey());
vo.setProcessName(item.getName());
@@ -131,7 +131,7 @@ public class FlowDefinitionServiceImpl extends FlowServiceFactory implements IFl
// BeanUtil.copyProperties(item, vo);
return vo;
}).collect(Collectors.toList());
page.setRecords(flowDefinitionVoList);
page.setRecords(definitionVoList);
page.setTotal(pageTotal);
return TableDataInfo.build(page);
}

View File

@@ -5,8 +5,8 @@ import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.flowable.common.constant.ProcessConstants;
import com.ruoyi.flowable.factory.FlowServiceFactory;
import com.ruoyi.workflow.domain.vo.FlowTaskVo;
import com.ruoyi.workflow.service.IFlowInstanceService;
import com.ruoyi.workflow.domain.bo.WfTaskBo;
import com.ruoyi.workflow.service.IWfInstanceService;
import lombok.extern.slf4j.Slf4j;
import org.flowable.common.engine.api.FlowableObjectNotFoundException;
import org.flowable.engine.history.HistoricProcessInstance;
@@ -19,14 +19,14 @@ import java.util.Map;
import java.util.Objects;
/**
* <p>工作流流程实例管理<p>
* 工作流流程实例管理
*
* @author XuanXuan
* @date 2021-04-03
* @author KonBAI
* @createTime 2022/3/10 00:12
*/
@Service
@Slf4j
public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlowInstanceService {
public class WfInstanceServiceImpl extends FlowServiceFactory implements IWfInstanceService {
@Override
@@ -40,7 +40,7 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow
* @param vo
*/
@Override
public void stopProcessInstance(FlowTaskVo vo) {
public void stopProcessInstance(WfTaskBo vo) {
String taskId = vo.getTaskId();
}

View File

@@ -20,13 +20,13 @@ import com.ruoyi.flowable.flow.FindNextNodeUtil;
import com.ruoyi.flowable.flow.FlowableUtils;
import com.ruoyi.system.service.ISysRoleService;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.workflow.domain.dto.FlowCommentDto;
import com.ruoyi.workflow.domain.dto.FlowNextDto;
import com.ruoyi.workflow.domain.dto.FlowTaskDto;
import com.ruoyi.workflow.domain.vo.FlowTaskVo;
import com.ruoyi.workflow.domain.vo.FlowViewerVo;
import com.ruoyi.workflow.domain.dto.WfCommentDto;
import com.ruoyi.workflow.domain.dto.WfNextDto;
import com.ruoyi.workflow.domain.vo.WfTaskVo;
import com.ruoyi.workflow.domain.bo.WfTaskBo;
import com.ruoyi.workflow.domain.vo.WfViewerVo;
import com.ruoyi.workflow.domain.vo.WfFormVo;
import com.ruoyi.workflow.service.IFlowTaskService;
import com.ruoyi.workflow.service.IWfTaskService;
import com.ruoyi.workflow.service.IWfDeployFormService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -65,13 +65,13 @@ import java.util.function.Predicate;
import java.util.stream.Collectors;
/**
* @author XuanXuan
* @date 2021-04-03
**/
* @author KonBAI
* @createTime 2022/3/10 00:12
*/
@RequiredArgsConstructor
@Service
@Slf4j
public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTaskService {
public class WfTaskServiceImpl extends FlowServiceFactory implements IWfTaskService {
private final ISysUserService sysUserService;
@@ -86,7 +86,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
*/
@Transactional(rollbackFor = Exception.class)
@Override
public void complete(FlowTaskVo taskVo) {
public void complete(WfTaskBo taskVo) {
Task task = taskService.createTaskQuery().taskId(taskVo.getTaskId()).singleResult();
if (Objects.isNull(task)) {
throw new ServiceException("任务不存在");
@@ -109,15 +109,15 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
/**
* 驳回任务
*
* @param flowTaskVo
* @param bo
*/
@Override
public void taskReject(FlowTaskVo flowTaskVo) {
if (taskService.createTaskQuery().taskId(flowTaskVo.getTaskId()).singleResult().isSuspended()) {
public void taskReject(WfTaskBo bo) {
if (taskService.createTaskQuery().taskId(bo.getTaskId()).singleResult().isSuspended()) {
throw new RuntimeException("任务处于挂起状态");
}
// 当前任务 task
Task task = taskService.createTaskQuery().taskId(flowTaskVo.getTaskId()).singleResult();
Task task = taskService.createTaskQuery().taskId(bo.getTaskId()).singleResult();
// 获取流程定义信息
ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(task.getProcessDefinitionId()).singleResult();
// 获取所有节点信息
@@ -205,7 +205,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
}
}));
// 设置驳回意见
currentTaskIds.forEach(item -> taskService.addComment(item, task.getProcessInstanceId(), FlowComment.REJECT.getType(), flowTaskVo.getComment()));
currentTaskIds.forEach(item -> taskService.addComment(item, task.getProcessInstanceId(), FlowComment.REJECT.getType(), bo.getComment()));
try {
// 如果父级任务多于 1 说明当前节点不是并行节点原因为不考虑多对多情况
@@ -233,16 +233,16 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
/**
* 退回任务
*
* @param flowTaskVo 请求实体参数
* @param bo 请求实体参数
*/
@Transactional(rollbackFor = Exception.class)
@Override
public void taskReturn(FlowTaskVo flowTaskVo) {
if (taskService.createTaskQuery().taskId(flowTaskVo.getTaskId()).singleResult().isSuspended()) {
public void taskReturn(WfTaskBo bo) {
if (taskService.createTaskQuery().taskId(bo.getTaskId()).singleResult().isSuspended()) {
throw new RuntimeException("任务处于挂起状态");
}
// 当前任务 task
Task task = taskService.createTaskQuery().taskId(flowTaskVo.getTaskId()).singleResult();
Task task = taskService.createTaskQuery().taskId(bo.getTaskId()).singleResult();
// 获取流程定义信息
ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(task.getProcessDefinitionId()).singleResult();
// 获取所有节点信息
@@ -260,7 +260,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
source = flowElement;
}
// 跳转的节点元素
if (flowElement.getId().equals(flowTaskVo.getTargetKey())) {
if (flowElement.getId().equals(bo.getTargetKey())) {
target = flowElement;
}
}
@@ -269,7 +269,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
// 从当前节点向前扫描
// 如果存在路线上不存在目标节点说明目标节点是在网关上或非同一路线上不可跳转
// 否则目标节点相对于当前节点属于串行
Boolean isSequential = FlowableUtils.iteratorCheckSequentialReferTarget(source, flowTaskVo.getTargetKey(), null, null);
Boolean isSequential = FlowableUtils.iteratorCheckSequentialReferTarget(source, bo.getTargetKey(), null, null);
if (!isSequential) {
throw new RuntimeException("当前节点相对于目标节点,不属于串行关系,无法回退");
}
@@ -294,14 +294,14 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
}));
// 设置回退意见
for (String currentTaskId : currentTaskIds) {
taskService.addComment(currentTaskId, task.getProcessInstanceId(), FlowComment.REBACK.getType(), flowTaskVo.getComment());
taskService.addComment(currentTaskId, task.getProcessInstanceId(), FlowComment.REBACK.getType(), bo.getComment());
}
try {
// 1 1 1 情况currentIds 当前要跳转的节点列表(1或多)targetKey 跳转到的节点(1)
runtimeService.createChangeActivityStateBuilder()
.processInstanceId(task.getProcessInstanceId())
.moveActivityIdsToSingleActivityId(currentIds, flowTaskVo.getTargetKey()).changeState();
.moveActivityIdsToSingleActivityId(currentIds, bo.getTargetKey()).changeState();
} catch (FlowableObjectNotFoundException e) {
throw new RuntimeException("未找到流程实例,流程可能已发生变化");
} catch (FlowableException e) {
@@ -313,13 +313,13 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
/**
* 获取所有可回退的节点
*
* @param flowTaskVo
* @param bo
* @return
*/
@Override
public List<UserTask> findReturnTaskList(FlowTaskVo flowTaskVo) {
public List<UserTask> findReturnTaskList(WfTaskBo bo) {
// 当前任务 task
Task task = taskService.createTaskQuery().taskId(flowTaskVo.getTaskId()).singleResult();
Task task = taskService.createTaskQuery().taskId(bo.getTaskId()).singleResult();
// 获取流程定义信息
ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(task.getProcessDefinitionId()).singleResult();
// 获取所有节点信息暂不考虑子流程情况
@@ -354,57 +354,57 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
/**
* 删除任务
*
* @param flowTaskVo 请求实体参数
* @param bo 请求实体参数
*/
@Override
public void deleteTask(FlowTaskVo flowTaskVo) {
public void deleteTask(WfTaskBo bo) {
// todo 待确认删除任务是物理删除任务 还是逻辑删除让这个任务直接通过
taskService.deleteTask(flowTaskVo.getTaskId(), flowTaskVo.getComment());
taskService.deleteTask(bo.getTaskId(), bo.getComment());
}
/**
* 认领/签收任务
*
* @param flowTaskVo 请求实体参数
* @param bo 请求实体参数
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void claim(FlowTaskVo flowTaskVo) {
taskService.claim(flowTaskVo.getTaskId(), flowTaskVo.getUserId());
public void claim(WfTaskBo bo) {
taskService.claim(bo.getTaskId(), bo.getUserId());
}
/**
* 取消认领/签收任务
*
* @param flowTaskVo 请求实体参数
* @param bo 请求实体参数
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void unClaim(FlowTaskVo flowTaskVo) {
taskService.unclaim(flowTaskVo.getTaskId());
public void unClaim(WfTaskBo bo) {
taskService.unclaim(bo.getTaskId());
}
/**
* 委派任务
*
* @param flowTaskVo 请求实体参数
* @param bo 请求实体参数
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void delegateTask(FlowTaskVo flowTaskVo) {
taskService.delegateTask(flowTaskVo.getTaskId(), flowTaskVo.getAssignee());
public void delegateTask(WfTaskBo bo) {
taskService.delegateTask(bo.getTaskId(), bo.getAssignee());
}
/**
* 转办任务
*
* @param flowTaskVo 请求实体参数
* @param bo 请求实体参数
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void assignTask(FlowTaskVo flowTaskVo) {
taskService.setAssignee(flowTaskVo.getTaskId(), flowTaskVo.getComment());
public void assignTask(WfTaskBo bo) {
taskService.setAssignee(bo.getTaskId(), bo.getComment());
}
/**
@@ -413,8 +413,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
* @return
*/
@Override
public TableDataInfo<FlowTaskDto> myProcess(PageQuery pageQuery) {
Page<FlowTaskDto> page = new Page<>();
public TableDataInfo<WfTaskVo> myProcess(PageQuery pageQuery) {
Page<WfTaskVo> page = new Page<>();
Long userId = LoginHelper.getUserId();
HistoricProcessInstanceQuery historicProcessInstanceQuery = historyService.createHistoricProcessInstanceQuery()
.startedBy(userId.toString())
@@ -424,9 +424,9 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
List<HistoricProcessInstance> historicProcessInstances = historicProcessInstanceQuery
.listPage(offset, pageQuery.getPageSize());
page.setTotal(historicProcessInstanceQuery.count());
List<FlowTaskDto> flowList = new ArrayList<>();
List<WfTaskVo> flowList = new ArrayList<>();
for (HistoricProcessInstance hisIns : historicProcessInstances) {
FlowTaskDto flowTask = new FlowTaskDto();
WfTaskVo flowTask = new WfTaskVo();
flowTask.setCreateTime(hisIns.getStartTime());
flowTask.setFinishTime(hisIns.getEndTime());
flowTask.setProcInsId(hisIns.getId());
@@ -464,18 +464,18 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
/**
* 取消申请
*
* @param flowTaskVo
* @param bo
* @return
*/
@Override
public void stopProcess(FlowTaskVo flowTaskVo) {
List<Task> task = taskService.createTaskQuery().processInstanceId(flowTaskVo.getInstanceId()).list();
public void stopProcess(WfTaskBo bo) {
List<Task> task = taskService.createTaskQuery().processInstanceId(bo.getInstanceId()).list();
if (CollectionUtils.isEmpty(task)) {
throw new RuntimeException("流程未启动或已执行完成,取消申请失败");
}
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
.processInstanceId(flowTaskVo.getInstanceId()).singleResult();
.processInstanceId(bo.getInstanceId()).singleResult();
BpmnModel bpmnModel = repositoryService.getBpmnModel(processInstance.getProcessDefinitionId());
if (Objects.nonNull(bpmnModel)) {
Process process = bpmnModel.getMainProcess();
@@ -498,12 +498,12 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
/**
* 撤回流程 目前存在错误
*
* @param flowTaskVo
* @param bo
* @return
*/
@Override
public void revokeProcess(FlowTaskVo flowTaskVo) {
Task task = taskService.createTaskQuery().processInstanceId(flowTaskVo.getInstanceId()).singleResult();
public void revokeProcess(WfTaskBo bo) {
Task task = taskService.createTaskQuery().processInstanceId(bo.getInstanceId()).singleResult();
if (task == null) {
throw new RuntimeException("流程未启动或已执行完成,无法撤回");
}
@@ -556,8 +556,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
* @return
*/
@Override
public TableDataInfo<FlowTaskDto> todoList(PageQuery pageQuery) {
Page<FlowTaskDto> page = new Page<>();
public TableDataInfo<WfTaskVo> todoList(PageQuery pageQuery) {
Page<WfTaskVo> page = new Page<>();
Long userId = LoginHelper.getUserId();
TaskQuery taskQuery = taskService.createTaskQuery()
.active()
@@ -567,9 +567,9 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
page.setTotal(taskQuery.count());
int offset = pageQuery.getPageSize() * (pageQuery.getPageNum() - 1);
List<Task> taskList = taskQuery.listPage(offset, pageQuery.getPageSize());
List<FlowTaskDto> flowList = new ArrayList<>();
List<WfTaskVo> flowList = new ArrayList<>();
for (Task task : taskList) {
FlowTaskDto flowTask = new FlowTaskDto();
WfTaskVo flowTask = new WfTaskVo();
// 当前流程信息
flowTask.setTaskId(task.getId());
flowTask.setTaskDefKey(task.getTaskDefinitionKey());
@@ -608,8 +608,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
* @return
*/
@Override
public TableDataInfo<FlowTaskDto> finishedList(PageQuery pageQuery) {
Page<FlowTaskDto> page = new Page<>();
public TableDataInfo<WfTaskVo> finishedList(PageQuery pageQuery) {
Page<WfTaskVo> page = new Page<>();
Long userId = LoginHelper.getUserId();
HistoricTaskInstanceQuery taskInstanceQuery = historyService.createHistoricTaskInstanceQuery()
.includeProcessVariables()
@@ -619,9 +619,9 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
.desc();
int offset = pageQuery.getPageSize() * (pageQuery.getPageNum() - 1);
List<HistoricTaskInstance> historicTaskInstanceList = taskInstanceQuery.listPage(offset, pageQuery.getPageSize());
List<FlowTaskDto> hisTaskList = Lists.newArrayList();
List<WfTaskVo> hisTaskList = Lists.newArrayList();
for (HistoricTaskInstance histTask : historicTaskInstanceList) {
FlowTaskDto flowTask = new FlowTaskDto();
WfTaskVo flowTask = new WfTaskVo();
// 当前流程信息
flowTask.setTaskId(histTask.getId());
// 审批人员信息
@@ -680,10 +680,10 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
.processInstanceId(procInsId)
.orderByHistoricActivityInstanceStartTime()
.desc().list();
List<FlowTaskDto> hisFlowList = new ArrayList<>();
List<WfTaskVo> hisFlowList = new ArrayList<>();
for (HistoricActivityInstance histIns : list) {
if (StringUtils.isNotBlank(histIns.getTaskId())) {
FlowTaskDto flowTask = new FlowTaskDto();
WfTaskVo flowTask = new WfTaskVo();
flowTask.setProcDefId(histIns.getProcessDefinitionId());
flowTask.setTaskId(histIns.getTaskId());
flowTask.setTaskName(histIns.getActivityName());
@@ -719,7 +719,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
List<Comment> commentList = taskService.getProcessInstanceComments(histIns.getProcessInstanceId());
commentList.forEach(comment -> {
if (histIns.getTaskId().equals(comment.getTaskId())) {
flowTask.setComment(FlowCommentDto.builder().type(comment.getType()).comment(comment.getFullMessage()).build());
flowTask.setComment(WfCommentDto.builder().type(comment.getType()).comment(comment.getFullMessage()).build());
}
});
hisFlowList.add(flowTask);
@@ -812,7 +812,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
* @return
*/
@Override
public FlowViewerVo getFlowViewer(String procInsId) {
public WfViewerVo getFlowViewer(String procInsId) {
// 构建查询条件
HistoricActivityInstanceQuery query = historyService.createHistoricActivityInstanceQuery()
.processInstanceId(procInsId);
@@ -825,7 +825,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
.stream().distinct().map(HistoricActivityInstance::getActivityId)
.collect(Collectors.toList());
// 构建视图类
return new FlowViewerVo(finishedTaskList, unfinishedTaskList);
return new WfViewerVo(finishedTaskList, unfinishedTaskList);
}
/**
@@ -849,13 +849,13 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
/**
* 获取下一节点
*
* @param flowTaskVo 任务
* @param bo 任务
* @return
*/
@Override
public R getNextFlowNode(FlowTaskVo flowTaskVo) {
Task task = taskService.createTaskQuery().taskId(flowTaskVo.getTaskId()).singleResult();
FlowNextDto flowNextDto = new FlowNextDto();
public R getNextFlowNode(WfTaskBo bo) {
Task task = taskService.createTaskQuery().taskId(bo.getTaskId()).singleResult();
WfNextDto nextDto = new WfNextDto();
if (Objects.nonNull(task)) {
List<UserTask> nextUserTask = FindNextNodeUtil.getNextUserTasks(repositoryService, task, new HashMap<>());
if (CollectionUtils.isNotEmpty(nextUserTask)) {
@@ -865,9 +865,9 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
if (Objects.nonNull(multiInstance)) {
List<SysUser> list = sysUserService.selectUserList(new SysUser());
flowNextDto.setVars(ProcessConstants.PROCESS_MULTI_INSTANCE_USER);
flowNextDto.setType(ProcessConstants.PROCESS_MULTI_INSTANCE);
flowNextDto.setUserList(list);
nextDto.setVars(ProcessConstants.PROCESS_MULTI_INSTANCE_USER);
nextDto.setType(ProcessConstants.PROCESS_MULTI_INSTANCE);
nextDto.setUserList(list);
} else {
// 读取自定义节点属性 判断是否是否需要动态指定任务接收人员
@@ -879,25 +879,25 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
if (ProcessConstants.USER_TYPE_ASSIGNEE.equals(userType)) {
List<SysUser> list = sysUserService.selectUserList(new SysUser());
flowNextDto.setVars(ProcessConstants.PROCESS_APPROVAL);
flowNextDto.setType(ProcessConstants.USER_TYPE_ASSIGNEE);
flowNextDto.setUserList(list);
nextDto.setVars(ProcessConstants.PROCESS_APPROVAL);
nextDto.setType(ProcessConstants.USER_TYPE_ASSIGNEE);
nextDto.setUserList(list);
}
// 候选人员(多个)
if (ProcessConstants.USER_TYPE_USERS.equals(userType)) {
List<SysUser> list = sysUserService.selectUserList(new SysUser());
flowNextDto.setVars(ProcessConstants.PROCESS_APPROVAL);
flowNextDto.setType(ProcessConstants.USER_TYPE_USERS);
flowNextDto.setUserList(list);
nextDto.setVars(ProcessConstants.PROCESS_APPROVAL);
nextDto.setType(ProcessConstants.USER_TYPE_USERS);
nextDto.setUserList(list);
}
// 候选组
if (ProcessConstants.USER_TYPE_ROUPS.equals(userType)) {
List<SysRole> sysRoles = sysRoleService.selectRoleAll();
flowNextDto.setVars(ProcessConstants.PROCESS_APPROVAL);
flowNextDto.setType(ProcessConstants.USER_TYPE_ROUPS);
flowNextDto.setRoleList(sysRoles);
nextDto.setVars(ProcessConstants.PROCESS_APPROVAL);
nextDto.setType(ProcessConstants.USER_TYPE_ROUPS);
nextDto.setRoleList(sysRoles);
}
}
}
@@ -906,7 +906,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
return R.ok("流程已完结", null);
}
}
return R.ok(flowNextDto);
return R.ok(nextDto);
}
/**

View File

@@ -2,9 +2,9 @@
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.workflow.mapper.FlowCategoryMapper">
<mapper namespace="com.ruoyi.workflow.mapper.WfCategoryMapper">
<resultMap type="com.ruoyi.workflow.domain.FlowCategory" id="FlowCategoryResult">
<resultMap type="com.ruoyi.workflow.domain.WfCategory" id="FlowCategoryResult">
<result property="categoryId" column="category_id"/>
<result property="categoryName" column="category_name"/>
<result property="code" column="code"/>