/// <summary> /// 取得当前组织与组织对应等级的子集 /// </summary> /// <param name="orgid"></param> /// <param name="getLevel"></param> /// <returns></returns> public Org_Detail[] GetCurrentOrgAndOrgParentIds(Org_Detail item, int getLevel = 0) { //TODO:OK,获取父级组织的核心方法 if (getLevel == 0) { return(new Org_Detail[1] { item }); } //获取指定等级的组织的父级ID List <int> list = (from e in ExpandHelper.ChangeToIntList(item.OrgParentIDALL.Replace("|", "")).Distinct() where e != 0 select e).ToList(); Org_Detail[] array = new Org_Detail[list.Count]; for (int i = 0; i < list.Count; i++) { //TODO:OK.遍历通过redis获取组织信息,当前组织的父级节点,到根节点3级左右 array[i] = _orgStore.GetModel(list[i]) ?? new Org_Detail(); } //获取大于等于指定级别的组织 return(array.Where(m => m.OrgLevelKey >= getLevel && m.OrgID > 0).OrderByDescending(b => b.OrgLevelKey).ToArray()); }