You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

87 lines
3.5 KiB

  1. using System.Collections.Generic;
  2. namespace Learun.Workflow.Engine
  3. {
  4. /// <summary>
  5. /// 版 本 Learun-ADMS V7.0.3 数字化智慧校园
  6. /// Copyright (c) 2013-2018 北京泉江科技有限公司
  7. /// 创建人:框架开发组
  8. /// 日 期:2018.12.10
  9. /// 描 述:工作流引擎
  10. /// </summary>
  11. public interface NWFIEngine
  12. {
  13. #region 流程模板操作方法
  14. /// <summary>
  15. /// 获取流程模板
  16. /// </summary>
  17. /// <returns></returns>
  18. string GetScheme();
  19. /// <summary>
  20. /// 获取流程模板
  21. /// </summary>
  22. /// <returns></returns>
  23. NWFScheme GetSchemeObj();
  24. /// <summary>
  25. /// 获取开始节点
  26. /// </summary>
  27. /// <returns>节点信息</returns>
  28. NWFNodeInfo GetStartNode();
  29. /// <summary>
  30. /// 获取节点
  31. /// </summary>
  32. /// <param name="nodeId">流程处理节点ID</param>
  33. /// <returns>节点信息</returns>
  34. NWFNodeInfo GetNode(string nodeId);
  35. /// <summary>
  36. /// 获取下一节点
  37. /// </summary>
  38. /// <param name="nodeId">当前节点Id</param>
  39. /// <param name="code">节点操作码 agree 同意 disagree 不同意 lrtimeout 超时</param>
  40. /// <returns>节点信息列表</returns>
  41. List<NWFNodeInfo> GetNextNodes(string nodeId, string code, List<NWFLineInfo> lineList, bool overFW = false);
  42. /// <summary>
  43. /// 获取上一节点列表
  44. /// </summary>
  45. /// <param name="nodeId">当前节点Id</param>
  46. /// <returns></returns>
  47. List<string> GetPreNodes(string nodeId);
  48. /// <summary>
  49. /// 判断两节点是否连接
  50. /// </summary>
  51. /// <param name="formNodeId">开始节点</param>
  52. /// <param name="toNodeId">结束节点</param>
  53. /// <returns></returns>
  54. bool IsToNode(string formNodeId, string toNodeId);
  55. #endregion
  56. #region 流程运行操作方法
  57. /// <summary>
  58. /// 获取配置参数信息
  59. /// </summary>
  60. /// <returns></returns>
  61. NWFEngineParamConfig GetConfig();
  62. /// <summary>
  63. /// 获取接下来的任务节点信息
  64. /// </summary>
  65. /// <param name="beginNode">起始节点</param>
  66. /// <param name="code">节点操作码 agree 同意 disagree 不同意 lrtimeout 超时</param>
  67. /// <param name="isGetAuditors">是否获取下一节点审核人</param>
  68. /// <param name="lineList">经过的线段需要执行操作的</param>
  69. /// <returns></returns>
  70. List<NWFNodeInfo> GetNextTaskNode(NWFNodeInfo beginNode, string code, bool isGetAuditors, List<NWFLineInfo> lineList, bool overWF = false);
  71. /// <summary>
  72. /// 获取上一步的任务节点信息(只有审批操作码为back(退回至上一个审核节点)情况下执行)【暂定】
  73. /// </summary>
  74. /// <param name="beginNode">起始节点</param>
  75. /// <param name="code">节点操作码 agree 同意 disagree 不同意 lrtimeout 超时 back 退回至上一个审核节点</param>
  76. /// <param name="isGetAuditors">是否获取下一节点审核人</param>
  77. /// <param name="lineList">经过的线段需要执行操作的</param>
  78. /// <returns></returns>
  79. List<NWFNodeInfo> GetPrevTaskNode(NWFNodeInfo beginNode, string code, bool isGetAuditors, List<NWFLineInfo> lineList, bool overWF = false);
  80. #endregion
  81. }
  82. }