/// <summary> /// 用途:撤回流程实例 /// 范围:大管理员|流程模型管理员 /// </summary> /// <param name="workflowInstanceGuid"></param> /// <returns></returns> public ResultMessage RecallWorkflowInstance(string workflowInstanceGuid) { WorkflowInstance wfi = this.GetWorkflowInstance(workflowInstanceGuid); ///加入权限控制大管理员|流程模型管理员 if (!(this.Context.CurUser.IsAdministrator() || wfi.GetWorkflow().Administrators.Contains(this.Context.CurUser, _uc))) { return new ResultMessage() { State = false, Message = "不在许可操作范围内!" } } ; ///不允许回收尚不在运行的流程实例 if (wfi.WorkflowState.Equals(eWorkflowState.Running)) { return new ResultMessage() { State = false, Message = "该流程实例无需回收!" } } ; wfi.Restart(); bool b = this.SetWorkflowInstance(wfi, eStoreType.Update); if (b) { return new ResultMessage() { State = true, Message = "撤回流程实例成功!" } } ; else { return new ResultMessage() { State = false, Message = "撤回流程实例失败!" } }; }