IProcessTaskService.java 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. package com.aizuda.boot.modules.flw.service;
  2. import com.aizuda.boot.modules.flw.entity.dto.*;
  3. import com.aizuda.boot.modules.flw.entity.vo.*;
  4. import com.aizuda.bpm.engine.core.FlowCreator;
  5. import com.aizuda.core.api.PageParam;
  6. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  7. import java.util.List;
  8. import java.util.Map;
  9. /**
  10. * 流程任务 服务类
  11. *
  12. * @author 青苗
  13. * @since 2023-12-11
  14. */
  15. public interface IProcessTaskService {
  16. /**
  17. * 待认领任务分页列表
  18. */
  19. Page<PendingClaimTaskVO> pagePendingClaim(PageParam<ProcessTaskDTO> pageParam);
  20. /**
  21. * 待审批任务分页列表
  22. */
  23. Page<PendingApprovalTaskVO> pagePendingApproval(PageParam<ProcessTaskDTO> pageParam);
  24. /**
  25. * 我的申请任务分页列表
  26. */
  27. Page<ProcessTaskVO> pageMyApplication(PageParam<ProcessTaskDTO> pageParam);
  28. /**
  29. * 我收到的任务分页列表
  30. */
  31. Page<ProcessTaskVO> pageMyReceived(PageParam<ProcessTaskDTO> pageParam);
  32. /**
  33. * 已审批任务分页列表
  34. */
  35. Page<ProcessTaskVO> pageApproved(PageParam<ProcessTaskDTO> pageParam);
  36. /**
  37. * 审批信息
  38. */
  39. TaskApprovalVO approvalInfo(ProcessInfoDTO dto);
  40. /**
  41. * 根据任务ID查询以前的节点Map列表
  42. *
  43. * @param taskId 任务ID
  44. */
  45. List<Map<String, String>> listPreviousNodes(Long taskId);
  46. /**
  47. * 获取下一个节点列表
  48. *
  49. * @param dto {@link NextNodesDTO}
  50. */
  51. Map<String, Object> listNextNodes(NextNodesDTO dto);
  52. /**
  53. * 设置任务为已阅状态
  54. *
  55. * @param taskId 任务ID
  56. */
  57. boolean viewed(Long taskId);
  58. /**
  59. * 拿回任务
  60. *
  61. * @param taskId 任务ID
  62. * @param flowCreator 任务创建者
  63. */
  64. boolean reclaim(Long taskId, FlowCreator flowCreator);
  65. /**
  66. * 认领任务
  67. *
  68. * @param taskId 任务ID
  69. * @param flowCreator 任务创建者
  70. */
  71. boolean claim(Long taskId, FlowCreator flowCreator);
  72. /**
  73. * 发起人撤回任务
  74. *
  75. * @param taskId 任务ID
  76. * @param flowCreator 任务创建者
  77. */
  78. boolean withdraw(Long taskId, FlowCreator flowCreator);
  79. /**
  80. * 流程实例撤销(用于错误发起审批申请,发起人主动撤销)
  81. */
  82. boolean revoke(ProcessApprovalDTO dto, FlowCreator flowCreator);
  83. /**
  84. * 执行流程任务
  85. */
  86. boolean execute(ExecuteTaskDTO dto);
  87. /**
  88. * 查询流程实例ID的审批历史
  89. *
  90. * @param instanceId 流程实例ID
  91. * @return 审批历史VO列表
  92. */
  93. List<FlwHisTaskVO> listHisTaskByInstanceId(Long instanceId);
  94. /**
  95. * 驳回至上一步任务
  96. */
  97. boolean reject(RejectTaskDTO dto);
  98. /**
  99. * 转交
  100. */
  101. boolean transfer(TaskAssigneeDTO dto);
  102. /**
  103. * 审批评论
  104. */
  105. boolean comment(ProcessApprovalDTO dto);
  106. /**
  107. * 审批同意
  108. */
  109. boolean consent(TaskApprovalDTO dto);
  110. /**
  111. * 审批拒绝
  112. */
  113. boolean rejection(TaskApprovalDTO dto);
  114. /**
  115. * 加签
  116. */
  117. boolean appendNode(TaskAppendNodeDTO dto);
  118. /**
  119. * 执行节点跳转任务
  120. */
  121. boolean jump(TaskJumpDTO dto);
  122. /**
  123. * 当前用户待办任务数量
  124. */
  125. Integer countPendingApproval();
  126. /**
  127. * 流程任务催办
  128. */
  129. boolean urgeByInstanceId(Long instanceId);
  130. }