IFlowService.cs 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  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.Result.App.Flow;
  9. namespace GxPress.Service.Interface
  10. {
  11. public interface IFlowService : IService
  12. {
  13. Task DeleteAsync(int flowId);
  14. Task<int> AddAsync(FlowDto flow);
  15. Task<FlowDto> GetAsync(int flowId);
  16. Task<(string Title, List<string> Summaries)> GetFlowTitleAndSummaryAsync(User user, int processId, int flowId);
  17. Task<FlowResult> GetFlowResult(int flowId,int userId=0);
  18. Task<int> GetTodoCountAsync(int userId);
  19. Task<ListResult> ListAllAsync(int page, int perPage, int processId, string state, string startDate, string endDate);
  20. Task<ListResult> ListMyCheckingAsync(int userId, FlowListRequest request,string source="");
  21. Task<ListResult> ListMyCheckedAsync(int userId, FlowListRequest request,string source="");
  22. Task<ListResult> ListSubmittedCheckingAsync(int userId, FlowListRequest request,string source="");
  23. Task<ListResult> ListSubmittedCheckedAsync(int userId, FlowListRequest request);
  24. Task<ListResult> ListCcUnreadAsync(int userId, FlowListRequest request);
  25. Task<ListResult> ListCcAllAsync(int userId, FlowListRequest request,string source="");
  26. Task<IEnumerable<FlowTodo>> GetTodoListAsync(int userId, int page, int perPage, int processId);
  27. Task<List<ProcessNodeDto>> GetNodesAsync(FlowDto flow, List<ProcessNodeDto> nodes);
  28. Task NodeExecuteAsync(FlowDto flow, ProcessNodeDto node);
  29. Task CheckAsync(int todoId, bool isChecked, string message);
  30. Task TransferCheckAsync(int todoId, List<int> transferUserIds, string message, List<int> fileIds);
  31. Task<string> DownloadAsync(int flowId);
  32. Task<int> ReAddAsync(int flowId);
  33. /// <summary>
  34. /// 上会等待
  35. /// </summary>
  36. /// <param name="flowId"></param>
  37. /// <param name="userId"></param>
  38. /// <returns></returns>
  39. Task<bool> ActionsWait(int flowId, int userId);
  40. /// <summary>
  41. /// 获取用户ID
  42. /// </summary>
  43. /// <param name="node"></param>
  44. /// <returns></returns>
  45. Task<List<int>> GetListUserAsync(ProcessNodeDto node);
  46. Task<bool> RemindAsync(int flowId, int userId);
  47. /// <summary>
  48. /// 工作流程条件判断
  49. /// </summary>
  50. /// <param name="flow"></param>
  51. /// <returns></returns>
  52. Task NodeExecuteSwitchAsync(FlowDto flow, ProcessNodeDto processNode);
  53. }
  54. }