using System.Collections.Generic; using System.Threading.Tasks; namespace learun.workflow { /// /// 版 本 EasyCode EC管理后台 /// Copyright (c) 2019-present EC管理有限公司 /// 创建人:tobin /// 日 期:2019.11.22 /// 描 述:工作流引擎 /// public interface NWFIEngine { #region 流程模板操作方法 /// /// 获取流程模板 /// /// string GetScheme(); /// /// 获取流程模板 /// /// NWFScheme GetSchemeObj(); /// /// 获取开始节点 /// /// 节点信息 NWFNodeInfo GetStartNode(); /// /// 获取节点 /// /// 流程处理节点ID /// 节点信息 NWFNodeInfo GetNode(string nodeId); /// /// 获取两节点间的线条 /// /// 开始节点 /// 结束节点 /// 线条列表 /// bool GetLines(string fromNodeId, string toNodeId, List list, Dictionary nodes = null); /// /// 获取下一节点 /// /// 当前节点Id /// 节点操作码 agree 同意 disagree 不同意 lrtimeout 超时 /// /// 节点信息列表 List GetNextNodes(string nodeId, string code, List lineList); /// /// 获取上一节点列表 /// /// 当前节点Id /// List GetPreNodes(string nodeId); /// /// 判断两节点是否连接 /// /// 开始节点 /// 结束节点 /// bool IsToNode(string formNodeId, string toNodeId); #endregion 流程模板操作方法 #region 流程运行操作方法 /// /// 获取配置参数信息 /// /// NWFEngineParamConfig GetConfig(); /// /// 获取接下来的任务节点信息 /// /// 起始节点 /// 节点操作码 agree 同意 disagree 不同意 lrtimeout 超时 /// 是否获取下一节点审核人 /// 经过的线段需要执行操作的 /// Task> GetNextTaskNode(NWFNodeInfo beginNode, string code, bool isGetAuditors, List lineList); #endregion 流程运行操作方法 } }