IFlowService.cs 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. using System.Collections.Generic;
  2. using System.Threading.Tasks;
  3. using GxPress.Entity;
  4. using GxPress.Entity.WorkFlow;
  5. using GxPress.Entity.WorkFlowDto;
  6. using GxPress.Entity.WorkProcessDto;
  7. using GxPress.Request.App.Flow;
  8. using GxPress.Request.FlowDto;
  9. using GxPress.Result.App.Flow;
  10. namespace GxPress.Service.Interface
  11. {
  12. public interface IFlowService : IService
  13. {
  14. Task DeleteAsync(int flowId);
  15. Task<int> AddAsync(FlowDto flow);
  16. Task<FlowDto> GetAsync(int flowId);
  17. Task<(string Title, List<string> Summaries)> GetFlowTitleAndSummaryAsync(User user, int processId, int flowId);
  18. Task<FlowResult> GetFlowResult(int flowId, int userId = 0);
  19. Task<int> GetTodoCountAsync(int userId);
  20. Task<ListResult> ListAllAsync(int page, int perPage, int processId, string state, string startDate, string endDate);
  21. Task<ListResult> ListMyCheckingAsync(int userId, FlowListRequest request, string source = "");
  22. Task<ListResult> ListMyCheckedAsync(int userId, FlowListRequest request, string source = "");
  23. Task<ListResult> ListSubmittedCheckingAsync(int userId, FlowListRequest request, string source = "");
  24. Task<ListResult> ListSubmittedCheckedAsync(int userId, FlowListRequest request);
  25. Task<ListResult> ListCcUnreadAsync(int userId, FlowListRequest request);
  26. Task<ListResult> ListCcAllAsync(int userId, FlowListRequest request, string source = "");
  27. Task<IEnumerable<FlowTodo>> GetTodoListAsync(int userId, int page, int perPage, int processId);
  28. Task<List<ProcessNodeDto>> GetNodesAsync(FlowDto flow, List<ProcessNodeDto> nodes);
  29. Task NodeExecuteAsync(FlowDto flow, ProcessNodeDto node);
  30. Task CheckAsync(CheckRequest request);
  31. Task TransferCheckAsync(ActionTransferCheckRequest request);
  32. Task<string> DownloadAsync(int flowId);
  33. Task<int> ReAddAsync(int flowId);
  34. /// <summary>
  35. /// 上会等待
  36. /// </summary>
  37. /// <param name="flowId"></param>
  38. /// <param name="userId"></param>
  39. /// <returns></returns>
  40. Task<bool> ActionsWait(int flowId, int userId);
  41. /// <summary>
  42. /// 获取用户ID
  43. /// </summary>
  44. /// <param name="node"></param>
  45. /// <returns></returns>
  46. Task<List<int>> GetListUserAsync(ProcessNodeDto node);
  47. Task<bool> RemindAsync(int flowId, int userId);
  48. /// <summary>
  49. /// 工作流程条件判断
  50. /// </summary>
  51. /// <param name="flow"></param>
  52. /// <returns></returns>
  53. Task NodeExecuteSwitchAsync(FlowDto flow, ProcessNodeDto processNode);
  54. Task<bool> AddInboxAsyc(FlowDto flow);
  55. /// <summary>
  56. /// 撤回
  57. /// </summary>
  58. /// <param name="flowId"></param>
  59. /// <returns></returns>
  60. Task<bool> RecallAsync(int flowId,int userId);
  61. }
  62. }