Esempio n. 1
0
        /// <summary>
        /// 任务同级节点是否有一个通过
        /// </summary>
        /// <param name="user"></param>
        /// <param name="task">任务</param>
        /// <param name="nodeLevel">节点级别</param>
        /// <returns></returns>
        public ResultModel IsSameLevelNodeSuccessOnce(UserModel user, Task task, int nodeLevel)
        {
            ResultModel result = new ResultModel();

            try
            {
                SelectModel select = new SelectModel();
                select.ColumnName = "tn.TaskNodeId";
                select.OrderStr = "tn.TaskNodeId";
                select.PageIndex = 1;
                select.TableName = string.Format(" dbo.Wf_TaskNode tn inner join dbo.Wf_Node n on tn.NodeId = n.NodeId and n.NodeType <> {0} ", DetailProvider.Details(StyleEnum.NodeType)["Notify"].StyleDetailId);
                select.WhereStr = string.Format(" tn.NodeLevel ={0} and tn.NodeStatus ={1} and tn.TaskId = {2} ", nodeLevel, (int)StatusEnum.已生效, task.Id);
                select.PageSize = 20;

                TaskNodeDAL dal = new TaskNodeDAL();
                result = dal.Load(user, select);
                if (result.ResultStatus != 0)
                    return result;

                DataTable dt = new DataTable();
                if (result.ReturnValue != null)
                {
                    dt = (DataTable)result.ReturnValue;
                    result.AffectCount = dt.Rows.Count;
                }
                else
                {
                    result.ReturnValue = false;
                    return result;
                }

                result.Message = "查询成功";
                result.ResultStatus = 0;

                if (dt.Rows.Count > 0)
                    result.ReturnValue = true;
                else
                    result.ReturnValue = false;
            }
            catch (Exception ex)
            {
                result.Message = ex.Message;
                result.ReturnValue = ex;
            }

            return result;
        }