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.core.validate.QueryGroup;
import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.workflow.domain.bo.FlowCategoryBo; import com.ruoyi.workflow.domain.bo.WfCategoryBo;
import com.ruoyi.workflow.domain.vo.FlowCategoryVo; import com.ruoyi.workflow.domain.vo.WfCategoryVo;
import com.ruoyi.workflow.service.IFlowCategoryService; import com.ruoyi.workflow.service.IWfCategoryService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
@@ -31,17 +31,17 @@ import java.util.List;
/** /**
* 流程分类Controller * 流程分类Controller
* *
* @author ruoyi * @author KonBAI
* @date 2022-01-15 * @createTime 2022/3/10 00:12
*/ */
@Validated @Validated
@Api(value = "流程分类控制器", tags = {"流程分类管理"}) @Api(value = "流程分类控制器", tags = {"流程分类管理"})
@RequiredArgsConstructor @RequiredArgsConstructor
@RestController @RestController
@RequestMapping("/workflow/category") @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("查询流程分类列表") @ApiOperation("查询流程分类列表")
@SaCheckPermission("workflow:category:list") @SaCheckPermission("workflow:category:list")
@GetMapping("/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); return flowCategoryService.queryPageList(bo, pageQuery);
} }
@@ -60,9 +60,9 @@ public class FlowCategoryController extends BaseController {
@SaCheckPermission("workflow:category:export") @SaCheckPermission("workflow:category:export")
@Log(title = "流程分类", businessType = BusinessType.EXPORT) @Log(title = "流程分类", businessType = BusinessType.EXPORT)
@PostMapping("/export") @PostMapping("/export")
public void export(@Validated FlowCategoryBo bo, HttpServletResponse response) { public void export(@Validated WfCategoryBo bo, HttpServletResponse response) {
List<FlowCategoryVo> list = flowCategoryService.queryList(bo); List<WfCategoryVo> list = flowCategoryService.queryList(bo);
ExcelUtil.exportExcel(list, "流程分类", FlowCategoryVo.class, response); ExcelUtil.exportExcel(list, "流程分类", WfCategoryVo.class, response);
} }
/** /**
@@ -71,7 +71,7 @@ public class FlowCategoryController extends BaseController {
@ApiOperation("获取流程分类详细信息") @ApiOperation("获取流程分类详细信息")
@SaCheckPermission("workflow:category:query") @SaCheckPermission("workflow:category:query")
@GetMapping("/{categoryId}") @GetMapping("/{categoryId}")
public R<FlowCategoryVo> getInfo(@ApiParam("主键") public R<WfCategoryVo> getInfo(@ApiParam("主键")
@NotNull(message = "主键不能为空") @NotNull(message = "主键不能为空")
@PathVariable("categoryId") Long categoryId) { @PathVariable("categoryId") Long categoryId) {
return R.ok(flowCategoryService.queryById(categoryId)); return R.ok(flowCategoryService.queryById(categoryId));
@@ -85,7 +85,7 @@ public class FlowCategoryController extends BaseController {
@Log(title = "流程分类", businessType = BusinessType.INSERT) @Log(title = "流程分类", businessType = BusinessType.INSERT)
@RepeatSubmit() @RepeatSubmit()
@PostMapping() @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); return toAjax(flowCategoryService.insertByBo(bo) ? 1 : 0);
} }
@@ -97,7 +97,7 @@ public class FlowCategoryController extends BaseController {
@Log(title = "流程分类", businessType = BusinessType.UPDATE) @Log(title = "流程分类", businessType = BusinessType.UPDATE)
@RepeatSubmit() @RepeatSubmit()
@PutMapping() @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); 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.common.core.page.TableDataInfo;
import com.ruoyi.system.service.ISysRoleService; import com.ruoyi.system.service.ISysRoleService;
import com.ruoyi.system.service.ISysUserService; import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.workflow.domain.dto.FlowSaveXmlVo; import com.ruoyi.workflow.domain.bo.WfDesignerBo;
import com.ruoyi.workflow.domain.vo.FlowDefinitionVo; import com.ruoyi.workflow.domain.vo.WfDefinitionVo;
import com.ruoyi.workflow.service.IFlowDefinitionService; import com.ruoyi.workflow.service.IWfDefinitionService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
@@ -28,9 +28,7 @@ import java.nio.charset.StandardCharsets;
import java.util.Map; import java.util.Map;
/** /**
* <p>
* 工作流程定义 * 工作流程定义
* </p>
* *
* @author KonBAI * @author KonBAI
* @date 2022-01-17 * @date 2022-01-17
@@ -40,9 +38,9 @@ import java.util.Map;
@RequiredArgsConstructor @RequiredArgsConstructor
@RestController @RestController
@RequestMapping("/workflow/definition") @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; private final ISysUserService userService;
@@ -50,8 +48,8 @@ public class FlowDefinitionController extends BaseController {
@GetMapping(value = "/list") @GetMapping(value = "/list")
@SaCheckPermission("workflow:definition:list") @SaCheckPermission("workflow:definition:list")
@ApiOperation(value = "流程定义列表", response = FlowDefinitionVo.class) @ApiOperation(value = "流程定义列表", response = WfDefinitionVo.class)
public TableDataInfo<FlowDefinitionVo> list(PageQuery pageQuery) { public TableDataInfo<WfDefinitionVo> list(PageQuery pageQuery) {
return flowDefinitionService.list(pageQuery); return flowDefinitionService.list(pageQuery);
} }
@@ -63,9 +61,9 @@ public class FlowDefinitionController extends BaseController {
*/ */
@GetMapping(value = "/publishList") @GetMapping(value = "/publishList")
@SaCheckPermission("workflow:definition:list") @SaCheckPermission("workflow:definition:list")
@ApiOperation(value = "指定流程的发布版本列表", response = FlowDefinitionVo.class) @ApiOperation(value = "指定流程的发布版本列表", response = WfDefinitionVo.class)
public TableDataInfo<FlowDefinitionVo> publishList(@ApiParam(value = "流程定义Key", required = true) @RequestParam String processKey, public TableDataInfo<WfDefinitionVo> publishList(@ApiParam(value = "流程定义Key", required = true) @RequestParam String processKey,
PageQuery pageQuery) { PageQuery pageQuery) {
return flowDefinitionService.publishList(processKey, pageQuery); return flowDefinitionService.publishList(processKey, pageQuery);
} }
@@ -119,9 +117,9 @@ public class FlowDefinitionController extends BaseController {
@ApiOperation(value = "保存流程设计器内的xml文件") @ApiOperation(value = "保存流程设计器内的xml文件")
@SaCheckPermission("workflow:definition:designer") @SaCheckPermission("workflow:definition:designer")
@PostMapping("/save") @PostMapping("/save")
public R<Void> save(@RequestBody FlowSaveXmlVo vo) { public R<Void> save(@RequestBody WfDesignerBo bo) {
try (InputStream in = new ByteArrayInputStream(vo.getXml().getBytes(StandardCharsets.UTF_8))) { try (InputStream in = new ByteArrayInputStream(bo.getXml().getBytes(StandardCharsets.UTF_8))) {
flowDefinitionService.importFile(vo.getName(), vo.getCategory(), in); flowDefinitionService.importFile(bo.getName(), bo.getCategory(), in);
} catch (Exception e) { } catch (Exception e) {
log.error("导入失败:", e); log.error("导入失败:", e);
return R.ok(e.getMessage()); 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.common.core.domain.R;
import com.ruoyi.workflow.domain.vo.FlowTaskVo; import com.ruoyi.workflow.domain.bo.WfTaskBo;
import com.ruoyi.workflow.service.IFlowInstanceService; import com.ruoyi.workflow.service.IWfInstanceService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
@@ -14,19 +14,19 @@ import org.springframework.web.bind.annotation.*;
import java.util.Map; import java.util.Map;
/** /**
* <p>工作流流程实例管理<p> * 工作流流程实例管理
* *
* @author XuanXuan * @author KonBAI
* @date 2021-04-03 * @createTime 2022/3/10 00:12
*/ */
@Slf4j @Slf4j
@Api(tags = "工作流流程实例管理") @Api(tags = "工作流流程实例管理")
@RequiredArgsConstructor @RequiredArgsConstructor
@RestController @RestController
@RequestMapping("/workflow/instance") @RequestMapping("/workflow/instance")
public class FlowInstanceController { public class WfInstanceController {
private final IFlowInstanceService flowInstanceService; private final IWfInstanceService flowInstanceService;
@ApiOperation(value = "根据流程定义id启动流程实例") @ApiOperation(value = "根据流程定义id启动流程实例")
@PostMapping("/startBy/{procDefId}") @PostMapping("/startBy/{procDefId}")
@@ -47,8 +47,8 @@ public class FlowInstanceController {
@ApiOperation("结束流程实例") @ApiOperation("结束流程实例")
@PostMapping(value = "/stopProcessInstance") @PostMapping(value = "/stopProcessInstance")
public R stopProcessInstance(@RequestBody FlowTaskVo flowTaskVo) { public R stopProcessInstance(@RequestBody WfTaskBo bo) {
flowInstanceService.stopProcessInstance(flowTaskVo); flowInstanceService.stopProcessInstance(bo);
return R.ok(); 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.PageQuery;
import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.workflow.domain.dto.FlowTaskDto; import com.ruoyi.workflow.domain.vo.WfTaskVo;
import com.ruoyi.workflow.domain.vo.FlowTaskVo; import com.ruoyi.workflow.domain.bo.WfTaskBo;
import com.ruoyi.workflow.service.IFlowTaskService; import com.ruoyi.workflow.service.IWfTaskService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
@@ -21,60 +21,60 @@ import java.io.InputStream;
import java.io.OutputStream; import java.io.OutputStream;
/** /**
* <p>工作流任务管理<p> * 工作流任务管理
* *
* @author XuanXuan * @author KonBAI
* @date 2021-04-03 * @createTime 2022/3/10 00:12
*/ */
@Slf4j @Slf4j
@Api(tags = "工作流流程任务管理") @Api(tags = "工作流流程任务管理")
@RequiredArgsConstructor @RequiredArgsConstructor
@RestController @RestController
@RequestMapping("/workflow/task") @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") @GetMapping(value = "/myProcess")
public TableDataInfo<FlowTaskDto> myProcess(PageQuery pageQuery) { public TableDataInfo<WfTaskVo> myProcess(PageQuery pageQuery) {
return flowTaskService.myProcess(pageQuery); return flowTaskService.myProcess(pageQuery);
} }
@ApiOperation(value = "取消申请", response = FlowTaskDto.class) @ApiOperation(value = "取消申请", response = WfTaskVo.class)
@PostMapping(value = "/stopProcess") @PostMapping(value = "/stopProcess")
public R stopProcess(@RequestBody FlowTaskVo flowTaskVo) { public R stopProcess(@RequestBody WfTaskBo bo) {
flowTaskService.stopProcess(flowTaskVo); flowTaskService.stopProcess(bo);
return R.ok(); return R.ok();
} }
@ApiOperation(value = "撤回流程", response = FlowTaskDto.class) @ApiOperation(value = "撤回流程", response = WfTaskVo.class)
@PostMapping(value = "/revokeProcess") @PostMapping(value = "/revokeProcess")
public R revokeProcess(@RequestBody FlowTaskVo flowTaskVo) { public R revokeProcess(@RequestBody WfTaskBo bo) {
flowTaskService.revokeProcess(flowTaskVo); flowTaskService.revokeProcess(bo);
return R.ok(); return R.ok();
} }
@ApiOperation(value = "获取待办列表", response = FlowTaskDto.class) @ApiOperation(value = "获取待办列表", response = WfTaskVo.class)
@GetMapping(value = "/todoList") @GetMapping(value = "/todoList")
public TableDataInfo<FlowTaskDto> todoList(PageQuery pageQuery) { public TableDataInfo<WfTaskVo> todoList(PageQuery pageQuery) {
return flowTaskService.todoList(pageQuery); return flowTaskService.todoList(pageQuery);
} }
@ApiOperation(value = "获取已办任务", response = FlowTaskDto.class) @ApiOperation(value = "获取已办任务", response = WfTaskVo.class)
@GetMapping(value = "/finishedList") @GetMapping(value = "/finishedList")
public TableDataInfo<FlowTaskDto> finishedList(PageQuery pageQuery) { public TableDataInfo<WfTaskVo> finishedList(PageQuery pageQuery) {
return flowTaskService.finishedList(pageQuery); return flowTaskService.finishedList(pageQuery);
} }
@ApiOperation(value = "流程历史流转记录", response = FlowTaskDto.class) @ApiOperation(value = "流程历史流转记录", response = WfTaskVo.class)
@GetMapping(value = "/flowRecord") @GetMapping(value = "/flowRecord")
public R flowRecord(String procInsId, String deployId) { public R flowRecord(String procInsId, String deployId) {
return R.ok(flowTaskService.flowRecord(procInsId, deployId)); return R.ok(flowTaskService.flowRecord(procInsId, deployId));
} }
@ApiOperation(value = "获取流程变量", response = FlowTaskDto.class) @ApiOperation(value = "获取流程变量", response = WfTaskVo.class)
@GetMapping(value = "/processVariables/{taskId}") @GetMapping(value = "/processVariables/{taskId}")
public R processVariables(@ApiParam(value = "流程任务Id") @PathVariable(value = "taskId") String taskId) { public R processVariables(@ApiParam(value = "流程任务Id") @PathVariable(value = "taskId") String taskId) {
return flowTaskService.processVariables(taskId); return flowTaskService.processVariables(taskId);
@@ -82,71 +82,71 @@ public class FlowTaskController {
@ApiOperation(value = "审批任务") @ApiOperation(value = "审批任务")
@PostMapping(value = "/complete") @PostMapping(value = "/complete")
public R complete(@RequestBody FlowTaskVo flowTaskVo) { public R complete(@RequestBody WfTaskBo bo) {
flowTaskService.complete(flowTaskVo); flowTaskService.complete(bo);
return R.ok(); return R.ok();
} }
@ApiOperation(value = "驳回任务") @ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject") @PostMapping(value = "/reject")
public R taskReject(@RequestBody FlowTaskVo flowTaskVo) { public R taskReject(@RequestBody WfTaskBo bo) {
flowTaskService.taskReject(flowTaskVo); flowTaskService.taskReject(bo);
return R.ok(); return R.ok();
} }
@ApiOperation(value = "退回任务") @ApiOperation(value = "退回任务")
@PostMapping(value = "/return") @PostMapping(value = "/return")
public R taskReturn(@RequestBody FlowTaskVo flowTaskVo) { public R taskReturn(@RequestBody WfTaskBo bo) {
flowTaskService.taskReturn(flowTaskVo); flowTaskService.taskReturn(bo);
return R.ok(); return R.ok();
} }
@ApiOperation(value = "获取所有可回退的节点") @ApiOperation(value = "获取所有可回退的节点")
@PostMapping(value = "/returnList") @PostMapping(value = "/returnList")
public R findReturnTaskList(@RequestBody FlowTaskVo flowTaskVo) { public R findReturnTaskList(@RequestBody WfTaskBo bo) {
return R.ok(flowTaskService.findReturnTaskList(flowTaskVo)); return R.ok(flowTaskService.findReturnTaskList(bo));
} }
@ApiOperation(value = "删除任务") @ApiOperation(value = "删除任务")
@DeleteMapping(value = "/delete") @DeleteMapping(value = "/delete")
public R delete(@RequestBody FlowTaskVo flowTaskVo) { public R delete(@RequestBody WfTaskBo bo) {
flowTaskService.deleteTask(flowTaskVo); flowTaskService.deleteTask(bo);
return R.ok(); return R.ok();
} }
@ApiOperation(value = "认领/签收任务") @ApiOperation(value = "认领/签收任务")
@PostMapping(value = "/claim") @PostMapping(value = "/claim")
public R claim(@RequestBody FlowTaskVo flowTaskVo) { public R claim(@RequestBody WfTaskBo bo) {
flowTaskService.claim(flowTaskVo); flowTaskService.claim(bo);
return R.ok(); return R.ok();
} }
@ApiOperation(value = "取消认领/签收任务") @ApiOperation(value = "取消认领/签收任务")
@PostMapping(value = "/unClaim") @PostMapping(value = "/unClaim")
public R unClaim(@RequestBody FlowTaskVo flowTaskVo) { public R unClaim(@RequestBody WfTaskBo bo) {
flowTaskService.unClaim(flowTaskVo); flowTaskService.unClaim(bo);
return R.ok(); return R.ok();
} }
@ApiOperation(value = "委派任务") @ApiOperation(value = "委派任务")
@PostMapping(value = "/delegate") @PostMapping(value = "/delegate")
public R delegate(@RequestBody FlowTaskVo flowTaskVo) { public R delegate(@RequestBody WfTaskBo bo) {
flowTaskService.delegateTask(flowTaskVo); flowTaskService.delegateTask(bo);
return R.ok(); return R.ok();
} }
@ApiOperation(value = "转办任务") @ApiOperation(value = "转办任务")
@PostMapping(value = "/assign") @PostMapping(value = "/assign")
public R assign(@RequestBody FlowTaskVo flowTaskVo) { public R assign(@RequestBody WfTaskBo bo) {
flowTaskService.assignTask(flowTaskVo); flowTaskService.assignTask(bo);
return R.ok(); return R.ok();
} }
@ApiOperation(value = "获取下一节点") @ApiOperation(value = "获取下一节点")
@PostMapping(value = "/nextFlowNode") @PostMapping(value = "/nextFlowNode")
public R getNextFlowNode(@RequestBody FlowTaskVo flowTaskVo) { public R getNextFlowNode(@RequestBody WfTaskBo bo) {
return flowTaskService.getNextFlowNode(flowTaskVo); return flowTaskService.getNextFlowNode(bo);
} }
/** /**

View File

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

View File

@@ -12,7 +12,7 @@ import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
/** /**
* 流程分类业务对象 flow_category * 流程分类业务对象
* *
* @author KonBAI * @author KonBAI
* @date 2022-01-15 * @date 2022-01-15
@@ -21,7 +21,7 @@ import javax.validation.constraints.NotNull;
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ApiModel("流程分类业务对象") @ApiModel("流程分类业务对象")
public class FlowCategoryBo extends BaseEntity { public class WfCategoryBo extends BaseEntity {
/** /**
* 分类ID * 分类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; import javax.validation.constraints.NotNull;
/** /**
* 流程表单对象 wf_form * 流程表单业务对象
* *
* @author KonBAI * @author KonBAI
* @createTime 2022/3/7 22:07 * @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.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
@@ -8,14 +8,14 @@ import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
* <p>流程任务<p> * 流程任务业务对象
* *
* @author XuanXuan * @author KonBAI
* @date 2021-04-03 * @createTime 2022/3/10 00:12
*/ */
@Data @Data
@ApiModel("工作流任务相关--请求参数") @ApiModel("流程任务业务对象")
public class FlowTaskVo { public class WfTaskBo {
@ApiModelProperty("任务Id") @ApiModelProperty("任务Id")
private String taskId; 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; import java.io.Serializable;
/** /**
* @author XuanXuan * @author KonBAI
* @date 2021/3/28 15:50 * @createTime 2022/3/10 00:12
*/ */
@Data @Data
@Builder @Builder
public class FlowCommentDto implements Serializable { public class WfCommentDto implements Serializable {
/** /**
* 意见类别 0 正常意见 1 退回意见 2 驳回意见 * 意见类别 0 正常意见 1 退回意见 2 驳回意见

View File

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

View File

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

View File

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

View File

@@ -1,5 +1,7 @@
package com.ruoyi.workflow.domain.vo; package com.ruoyi.workflow.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@@ -7,7 +9,7 @@ import lombok.NoArgsConstructor;
import java.util.List; import java.util.List;
/** /**
* 任务追踪视图 * 任务追踪视图对象
* *
* @author KonBAI * @author KonBAI
* @createTime 2022/1/8 19:42 * @createTime 2022/1/8 19:42
@@ -15,7 +17,9 @@ import java.util.List;
@Data @Data
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @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.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.workflow.domain.bo.FlowCategoryBo; import com.ruoyi.workflow.domain.bo.WfCategoryBo;
import com.ruoyi.workflow.domain.vo.FlowCategoryVo; import com.ruoyi.workflow.domain.vo.WfCategoryVo;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
@@ -14,36 +14,36 @@ import java.util.List;
* @author KonBAI * @author KonBAI
* @date 2022-01-15 * @date 2022-01-15
*/ */
public interface IFlowCategoryService { public interface IWfCategoryService {
/** /**
* 查询单个 * 查询单个
* @return * @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 请填写功能名称新增业务对象 * @param bo 请填写功能名称新增业务对象
* @return * @return
*/ */
Boolean insertByBo(FlowCategoryBo bo); Boolean insertByBo(WfCategoryBo bo);
/** /**
* 根据编辑业务对象修改请填写功能名称 * 根据编辑业务对象修改请填写功能名称
* @param bo 请填写功能名称编辑业务对象 * @param bo 请填写功能名称编辑业务对象
* @return * @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.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo; 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.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.util.Map; import java.util.Map;
/** /**
* @author XuanXuan * @author KonBAI
* @date 2021-04-03 14:41 * @createTime 2022/3/10 00:12
*/ */
public interface IFlowDefinitionService { public interface IWfDefinitionService {
boolean exist(String processDefinitionKey); boolean exist(String processDefinitionKey);
@@ -23,14 +23,14 @@ public interface IFlowDefinitionService {
* @param pageQuery 分页参数 * @param pageQuery 分页参数
* @return 流程定义分页列表数据 * @return 流程定义分页列表数据
*/ */
TableDataInfo<FlowDefinitionVo> list(PageQuery pageQuery); TableDataInfo<WfDefinitionVo> list(PageQuery pageQuery);
/** /**
* *
* @param processKey * @param processKey
* @return * @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; 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.engine.history.HistoricProcessInstance;
import org.flowable.task.api.Task; import org.flowable.task.api.Task;
@@ -8,10 +8,10 @@ import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
* @author XuanXuan * @author KonBAI
* @date 2021-04-03 14:40 * @createTime 2022/3/10 00:12
*/ */
public interface IFlowInstanceService { public interface IWfInstanceService {
List<Task> queryListByInstanceId(String instanceId); List<Task> queryListByInstanceId(String instanceId);
@@ -20,7 +20,7 @@ public interface IFlowInstanceService {
* *
* @param vo * @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.PageQuery;
import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.workflow.domain.dto.FlowTaskDto; import com.ruoyi.workflow.domain.vo.WfTaskVo;
import com.ruoyi.workflow.domain.vo.FlowTaskVo; import com.ruoyi.workflow.domain.bo.WfTaskBo;
import com.ruoyi.workflow.domain.vo.FlowViewerVo; import com.ruoyi.workflow.domain.vo.WfViewerVo;
import org.flowable.bpmn.model.UserTask; import org.flowable.bpmn.model.UserTask;
import org.flowable.task.api.Task; import org.flowable.task.api.Task;
@@ -14,97 +14,97 @@ import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
* @author XuanXuan * @author KonBAI
* @date 2021-04-03 14:42 * @createTime 2022/3/10 00:12
*/ */
public interface IFlowTaskService { public interface IWfTaskService {
/** /**
* 审批任务 * 审批任务
* *
* @param task 请求实体参数 * @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 * @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 * @return
*/ */
TableDataInfo<FlowTaskDto> myProcess(PageQuery pageQuery); TableDataInfo<WfTaskVo> myProcess(PageQuery pageQuery);
/** /**
* 取消申请 * 取消申请
* @param flowTaskVo * @param bo
* @return * @return
*/ */
void stopProcess(FlowTaskVo flowTaskVo); void stopProcess(WfTaskBo bo);
/** /**
* 撤回流程 * 撤回流程
* @param flowTaskVo * @param bo
* @return * @return
*/ */
void revokeProcess(FlowTaskVo flowTaskVo); void revokeProcess(WfTaskBo bo);
/** /**
@@ -112,7 +112,7 @@ public interface IFlowTaskService {
* *
* @return * @return
*/ */
TableDataInfo<FlowTaskDto> todoList(PageQuery pageQuery); TableDataInfo<WfTaskVo> todoList(PageQuery pageQuery);
/** /**
@@ -120,7 +120,7 @@ public interface IFlowTaskService {
* *
* @return * @return
*/ */
TableDataInfo<FlowTaskDto> finishedList(PageQuery pageQuery); TableDataInfo<WfTaskVo> finishedList(PageQuery pageQuery);
/** /**
* 流程历史流转记录 * 流程历史流转记录
@@ -150,7 +150,7 @@ public interface IFlowTaskService {
* @param procInsId * @param procInsId
* @return * @return
*/ */
FlowViewerVo getFlowViewer(String procInsId); WfViewerVo getFlowViewer(String procInsId);
/** /**
* 获取流程变量 * 获取流程变量
@@ -161,8 +161,8 @@ public interface IFlowTaskService {
/** /**
* 获取下一节点 * 获取下一节点
* @param flowTaskVo 任务 * @param bo 任务
* @return * @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.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.workflow.domain.FlowCategory; import com.ruoyi.workflow.domain.WfCategory;
import com.ruoyi.workflow.domain.bo.FlowCategoryBo; import com.ruoyi.workflow.domain.bo.WfCategoryBo;
import com.ruoyi.workflow.domain.vo.FlowCategoryVo; import com.ruoyi.workflow.domain.vo.WfCategoryVo;
import com.ruoyi.workflow.mapper.FlowCategoryMapper; import com.ruoyi.workflow.mapper.WfCategoryMapper;
import com.ruoyi.workflow.service.IFlowCategoryService; import com.ruoyi.workflow.service.IWfCategoryService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -27,39 +27,39 @@ import java.util.Map;
*/ */
@RequiredArgsConstructor @RequiredArgsConstructor
@Service @Service
public class FlowCategoryServiceImpl implements IFlowCategoryService { public class WfCategoryServiceImpl implements IWfCategoryService {
private final FlowCategoryMapper baseMapper; private final WfCategoryMapper baseMapper;
@Override @Override
public FlowCategoryVo queryById(Long categoryId){ public WfCategoryVo queryById(Long categoryId){
return baseMapper.selectVoById(categoryId); return baseMapper.selectVoById(categoryId);
} }
@Override @Override
public TableDataInfo<FlowCategoryVo> queryPageList(FlowCategoryBo bo, PageQuery pageQuery) { public TableDataInfo<WfCategoryVo> queryPageList(WfCategoryBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<FlowCategory> lqw = buildQueryWrapper(bo); LambdaQueryWrapper<WfCategory> lqw = buildQueryWrapper(bo);
Page<FlowCategoryVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); Page<WfCategoryVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result); return TableDataInfo.build(result);
} }
@Override @Override
public List<FlowCategoryVo> queryList(FlowCategoryBo bo) { public List<WfCategoryVo> queryList(WfCategoryBo bo) {
LambdaQueryWrapper<FlowCategory> lqw = buildQueryWrapper(bo); LambdaQueryWrapper<WfCategory> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw); return baseMapper.selectVoList(lqw);
} }
private LambdaQueryWrapper<FlowCategory> buildQueryWrapper(FlowCategoryBo bo) { private LambdaQueryWrapper<WfCategory> buildQueryWrapper(WfCategoryBo bo) {
Map<String, Object> params = bo.getParams(); Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<FlowCategory> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<WfCategory> lqw = Wrappers.lambdaQuery();
lqw.like(StringUtils.isNotBlank(bo.getCategoryName()), FlowCategory::getCategoryName, bo.getCategoryName()); lqw.like(StringUtils.isNotBlank(bo.getCategoryName()), WfCategory::getCategoryName, bo.getCategoryName());
lqw.eq(StringUtils.isNotBlank(bo.getCode()), FlowCategory::getCode, bo.getCode()); lqw.eq(StringUtils.isNotBlank(bo.getCode()), WfCategory::getCode, bo.getCode());
return lqw; return lqw;
} }
@Override @Override
public Boolean insertByBo(FlowCategoryBo bo) { public Boolean insertByBo(WfCategoryBo bo) {
FlowCategory add = BeanUtil.toBean(bo, FlowCategory.class); WfCategory add = BeanUtil.toBean(bo, WfCategory.class);
validEntityBeforeSave(add); validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0; boolean flag = baseMapper.insert(add) > 0;
if (flag) { if (flag) {
@@ -69,8 +69,8 @@ public class FlowCategoryServiceImpl implements IFlowCategoryService {
} }
@Override @Override
public Boolean updateByBo(FlowCategoryBo bo) { public Boolean updateByBo(WfCategoryBo bo) {
FlowCategory update = BeanUtil.toBean(bo, FlowCategory.class); WfCategory update = BeanUtil.toBean(bo, WfCategory.class);
validEntityBeforeSave(update); validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0; return baseMapper.updateById(update) > 0;
} }
@@ -80,7 +80,7 @@ public class FlowCategoryServiceImpl implements IFlowCategoryService {
* *
* @param entity 实体类数据 * @param entity 实体类数据
*/ */
private void validEntityBeforeSave(FlowCategory entity){ private void validEntityBeforeSave(WfCategory entity){
//TODO 做一些数据校验,如唯一约束 //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.constant.ProcessConstants;
import com.ruoyi.flowable.common.enums.FlowComment; import com.ruoyi.flowable.common.enums.FlowComment;
import com.ruoyi.flowable.factory.FlowServiceFactory; 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.domain.vo.WfFormVo;
import com.ruoyi.workflow.mapper.WfFormMapper; import com.ruoyi.workflow.mapper.WfFormMapper;
import com.ruoyi.workflow.service.IFlowDefinitionService; import com.ruoyi.workflow.service.IWfDefinitionService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
@@ -42,7 +42,7 @@ import java.util.stream.Collectors;
@RequiredArgsConstructor @RequiredArgsConstructor
@Service @Service
@Slf4j @Slf4j
public class FlowDefinitionServiceImpl extends FlowServiceFactory implements IFlowDefinitionService { public class WfDefinitionServiceImpl extends FlowServiceFactory implements IWfDefinitionService {
private final WfFormMapper formMapper; private final WfFormMapper formMapper;
@@ -64,8 +64,8 @@ public class FlowDefinitionServiceImpl extends FlowServiceFactory implements IFl
* @return 流程定义分页列表数据 * @return 流程定义分页列表数据
*/ */
@Override @Override
public TableDataInfo<FlowDefinitionVo> list(PageQuery pageQuery) { public TableDataInfo<WfDefinitionVo> list(PageQuery pageQuery) {
Page<FlowDefinitionVo> page = new Page<>(); Page<WfDefinitionVo> page = new Page<>();
// 流程定义列表数据查询 // 流程定义列表数据查询
ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery() ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery()
.latestVersion() .latestVersion()
@@ -77,11 +77,11 @@ public class FlowDefinitionServiceImpl extends FlowServiceFactory implements IFl
int offset = pageQuery.getPageSize() * (pageQuery.getPageNum() - 1); int offset = pageQuery.getPageSize() * (pageQuery.getPageNum() - 1);
List<ProcessDefinition> definitionList = processDefinitionQuery.listPage(offset, pageQuery.getPageSize()); List<ProcessDefinition> definitionList = processDefinitionQuery.listPage(offset, pageQuery.getPageSize());
List<FlowDefinitionVo> definitionVoList = new ArrayList<>(); List<WfDefinitionVo> definitionVoList = new ArrayList<>();
for (ProcessDefinition processDefinition : definitionList) { for (ProcessDefinition processDefinition : definitionList) {
String deploymentId = processDefinition.getDeploymentId(); String deploymentId = processDefinition.getDeploymentId();
Deployment deployment = repositoryService.createDeploymentQuery().deploymentId(deploymentId).singleResult(); Deployment deployment = repositoryService.createDeploymentQuery().deploymentId(deploymentId).singleResult();
FlowDefinitionVo vo = new FlowDefinitionVo(); WfDefinitionVo vo = new WfDefinitionVo();
vo.setDefinitionId(processDefinition.getId()); vo.setDefinitionId(processDefinition.getId());
vo.setProcessKey(processDefinition.getKey()); vo.setProcessKey(processDefinition.getKey());
vo.setProcessName(processDefinition.getName()); vo.setProcessName(processDefinition.getName());
@@ -105,8 +105,8 @@ public class FlowDefinitionServiceImpl extends FlowServiceFactory implements IFl
} }
@Override @Override
public TableDataInfo<FlowDefinitionVo> publishList(String processKey, PageQuery pageQuery) { public TableDataInfo<WfDefinitionVo> publishList(String processKey, PageQuery pageQuery) {
Page<FlowDefinitionVo> page = new Page<>(); Page<WfDefinitionVo> page = new Page<>();
// 创建查询条件 // 创建查询条件
ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery() ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery()
.processDefinitionKey(processKey) .processDefinitionKey(processKey)
@@ -119,8 +119,8 @@ public class FlowDefinitionServiceImpl extends FlowServiceFactory implements IFl
int offset = pageQuery.getPageSize() * (pageQuery.getPageNum() - 1); int offset = pageQuery.getPageSize() * (pageQuery.getPageNum() - 1);
List<ProcessDefinition> processDefinitionList = processDefinitionQuery List<ProcessDefinition> processDefinitionList = processDefinitionQuery
.listPage(offset, pageQuery.getPageSize()); .listPage(offset, pageQuery.getPageSize());
List<FlowDefinitionVo> flowDefinitionVoList = processDefinitionList.stream().map(item -> { List<WfDefinitionVo> definitionVoList = processDefinitionList.stream().map(item -> {
FlowDefinitionVo vo = new FlowDefinitionVo(); WfDefinitionVo vo = new WfDefinitionVo();
vo.setDefinitionId(item.getId()); vo.setDefinitionId(item.getId());
vo.setProcessKey(item.getKey()); vo.setProcessKey(item.getKey());
vo.setProcessName(item.getName()); vo.setProcessName(item.getName());
@@ -131,7 +131,7 @@ public class FlowDefinitionServiceImpl extends FlowServiceFactory implements IFl
// BeanUtil.copyProperties(item, vo); // BeanUtil.copyProperties(item, vo);
return vo; return vo;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
page.setRecords(flowDefinitionVoList); page.setRecords(definitionVoList);
page.setTotal(pageTotal); page.setTotal(pageTotal);
return TableDataInfo.build(page); 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.common.helper.LoginHelper;
import com.ruoyi.flowable.common.constant.ProcessConstants; import com.ruoyi.flowable.common.constant.ProcessConstants;
import com.ruoyi.flowable.factory.FlowServiceFactory; import com.ruoyi.flowable.factory.FlowServiceFactory;
import com.ruoyi.workflow.domain.vo.FlowTaskVo; import com.ruoyi.workflow.domain.bo.WfTaskBo;
import com.ruoyi.workflow.service.IFlowInstanceService; import com.ruoyi.workflow.service.IWfInstanceService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.flowable.common.engine.api.FlowableObjectNotFoundException; import org.flowable.common.engine.api.FlowableObjectNotFoundException;
import org.flowable.engine.history.HistoricProcessInstance; import org.flowable.engine.history.HistoricProcessInstance;
@@ -19,14 +19,14 @@ import java.util.Map;
import java.util.Objects; import java.util.Objects;
/** /**
* <p>工作流流程实例管理<p> * 工作流流程实例管理
* *
* @author XuanXuan * @author KonBAI
* @date 2021-04-03 * @createTime 2022/3/10 00:12
*/ */
@Service @Service
@Slf4j @Slf4j
public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlowInstanceService { public class WfInstanceServiceImpl extends FlowServiceFactory implements IWfInstanceService {
@Override @Override
@@ -40,7 +40,7 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow
* @param vo * @param vo
*/ */
@Override @Override
public void stopProcessInstance(FlowTaskVo vo) { public void stopProcessInstance(WfTaskBo vo) {
String taskId = vo.getTaskId(); 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.flowable.flow.FlowableUtils;
import com.ruoyi.system.service.ISysRoleService; import com.ruoyi.system.service.ISysRoleService;
import com.ruoyi.system.service.ISysUserService; import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.workflow.domain.dto.FlowCommentDto; import com.ruoyi.workflow.domain.dto.WfCommentDto;
import com.ruoyi.workflow.domain.dto.FlowNextDto; import com.ruoyi.workflow.domain.dto.WfNextDto;
import com.ruoyi.workflow.domain.dto.FlowTaskDto; import com.ruoyi.workflow.domain.vo.WfTaskVo;
import com.ruoyi.workflow.domain.vo.FlowTaskVo; import com.ruoyi.workflow.domain.bo.WfTaskBo;
import com.ruoyi.workflow.domain.vo.FlowViewerVo; import com.ruoyi.workflow.domain.vo.WfViewerVo;
import com.ruoyi.workflow.domain.vo.WfFormVo; 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 com.ruoyi.workflow.service.IWfDeployFormService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@@ -65,13 +65,13 @@ import java.util.function.Predicate;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
* @author XuanXuan * @author KonBAI
* @date 2021-04-03 * @createTime 2022/3/10 00:12
**/ */
@RequiredArgsConstructor @RequiredArgsConstructor
@Service @Service
@Slf4j @Slf4j
public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTaskService { public class WfTaskServiceImpl extends FlowServiceFactory implements IWfTaskService {
private final ISysUserService sysUserService; private final ISysUserService sysUserService;
@@ -86,7 +86,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public void complete(FlowTaskVo taskVo) { public void complete(WfTaskBo taskVo) {
Task task = taskService.createTaskQuery().taskId(taskVo.getTaskId()).singleResult(); Task task = taskService.createTaskQuery().taskId(taskVo.getTaskId()).singleResult();
if (Objects.isNull(task)) { if (Objects.isNull(task)) {
throw new ServiceException("任务不存在"); throw new ServiceException("任务不存在");
@@ -109,15 +109,15 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
/** /**
* 驳回任务 * 驳回任务
* *
* @param flowTaskVo * @param bo
*/ */
@Override @Override
public void taskReject(FlowTaskVo flowTaskVo) { public void taskReject(WfTaskBo bo) {
if (taskService.createTaskQuery().taskId(flowTaskVo.getTaskId()).singleResult().isSuspended()) { if (taskService.createTaskQuery().taskId(bo.getTaskId()).singleResult().isSuspended()) {
throw new RuntimeException("任务处于挂起状态"); throw new RuntimeException("任务处于挂起状态");
} }
// 当前任务 task // 当前任务 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(); 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 { try {
// 如果父级任务多于 1 说明当前节点不是并行节点原因为不考虑多对多情况 // 如果父级任务多于 1 说明当前节点不是并行节点原因为不考虑多对多情况
@@ -233,16 +233,16 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
/** /**
* 退回任务 * 退回任务
* *
* @param flowTaskVo 请求实体参数 * @param bo 请求实体参数
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public void taskReturn(FlowTaskVo flowTaskVo) { public void taskReturn(WfTaskBo bo) {
if (taskService.createTaskQuery().taskId(flowTaskVo.getTaskId()).singleResult().isSuspended()) { if (taskService.createTaskQuery().taskId(bo.getTaskId()).singleResult().isSuspended()) {
throw new RuntimeException("任务处于挂起状态"); throw new RuntimeException("任务处于挂起状态");
} }
// 当前任务 task // 当前任务 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(); ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(task.getProcessDefinitionId()).singleResult();
// 获取所有节点信息 // 获取所有节点信息
@@ -260,7 +260,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
source = flowElement; source = flowElement;
} }
// 跳转的节点元素 // 跳转的节点元素
if (flowElement.getId().equals(flowTaskVo.getTargetKey())) { if (flowElement.getId().equals(bo.getTargetKey())) {
target = flowElement; 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) { if (!isSequential) {
throw new RuntimeException("当前节点相对于目标节点,不属于串行关系,无法回退"); throw new RuntimeException("当前节点相对于目标节点,不属于串行关系,无法回退");
} }
@@ -294,14 +294,14 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
})); }));
// 设置回退意见 // 设置回退意见
for (String currentTaskId : currentTaskIds) { 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 { try {
// 1 1 1 情况currentIds 当前要跳转的节点列表(1或多)targetKey 跳转到的节点(1) // 1 1 1 情况currentIds 当前要跳转的节点列表(1或多)targetKey 跳转到的节点(1)
runtimeService.createChangeActivityStateBuilder() runtimeService.createChangeActivityStateBuilder()
.processInstanceId(task.getProcessInstanceId()) .processInstanceId(task.getProcessInstanceId())
.moveActivityIdsToSingleActivityId(currentIds, flowTaskVo.getTargetKey()).changeState(); .moveActivityIdsToSingleActivityId(currentIds, bo.getTargetKey()).changeState();
} catch (FlowableObjectNotFoundException e) { } catch (FlowableObjectNotFoundException e) {
throw new RuntimeException("未找到流程实例,流程可能已发生变化"); throw new RuntimeException("未找到流程实例,流程可能已发生变化");
} catch (FlowableException e) { } catch (FlowableException e) {
@@ -313,13 +313,13 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
/** /**
* 获取所有可回退的节点 * 获取所有可回退的节点
* *
* @param flowTaskVo * @param bo
* @return * @return
*/ */
@Override @Override
public List<UserTask> findReturnTaskList(FlowTaskVo flowTaskVo) { public List<UserTask> findReturnTaskList(WfTaskBo bo) {
// 当前任务 task // 当前任务 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(); ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(task.getProcessDefinitionId()).singleResult();
// 获取所有节点信息暂不考虑子流程情况 // 获取所有节点信息暂不考虑子流程情况
@@ -354,57 +354,57 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
/** /**
* 删除任务 * 删除任务
* *
* @param flowTaskVo 请求实体参数 * @param bo 请求实体参数
*/ */
@Override @Override
public void deleteTask(FlowTaskVo flowTaskVo) { public void deleteTask(WfTaskBo bo) {
// todo 待确认删除任务是物理删除任务 还是逻辑删除让这个任务直接通过 // todo 待确认删除任务是物理删除任务 还是逻辑删除让这个任务直接通过
taskService.deleteTask(flowTaskVo.getTaskId(), flowTaskVo.getComment()); taskService.deleteTask(bo.getTaskId(), bo.getComment());
} }
/** /**
* 认领/签收任务 * 认领/签收任务
* *
* @param flowTaskVo 请求实体参数 * @param bo 请求实体参数
*/ */
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void claim(FlowTaskVo flowTaskVo) { public void claim(WfTaskBo bo) {
taskService.claim(flowTaskVo.getTaskId(), flowTaskVo.getUserId()); taskService.claim(bo.getTaskId(), bo.getUserId());
} }
/** /**
* 取消认领/签收任务 * 取消认领/签收任务
* *
* @param flowTaskVo 请求实体参数 * @param bo 请求实体参数
*/ */
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void unClaim(FlowTaskVo flowTaskVo) { public void unClaim(WfTaskBo bo) {
taskService.unclaim(flowTaskVo.getTaskId()); taskService.unclaim(bo.getTaskId());
} }
/** /**
* 委派任务 * 委派任务
* *
* @param flowTaskVo 请求实体参数 * @param bo 请求实体参数
*/ */
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void delegateTask(FlowTaskVo flowTaskVo) { public void delegateTask(WfTaskBo bo) {
taskService.delegateTask(flowTaskVo.getTaskId(), flowTaskVo.getAssignee()); taskService.delegateTask(bo.getTaskId(), bo.getAssignee());
} }
/** /**
* 转办任务 * 转办任务
* *
* @param flowTaskVo 请求实体参数 * @param bo 请求实体参数
*/ */
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void assignTask(FlowTaskVo flowTaskVo) { public void assignTask(WfTaskBo bo) {
taskService.setAssignee(flowTaskVo.getTaskId(), flowTaskVo.getComment()); taskService.setAssignee(bo.getTaskId(), bo.getComment());
} }
/** /**
@@ -413,8 +413,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
* @return * @return
*/ */
@Override @Override
public TableDataInfo<FlowTaskDto> myProcess(PageQuery pageQuery) { public TableDataInfo<WfTaskVo> myProcess(PageQuery pageQuery) {
Page<FlowTaskDto> page = new Page<>(); Page<WfTaskVo> page = new Page<>();
Long userId = LoginHelper.getUserId(); Long userId = LoginHelper.getUserId();
HistoricProcessInstanceQuery historicProcessInstanceQuery = historyService.createHistoricProcessInstanceQuery() HistoricProcessInstanceQuery historicProcessInstanceQuery = historyService.createHistoricProcessInstanceQuery()
.startedBy(userId.toString()) .startedBy(userId.toString())
@@ -424,9 +424,9 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
List<HistoricProcessInstance> historicProcessInstances = historicProcessInstanceQuery List<HistoricProcessInstance> historicProcessInstances = historicProcessInstanceQuery
.listPage(offset, pageQuery.getPageSize()); .listPage(offset, pageQuery.getPageSize());
page.setTotal(historicProcessInstanceQuery.count()); page.setTotal(historicProcessInstanceQuery.count());
List<FlowTaskDto> flowList = new ArrayList<>(); List<WfTaskVo> flowList = new ArrayList<>();
for (HistoricProcessInstance hisIns : historicProcessInstances) { for (HistoricProcessInstance hisIns : historicProcessInstances) {
FlowTaskDto flowTask = new FlowTaskDto(); WfTaskVo flowTask = new WfTaskVo();
flowTask.setCreateTime(hisIns.getStartTime()); flowTask.setCreateTime(hisIns.getStartTime());
flowTask.setFinishTime(hisIns.getEndTime()); flowTask.setFinishTime(hisIns.getEndTime());
flowTask.setProcInsId(hisIns.getId()); flowTask.setProcInsId(hisIns.getId());
@@ -464,18 +464,18 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
/** /**
* 取消申请 * 取消申请
* *
* @param flowTaskVo * @param bo
* @return * @return
*/ */
@Override @Override
public void stopProcess(FlowTaskVo flowTaskVo) { public void stopProcess(WfTaskBo bo) {
List<Task> task = taskService.createTaskQuery().processInstanceId(flowTaskVo.getInstanceId()).list(); List<Task> task = taskService.createTaskQuery().processInstanceId(bo.getInstanceId()).list();
if (CollectionUtils.isEmpty(task)) { if (CollectionUtils.isEmpty(task)) {
throw new RuntimeException("流程未启动或已执行完成,取消申请失败"); throw new RuntimeException("流程未启动或已执行完成,取消申请失败");
} }
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery() ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
.processInstanceId(flowTaskVo.getInstanceId()).singleResult(); .processInstanceId(bo.getInstanceId()).singleResult();
BpmnModel bpmnModel = repositoryService.getBpmnModel(processInstance.getProcessDefinitionId()); BpmnModel bpmnModel = repositoryService.getBpmnModel(processInstance.getProcessDefinitionId());
if (Objects.nonNull(bpmnModel)) { if (Objects.nonNull(bpmnModel)) {
Process process = bpmnModel.getMainProcess(); Process process = bpmnModel.getMainProcess();
@@ -498,12 +498,12 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
/** /**
* 撤回流程 目前存在错误 * 撤回流程 目前存在错误
* *
* @param flowTaskVo * @param bo
* @return * @return
*/ */
@Override @Override
public void revokeProcess(FlowTaskVo flowTaskVo) { public void revokeProcess(WfTaskBo bo) {
Task task = taskService.createTaskQuery().processInstanceId(flowTaskVo.getInstanceId()).singleResult(); Task task = taskService.createTaskQuery().processInstanceId(bo.getInstanceId()).singleResult();
if (task == null) { if (task == null) {
throw new RuntimeException("流程未启动或已执行完成,无法撤回"); throw new RuntimeException("流程未启动或已执行完成,无法撤回");
} }
@@ -556,8 +556,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
* @return * @return
*/ */
@Override @Override
public TableDataInfo<FlowTaskDto> todoList(PageQuery pageQuery) { public TableDataInfo<WfTaskVo> todoList(PageQuery pageQuery) {
Page<FlowTaskDto> page = new Page<>(); Page<WfTaskVo> page = new Page<>();
Long userId = LoginHelper.getUserId(); Long userId = LoginHelper.getUserId();
TaskQuery taskQuery = taskService.createTaskQuery() TaskQuery taskQuery = taskService.createTaskQuery()
.active() .active()
@@ -567,9 +567,9 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
page.setTotal(taskQuery.count()); page.setTotal(taskQuery.count());
int offset = pageQuery.getPageSize() * (pageQuery.getPageNum() - 1); int offset = pageQuery.getPageSize() * (pageQuery.getPageNum() - 1);
List<Task> taskList = taskQuery.listPage(offset, pageQuery.getPageSize()); List<Task> taskList = taskQuery.listPage(offset, pageQuery.getPageSize());
List<FlowTaskDto> flowList = new ArrayList<>(); List<WfTaskVo> flowList = new ArrayList<>();
for (Task task : taskList) { for (Task task : taskList) {
FlowTaskDto flowTask = new FlowTaskDto(); WfTaskVo flowTask = new WfTaskVo();
// 当前流程信息 // 当前流程信息
flowTask.setTaskId(task.getId()); flowTask.setTaskId(task.getId());
flowTask.setTaskDefKey(task.getTaskDefinitionKey()); flowTask.setTaskDefKey(task.getTaskDefinitionKey());
@@ -608,8 +608,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
* @return * @return
*/ */
@Override @Override
public TableDataInfo<FlowTaskDto> finishedList(PageQuery pageQuery) { public TableDataInfo<WfTaskVo> finishedList(PageQuery pageQuery) {
Page<FlowTaskDto> page = new Page<>(); Page<WfTaskVo> page = new Page<>();
Long userId = LoginHelper.getUserId(); Long userId = LoginHelper.getUserId();
HistoricTaskInstanceQuery taskInstanceQuery = historyService.createHistoricTaskInstanceQuery() HistoricTaskInstanceQuery taskInstanceQuery = historyService.createHistoricTaskInstanceQuery()
.includeProcessVariables() .includeProcessVariables()
@@ -619,9 +619,9 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
.desc(); .desc();
int offset = pageQuery.getPageSize() * (pageQuery.getPageNum() - 1); int offset = pageQuery.getPageSize() * (pageQuery.getPageNum() - 1);
List<HistoricTaskInstance> historicTaskInstanceList = taskInstanceQuery.listPage(offset, pageQuery.getPageSize()); List<HistoricTaskInstance> historicTaskInstanceList = taskInstanceQuery.listPage(offset, pageQuery.getPageSize());
List<FlowTaskDto> hisTaskList = Lists.newArrayList(); List<WfTaskVo> hisTaskList = Lists.newArrayList();
for (HistoricTaskInstance histTask : historicTaskInstanceList) { for (HistoricTaskInstance histTask : historicTaskInstanceList) {
FlowTaskDto flowTask = new FlowTaskDto(); WfTaskVo flowTask = new WfTaskVo();
// 当前流程信息 // 当前流程信息
flowTask.setTaskId(histTask.getId()); flowTask.setTaskId(histTask.getId());
// 审批人员信息 // 审批人员信息
@@ -680,10 +680,10 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
.processInstanceId(procInsId) .processInstanceId(procInsId)
.orderByHistoricActivityInstanceStartTime() .orderByHistoricActivityInstanceStartTime()
.desc().list(); .desc().list();
List<FlowTaskDto> hisFlowList = new ArrayList<>(); List<WfTaskVo> hisFlowList = new ArrayList<>();
for (HistoricActivityInstance histIns : list) { for (HistoricActivityInstance histIns : list) {
if (StringUtils.isNotBlank(histIns.getTaskId())) { if (StringUtils.isNotBlank(histIns.getTaskId())) {
FlowTaskDto flowTask = new FlowTaskDto(); WfTaskVo flowTask = new WfTaskVo();
flowTask.setProcDefId(histIns.getProcessDefinitionId()); flowTask.setProcDefId(histIns.getProcessDefinitionId());
flowTask.setTaskId(histIns.getTaskId()); flowTask.setTaskId(histIns.getTaskId());
flowTask.setTaskName(histIns.getActivityName()); flowTask.setTaskName(histIns.getActivityName());
@@ -719,7 +719,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
List<Comment> commentList = taskService.getProcessInstanceComments(histIns.getProcessInstanceId()); List<Comment> commentList = taskService.getProcessInstanceComments(histIns.getProcessInstanceId());
commentList.forEach(comment -> { commentList.forEach(comment -> {
if (histIns.getTaskId().equals(comment.getTaskId())) { 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); hisFlowList.add(flowTask);
@@ -812,7 +812,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
* @return * @return
*/ */
@Override @Override
public FlowViewerVo getFlowViewer(String procInsId) { public WfViewerVo getFlowViewer(String procInsId) {
// 构建查询条件 // 构建查询条件
HistoricActivityInstanceQuery query = historyService.createHistoricActivityInstanceQuery() HistoricActivityInstanceQuery query = historyService.createHistoricActivityInstanceQuery()
.processInstanceId(procInsId); .processInstanceId(procInsId);
@@ -825,7 +825,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
.stream().distinct().map(HistoricActivityInstance::getActivityId) .stream().distinct().map(HistoricActivityInstance::getActivityId)
.collect(Collectors.toList()); .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 * @return
*/ */
@Override @Override
public R getNextFlowNode(FlowTaskVo flowTaskVo) { public R getNextFlowNode(WfTaskBo bo) {
Task task = taskService.createTaskQuery().taskId(flowTaskVo.getTaskId()).singleResult(); Task task = taskService.createTaskQuery().taskId(bo.getTaskId()).singleResult();
FlowNextDto flowNextDto = new FlowNextDto(); WfNextDto nextDto = new WfNextDto();
if (Objects.nonNull(task)) { if (Objects.nonNull(task)) {
List<UserTask> nextUserTask = FindNextNodeUtil.getNextUserTasks(repositoryService, task, new HashMap<>()); List<UserTask> nextUserTask = FindNextNodeUtil.getNextUserTasks(repositoryService, task, new HashMap<>());
if (CollectionUtils.isNotEmpty(nextUserTask)) { if (CollectionUtils.isNotEmpty(nextUserTask)) {
@@ -865,9 +865,9 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
if (Objects.nonNull(multiInstance)) { if (Objects.nonNull(multiInstance)) {
List<SysUser> list = sysUserService.selectUserList(new SysUser()); List<SysUser> list = sysUserService.selectUserList(new SysUser());
flowNextDto.setVars(ProcessConstants.PROCESS_MULTI_INSTANCE_USER); nextDto.setVars(ProcessConstants.PROCESS_MULTI_INSTANCE_USER);
flowNextDto.setType(ProcessConstants.PROCESS_MULTI_INSTANCE); nextDto.setType(ProcessConstants.PROCESS_MULTI_INSTANCE);
flowNextDto.setUserList(list); nextDto.setUserList(list);
} else { } else {
// 读取自定义节点属性 判断是否是否需要动态指定任务接收人员 // 读取自定义节点属性 判断是否是否需要动态指定任务接收人员
@@ -879,25 +879,25 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
if (ProcessConstants.USER_TYPE_ASSIGNEE.equals(userType)) { if (ProcessConstants.USER_TYPE_ASSIGNEE.equals(userType)) {
List<SysUser> list = sysUserService.selectUserList(new SysUser()); List<SysUser> list = sysUserService.selectUserList(new SysUser());
flowNextDto.setVars(ProcessConstants.PROCESS_APPROVAL); nextDto.setVars(ProcessConstants.PROCESS_APPROVAL);
flowNextDto.setType(ProcessConstants.USER_TYPE_ASSIGNEE); nextDto.setType(ProcessConstants.USER_TYPE_ASSIGNEE);
flowNextDto.setUserList(list); nextDto.setUserList(list);
} }
// 候选人员(多个) // 候选人员(多个)
if (ProcessConstants.USER_TYPE_USERS.equals(userType)) { if (ProcessConstants.USER_TYPE_USERS.equals(userType)) {
List<SysUser> list = sysUserService.selectUserList(new SysUser()); List<SysUser> list = sysUserService.selectUserList(new SysUser());
flowNextDto.setVars(ProcessConstants.PROCESS_APPROVAL); nextDto.setVars(ProcessConstants.PROCESS_APPROVAL);
flowNextDto.setType(ProcessConstants.USER_TYPE_USERS); nextDto.setType(ProcessConstants.USER_TYPE_USERS);
flowNextDto.setUserList(list); nextDto.setUserList(list);
} }
// 候选组 // 候选组
if (ProcessConstants.USER_TYPE_ROUPS.equals(userType)) { if (ProcessConstants.USER_TYPE_ROUPS.equals(userType)) {
List<SysRole> sysRoles = sysRoleService.selectRoleAll(); List<SysRole> sysRoles = sysRoleService.selectRoleAll();
flowNextDto.setVars(ProcessConstants.PROCESS_APPROVAL); nextDto.setVars(ProcessConstants.PROCESS_APPROVAL);
flowNextDto.setType(ProcessConstants.USER_TYPE_ROUPS); nextDto.setType(ProcessConstants.USER_TYPE_ROUPS);
flowNextDto.setRoleList(sysRoles); nextDto.setRoleList(sysRoles);
} }
} }
} }
@@ -906,7 +906,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
return R.ok("流程已完结", null); return R.ok("流程已完结", null);
} }
} }
return R.ok(flowNextDto); return R.ok(nextDto);
} }
/** /**

View File

@@ -2,9 +2,9 @@
<!DOCTYPE mapper <!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "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="categoryId" column="category_id"/>
<result property="categoryName" column="category_name"/> <result property="categoryName" column="category_name"/>
<result property="code" column="code"/> <result property="code" column="code"/>