using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WorkFlowApi.Utility.WorkFlowEngine.Scheme; using WorkFlowApi.Utility.WorkFlowEngine.Scheme.Config; using WorkFlowApi.Utility.WorkFlowEngine.Scheme.Line; using WorkFlowApi.Utility.WorkFlowEngine.Scheme.Node; namespace WorkFlowApi.Utility.WorkFlowEngine { /// /// 工作流引擎 /// public interface WFIEngine { #region 流程模板操作方法 /// /// 获取流程模板 /// /// string GetScheme(); /// /// 获取流程模板 /// /// WFScheme GetSchemeObj(); /// /// 获取开始节点 /// /// 节点信息 WFNodeInfo GetStartNode(); /// /// 获取节点 /// /// 流程处理节点ID /// 节点信息 WFNodeInfo 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); string GetButonList(string nodeId, List lineList); /// /// 获取上一节点列表 /// /// 当前节点Id /// List GetPreNodes(string nodeId); /// /// 判断两节点是否连接 /// /// 开始节点 /// 结束节点 /// bool IsToNode(string formNodeId, string toNodeId); #endregion #region 流程运行操作方法 /// /// 获取配置参数信息 /// /// WFEngineParamConfig GetConfig(); /// /// 获取接下来的任务节点信息 /// /// 起始节点 /// 节点操作码 agree 同意 disagree 不同意 lrtimeout 超时 /// 是否获取下一节点审核人 /// 经过的线段需要执行操作的 /// List GetNextTaskNode(WFNodeInfo beginNode, string code, bool isGetAuditors, List lineList,string branchnodeCode = ""); #endregion } }