/// <summary> /// 获取当前节点信息 /// </summary> /// <param name="id">实例ID</param> /// <returns></returns> public dynamic Get(string id, string actorId) { WorkflowInstance instance = WorkflowInstance.GetInstance(id); var current = instance.Current; Dictionary <string, object> queryArg = new Dictionary <string, object> { { "actorID", actorId }, { "instanceID", id }, { "nodeID", current.NID } }; var pending = _pendingService.Query(queryArg).FirstOrDefault(); var hasAuth = (current.NodeType == WorkflowNodeCategory.Start && instance.State == WorkflowInstanceState.Running) ? true : instance.State == WorkflowInstanceState.Running && pending != null; return(new { current.NID, current.Name, Category = current.NodeType.ToString(), HasAuth = hasAuth }); }
public dynamic Get(ActorCommandDto dto) { WorkflowInstance instance = WorkflowInstance.GetInstance(dto.ID); IList <Pending> pendings = _pendingService.GetPending(instance.InstanceID, dto.ActorID); if (pendings.Count > 0) { var current = GetCurrent(instance, dto.ActorID); Dictionary <string, object> queryArg = new Dictionary <string, object> { { "actorID", dto.ActorID }, { "instanceID", dto.ID }, { "nodeID", current.NID } }; var pending = _pendingService.Query(queryArg).FirstOrDefault(); var hasAuth = (current.NodeType == WorkflowNodeCategory.Start && instance.State == WorkflowInstanceState.Running) ? true : instance.State == WorkflowInstanceState.Running && pending != null; return(new { current.NID, current.Name, Category = current.NodeType.ToString(), HasAuth = hasAuth }); } else { return(new { NID = Guid.NewGuid(), Name = instance.State == WorkflowInstanceState.End ? "结束" : "审批中", Category = instance.State == WorkflowInstanceState.End ? WorkflowNodeCategory.End.ToString() : WorkflowNodeCategory.Fork.ToString(), HasAuth = false }); } }
public IEnumerable <Pending> Get(string id) { return(_pendingService.Query(id)); }