IWorkflowApplication.cs 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. using Hotline.FlowEngine.Definitions;
  2. using Hotline.Share.Dtos;
  3. using Hotline.Share.Dtos.FlowEngine;
  4. using Hotline.Share.Dtos.FlowEngine.Definition;
  5. namespace Hotline.Application.FlowEngine
  6. {
  7. public interface IWorkflowApplication
  8. {
  9. /// <summary>
  10. /// 开始流程
  11. /// </summary>
  12. Task<string> StartWorkflowAsync(StartWorkflowDto dto, string externalId, CancellationToken cancellationToken);
  13. /// <summary>
  14. /// 流转至下一节点(节点办理)
  15. /// </summary>
  16. Task NextAsync(NextWorkflowDto dto, CancellationToken cancellationToken);
  17. /// <summary>
  18. /// 撤回至任意节点
  19. /// </summary>
  20. Task RecallAsync(RecallDto dto, CancellationToken cancellationToken);
  21. /// <summary>
  22. /// 跳转至任意节点
  23. /// </summary>
  24. Task JumpAsync(RecallDto dto, CancellationToken cancellationToken);
  25. /// <summary>
  26. /// 重办
  27. /// </summary>
  28. Task RedoAsync(RecallDto dto, CancellationToken cancellationToken);
  29. /// <summary>
  30. /// 查询流程开始节点的下一节点配置
  31. /// </summary>
  32. Task<DefinedStepDto> GetStartOptionsAsync(string moduleCode, CancellationToken cancellationToken);
  33. /// <summary>
  34. /// 查询节点配置可选参数
  35. /// </summary>
  36. Task<IReadOnlyList<Kv>> GetNextStepOptionsAsync(StepDefineBasic stepDefine, CancellationToken cancellationToken);
  37. ////////
  38. /// <summary>
  39. /// 查询开始流程的下一步待选节点
  40. /// </summary>
  41. Task<NextStepsDto> GetStartStepsAsync(string moduleCode, CancellationToken cancellationToken);
  42. /// <summary>
  43. /// 查询办理流程的下一步待选节点
  44. /// </summary>
  45. Task<NextStepsDto> GetNextStepsAsync(string workflowId, CancellationToken cancellationToken);
  46. /// <summary>
  47. /// 查询撤回可选节点
  48. /// </summary>
  49. Task<NextStepsDto> GetRecallStepsAsync(string workflowId, CancellationToken cancellationToken);
  50. /// <summary>
  51. /// 查询跳转可选节点
  52. /// </summary>
  53. Task<NextStepsDto> GetJumpStepsAsync(string workflowId, CancellationToken cancellationToken);
  54. /// <summary>
  55. /// 查询重办可选节点
  56. /// </summary>
  57. Task<NextStepsDto> GetRedoStepsAsync(string workflowId, CancellationToken cancellationToken);
  58. /// <summary>
  59. /// 查询下一步所选节点对应待选项
  60. /// </summary>
  61. Task<IReadOnlyList<Kv>> GetNextStepOptionsAsync(GetNextStepItemsDto dto, CancellationToken cancellationToken);
  62. }
  63. }