コード例 #1
0
        /// <summary>
        /// 获取上级岗位数据
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public ActionResult GetTreeSelectJson(string deCode, string pDeCode, string code)
        {
            PositionSearchRequest request = new PositionSearchRequest()
            {
                DepartmentCode  = deCode,
                PDepartmentCode = pDeCode,
                PositionCode    = code
            };
            var data     = _position.GetListBySearch(request);
            var treeList = new List <TreeSelectModel>();

            foreach (var item in data)
            {
                TreeSelectModel treeModel = new TreeSelectModel();
                treeModel.id       = item.PositionCode;
                treeModel.text     = item.PositionName;
                treeModel.parentId = item.ParentPositionCode ?? "";
                //判断是否是第一级
                if (data.Count(t => t.PositionCode == item.ParentPositionCode) == 0)
                {
                    treeModel.parentId = "0";
                }
                treeList.Add(treeModel);
            }
            return(Content(treeList.TreeSelectJson()));
        }
コード例 #2
0
        /// <summary>
        /// 获取数据列表
        /// </summary>
        public List <PositionResponse> GetListBySearch(PositionSearchRequest request)
        {
            string sql = @"select 
                            tp.PositionCode,
                            tp.CreateUser,
                            ISNULL(tp.ParentPositionCode,0) AS ParentPositionCode,
                            tp.PositionName,
                            tp.DepartmentCode,
                            td.DepartmentName,
                            td.CompanyCode,
                            tu.UserName,
                            tc.CompanyFullName
                            from TbPosition tp 
                         left join TbDepartment td on tp.DepartmentCode=td.DepartmentCode
                         left join TbCompany tc on td.CompanyCode=tc.CompanyCode
                         left join TbUser tu on tu.UserCode=tp.CreateUser
                         where 1=1";

            if (!string.IsNullOrWhiteSpace(request.PositionName))
            {
                sql += " and  tp.PositionName like @name or tp.PositionCode like @name";
            }

            if (!string.IsNullOrWhiteSpace(request.FullCode))
            {
                //sql += " and (tc.CompanyCode in (select CompanyCode from TbCompany where CompanyCode=@fullCode or ParentCompanyCode=@fullCode)";
                //sql += " or td.DepartmentCode in (select DepartmentCode from TbDepartment where DepartmentCode=@fullCode or ParentDepartmentCode=@fullCode))";
                sql += " and (tp.CompanyCode =@fullCode";
                sql += " or tp.DepartmentCode=@fullCode)";
            }
            if (!string.IsNullOrEmpty(request.DepartmentCode) && !string.IsNullOrEmpty(request.PDepartmentCode))
            {
                sql += " and (tp.DepartmentCode =@departmentCode";
                sql += " or tp.DepartmentCode=@pdepartmentCode)";
            }
            //if(!string.IsNullOrEmpty(request.PositionCode))
            //    sql += " and tp.PositionCode!=@code";


            sql += " order by td.CompanyCode";
            var list = Db.Context.FromSql(sql)
                       .AddInParameter("@name", DbType.String, "%" + request.PositionName + "%")
                       .AddInParameter("@fullCode", DbType.String, request.FullCode)
                       .AddInParameter("@departmentCode", DbType.String, request.DepartmentCode)
                       .AddInParameter("@pdepartmentCode", DbType.String, request.PDepartmentCode)
                       .AddInParameter("@code", DbType.String, request.PositionCode)
                       .ToList <PositionResponse>();

            return(list);
        }
コード例 #3
0
        /// <summary>
        /// 获取分页列表数据
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public ActionResult GetGridJson(PositionSearchRequest request)
        {
            var data     = _position.GetListBySearch(request);
            var treeList = new List <TreeGridModel>();

            foreach (var item in data)
            {
                TreeGridModel treeModel   = new TreeGridModel();
                bool          hasChildren = data.Count(t => t.ParentPositionCode == item.PositionCode) == 0 ? false : true;
                if (data.Count(t => t.PositionCode == item.ParentPositionCode) == 0)
                {
                    item.ParentPositionCode = "0";
                }
                treeModel.id         = item.PositionCode;
                treeModel.isLeaf     = hasChildren;
                treeModel.parentId   = item.ParentPositionCode;
                treeModel.expanded   = hasChildren;
                treeModel.entityJson = item.ToJson();
                treeList.Add(treeModel);
            }

            return(Content(treeList.TreeGridJson()));
        }