fix -- 重命名工作流相关的类,删除为使用的代码。
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
@@ -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;
|
||||
}
|
||||
@@ -12,7 +12,7 @@ import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* 流程表单对象 wf_form
|
||||
* 流程表单业务对象
|
||||
*
|
||||
* @author KonBAI
|
||||
* @createTime 2022/3/7 22:07
|
||||
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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 驳回意见
|
||||
@@ -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;
|
||||
|
||||
@@ -17,7 +17,7 @@ import lombok.Data;
|
||||
@Data
|
||||
@ApiModel("流程分类视图对象")
|
||||
@ExcelIgnoreUnannotated
|
||||
public class FlowCategoryVo {
|
||||
public class WfCategoryVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@@ -19,7 +19,7 @@ import java.util.Date;
|
||||
@Data
|
||||
@ApiModel("流程定义视图对象")
|
||||
@ExcelIgnoreUnannotated
|
||||
public class FlowDefinitionVo {
|
||||
public class WfDefinitionVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@@ -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;
|
||||
@@ -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 {
|
||||
|
||||
/**
|
||||
* 获取流程实例的历史节点(去重)
|
||||
@@ -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> {
|
||||
|
||||
}
|
||||
@@ -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> {
|
||||
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
/**
|
||||
* 校验并删除数据
|
||||
@@ -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);
|
||||
|
||||
/**
|
||||
* 导入流程文件
|
||||
@@ -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);
|
||||
|
||||
/**
|
||||
* 激活或挂起流程实例
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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();
|
||||
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -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"/>
|
||||
Reference in New Issue
Block a user