/// <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())); }
/// <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); }
/// <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())); }