TaskService.java 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. package jnpf.flowable.service;
  2. import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
  3. import jnpf.base.service.SuperService;
  4. import jnpf.exception.WorkFlowException;
  5. import jnpf.flowable.entity.TaskEntity;
  6. import jnpf.flowable.model.candidates.CandidateCheckFo;
  7. import jnpf.flowable.model.candidates.CandidateCheckVo;
  8. import jnpf.flowable.model.candidates.CandidateUserVo;
  9. import jnpf.flowable.model.monitor.MonitorVo;
  10. import jnpf.flowable.model.task.*;
  11. import jnpf.flowable.model.template.BeforeInfoVo;
  12. import java.util.List;
  13. /**
  14. * 类的描述
  15. *
  16. * @author JNPF@YinMai Info. Co., Ltd
  17. * @version 5.0.x
  18. * @since 2024/4/17 15:08
  19. */
  20. public interface TaskService extends SuperService<TaskEntity> {
  21. TaskEntity getInfoSubmit(String id, SFunction<TaskEntity, ?>... columns);
  22. List<TaskEntity> getInfosSubmit(String[] ids, SFunction<TaskEntity, ?>... columns);
  23. /**
  24. * 我发起的 列表
  25. *
  26. * @param pagination 分页
  27. */
  28. List<TaskVo> getList(TaskPagination pagination);
  29. /**
  30. * 监控列表
  31. *
  32. * @param pagination 分页参数
  33. */
  34. List<MonitorVo> getMonitorList(TaskPagination pagination);
  35. /**
  36. * 任务实体
  37. *
  38. * @param id 任务主键
  39. */
  40. TaskEntity getInfo(String id) throws WorkFlowException;
  41. /**
  42. * 发起、审批详情
  43. *
  44. * @param id 任务id
  45. * @param fo 参数类
  46. */
  47. BeforeInfoVo getInfo(String id, FlowModel fo) throws WorkFlowException;
  48. /**
  49. * 获取能走的节点,判断候选人
  50. *
  51. * @param id 经办主键
  52. * @param fo 参数类
  53. */
  54. CandidateCheckVo checkCandidates(String id, CandidateCheckFo fo) throws WorkFlowException;
  55. /**
  56. * 获取候选人
  57. *
  58. * @param fo 参数类
  59. */
  60. List<CandidateUserVo> getCandidateUser(String id, CandidateCheckFo fo) throws WorkFlowException;
  61. /**
  62. * 暂存、提交
  63. *
  64. * @param flowModel 参数
  65. */
  66. void batchSaveOrSubmit(FlowModel flowModel) throws Exception;
  67. /**
  68. * 暂存、提交
  69. *
  70. * @param fo 参数类
  71. */
  72. void saveOrSubmit(FlowModel fo) throws Exception;
  73. /**
  74. * 发起撤回
  75. *
  76. * @param id 任务主键
  77. * @param flowModel 参数
  78. */
  79. void recall(String id, FlowModel flowModel) throws WorkFlowException;
  80. /**
  81. * 催办
  82. *
  83. * @param id 任务主键
  84. */
  85. boolean press(String id) throws WorkFlowException;
  86. /**
  87. * 撤销
  88. *
  89. * @param id 任务主键
  90. */
  91. void revoke(String id, FlowModel flowModel) throws Exception;
  92. /**
  93. * 删除
  94. *
  95. * @param id 主键
  96. */
  97. List<TaskEntity> delete(String id) throws Exception;
  98. /**
  99. * 删除
  100. *
  101. * @param ids 主键数组
  102. */
  103. void deleteBatch(List<String> ids) throws Exception;
  104. /**
  105. * 递归获取子流程
  106. *
  107. * @param idList 需要递归的任务主键集合
  108. * @param idAll 结果任务主键集合
  109. */
  110. void deleTaskAll(List<String> idList, List<String> idAll);
  111. /**
  112. * 终止、复活
  113. *
  114. * @param id 主键
  115. * @param flowModel 参数
  116. * @param isCancel 标识,true 终止
  117. */
  118. void cancel(String id, FlowModel flowModel, boolean isCancel) throws WorkFlowException;
  119. /**
  120. * 判断是否存在异步子流程
  121. *
  122. * @param id 任务主键
  123. */
  124. boolean checkAsync(String id);
  125. /**
  126. * 挂起、恢复
  127. *
  128. * @param id 主键
  129. * @param flowModel 参数
  130. * @param isSuspend 标识,true 挂起、false 恢复
  131. */
  132. void pause(String id, FlowModel flowModel, Boolean isSuspend) throws WorkFlowException;
  133. /**
  134. * 指派
  135. *
  136. * @param id 主键
  137. * @param flowModel 参数
  138. */
  139. void assign(String id, FlowModel flowModel) throws WorkFlowException;
  140. /**
  141. * 获取流程所关联的用户信息
  142. *
  143. * @param taskId 任务主键
  144. */
  145. TaskUserListModel getTaskUserList(String taskId);
  146. /**
  147. * 子流程详情
  148. *
  149. * @param flowModel 参数
  150. */
  151. List<BeforeInfoVo> subFlowInfo(FlowModel flowModel) throws WorkFlowException;
  152. /**
  153. * 消息跳转流程校验
  154. *
  155. * @param id 经办或抄送主键
  156. */
  157. String checkInfo(String id) throws WorkFlowException;
  158. /**
  159. * 更新归档状态
  160. *
  161. * @param taskId 任务主键
  162. */
  163. void updateIsFile(String taskId) throws WorkFlowException;
  164. /**
  165. * 获取发起表单
  166. *
  167. * @param taskId 任务主键
  168. */
  169. ViewFormModel getStartForm(String taskId) throws WorkFlowException;
  170. /**
  171. * 获取流程数量
  172. */
  173. TaskTo getFlowTodoCount(TaskTo taskTo);
  174. /**
  175. * 获取待办事项
  176. */
  177. FlowTodoVO getFlowTodo(TaskPagination pagination);
  178. }