IProcessTaskService.java 3.1 KB

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