コード例 #1
0
ファイル: MainViewModel.cs プロジェクト: bisato/DW.WPFToolkit
 public MainViewModel()
 {
     MyItems = new ObservableCollection<TreeEntity>();
     var homer = new TreeEntity() {Name = "Homer"};
     homer.Children.Add(new TreeEntity(){Name = "Bart"});
     var marge = new TreeEntity() { Name = "Marge" };
     lisa = new TreeEntity() { Name = "Lisa" };
     marge.Children.Add(lisa);
     maggie = new TreeEntity() { Name = "Maggie" };
     marge.Children.Add(maggie);
     MyItems.Add(marge);
     MyItems.Add(homer);
 }
コード例 #2
0
        /// <summary>
        /// 科室列表
        /// </summary>
        /// <param name="keyword">关键字</param>
        /// <returns>返回机构+科室树形Json</returns>
        public ActionResult GetOrganizeTreeJson(string keyword)
        {
            //var organizedata = organizeCache.GetList();
            var organizedata = sysBLL.Get005Orgs(null).ToList();
            //var departmentdata = departmentBLL.GetList();
            var offiecesdata = sysBLL.GetPMR008OffiecesList();
            var treeList     = new List <TreeEntity>();

            foreach (PMR005OrgEntity item in organizedata)
            {
                #region 机构
                TreeEntity tree        = new TreeEntity();
                bool       hasChildren = organizedata.Count(t => t.PARENTORG == item.ORGCODE) == 0 ? false : true;
                if (hasChildren == false)
                {
                    hasChildren = offiecesdata.Count(t => t.ORGID == item.ORGID) == 0 ? false : true;
                    if (hasChildren == false)
                    {
                        continue;
                    }
                }
                tree.id    = item.ORGCODE;
                tree.text  = item.MANAGERORGNAME;
                tree.value = item.ORGCODE;
                //tree.parentId = item.PARENTORG;
                tree.parentId       = item.PARENTORG == "ROOT" ? "0" : item.PARENTORG;
                tree.isexpand       = true;
                tree.complete       = true;
                tree.hasChildren    = hasChildren;
                tree.Attribute      = "Sort";
                tree.AttributeValue = "Organize";
                treeList.Add(tree);
                #endregion
            }
            foreach (PMR008OffiecesEntity item in offiecesdata)
            {
                #region 部门
                TreeEntity tree = new TreeEntity();
                //bool hasChildren = departmentdata.Count(t => t.ParentId == item.DepartmentId) == 0 ? false : true;
                bool hasChildren = false;
                tree.id    = item.ID;
                tree.text  = item.OFFICENAME;
                tree.value = item.ID;
                //if (item.ParentId == "0")
                //{
                //tree.parentId = item.OrganizeId;
                tree.parentId = item.ORGID;
                //}
                //else
                //{
                //    tree.parentId = item.ParentId;
                //}
                tree.isexpand       = true;
                tree.complete       = true;
                tree.hasChildren    = hasChildren;
                tree.Attribute      = "Sort";
                tree.AttributeValue = "Department";
                treeList.Add(tree);
                #endregion
            }
            if (!string.IsNullOrEmpty(keyword))
            {
                treeList = treeList.TreeWhere(t => t.text.Contains(keyword), "id", "parentId");
            }
            return(Content(treeList.TreeToJson()));
        }
コード例 #3
0
        /// <summary>
        /// 部门列表
        /// </summary>
        /// <param name="keyword">关键字</param>
        /// <returns>返回机构+部门树形Json</returns>
        public ActionResult GetOrganizeTreeJson(string keyword)
        {
            var organizedata   = organizeCache.GetList();
            var departmentdata = departmentBLL.GetList();
            var treeList       = new List <TreeEntity>();

            foreach (OrganizeEntity item in organizedata)
            {
                #region 机构
                TreeEntity tree        = new TreeEntity();
                bool       hasChildren = organizedata.Count(t => t.ParentId == item.OrganizeId) == 0 ? false : true;
                if (hasChildren == false)
                {
                    hasChildren = departmentdata.Count(t => t.OrganizeId == item.OrganizeId) == 0 ? false : true;
                    //if (hasChildren == false)
                    //{
                    //    continue;
                    //}
                }
                tree.id             = item.OrganizeId;
                tree.text           = item.FullName;
                tree.value          = item.OrganizeId;
                tree.parentId       = item.ParentId;
                tree.isexpand       = true;
                tree.complete       = true;
                tree.hasChildren    = hasChildren;
                tree.Attribute      = "Sort";
                tree.AttributeValue = "Organize";
                treeList.Add(tree);
                #endregion
            }
            foreach (DepartmentEntity item in departmentdata)
            {
                #region 部门
                TreeEntity tree        = new TreeEntity();
                bool       hasChildren = departmentdata.Count(t => t.ParentId == item.DepartmentId) == 0 ? false : true;
                tree.id    = item.DepartmentId;
                tree.text  = item.FullName;
                tree.value = item.DepartmentId;
                if (item.ParentId == "0")
                {
                    tree.parentId = item.OrganizeId;
                }
                else
                {
                    tree.parentId = item.ParentId;
                }
                tree.isexpand       = true;
                tree.complete       = true;
                tree.hasChildren    = hasChildren;
                tree.Attribute      = "Sort";
                tree.AttributeValue = "Department";
                treeList.Add(tree);
                #endregion
            }
            if (!string.IsNullOrEmpty(keyword))
            {
                treeList = treeList.TreeWhere(t => t.text.Contains(keyword), "id", "parentId");
            }
            return(Content(treeList.TreeToJson()));
        }
コード例 #4
0
 public override void reset()
 {
     clipped    = false;
     targetTree = null;
     startTime  = 0;
 }
コード例 #5
0
        public ActionResult GetOccpuationalTreeJson(string Code, string keyword, int checkMode = 0, int mode = 0, string deptIds = "0")
        {
            DataItemBLL di = new DataItemBLL();
            //先获取到字典项
            DataItemEntity DataItems = di.GetEntityByCode(Code);

            DataItemDetailBLL did = new DataItemDetailBLL();
            //根据字典项获取值
            List <DataItemDetailEntity> didList = did.GetList(DataItems.ItemId).OrderBy(t => t.ItemValue).ToList();



            //didList = didList.Where(it => it.ParentId == "0").ToList();//这里主要是由于开发时缓存 多做了一遍筛选

            var treeList = new List <TreeEntity>();

            //获取所有父节点集合
            List <DataItemDetailEntity> parentList = didList.Where(it => it.ItemValue.Length == 2).ToList();

            //获取所有子节点节点集合
            List <DataItemDetailEntity> SunList = didList.Where(it => it.ItemValue.Length > 2).ToList();

            if (!string.IsNullOrEmpty(keyword))
            {
                SunList = SunList.Where(t => t.ItemName.Contains(keyword)).ToList();
            }

            //先绑定父级树
            foreach (DataItemDetailEntity oe in parentList)
            {
                treeList.Add(new TreeEntity
                {
                    id              = oe.ItemValue,
                    text            = oe.ItemName,
                    value           = oe.ItemValue,
                    parentId        = "0",
                    isexpand        = true,
                    complete        = true,
                    showcheck       = false,
                    hasChildren     = true,
                    Attribute       = "Sort",
                    AttributeValue  = "Parent",
                    AttributeA      = "manager",
                    AttributeValueA = "" + "," + "" + ",1"
                });
            }

            //再绑定子集树
            foreach (DataItemDetailEntity item in SunList)
            {
                int      chkState = 0;
                string[] arrids   = deptIds.Split(',');
                if (arrids.Contains(item.ItemValue))
                {
                    chkState = 1;
                }
                TreeEntity tree        = new TreeEntity();
                bool       hasChildren = false;
                tree.id              = item.ItemValue;
                tree.text            = item.ItemName;
                tree.value           = item.ItemValue;
                tree.isexpand        = true;
                tree.complete        = true;
                tree.checkstate      = chkState;
                tree.showcheck       = checkMode == 0 ? false : true;
                tree.hasChildren     = hasChildren;
                tree.parentId        = item.ItemValue.Substring(0, 2);
                tree.Attribute       = "Sort";
                tree.AttributeValue  = "Sun";
                tree.AttributeA      = "manager";
                tree.AttributeValueA = "" + "," + "" + "," + "2";
                treeList.Add(tree);
            }
            return(Content(treeList.TreeToJson()));
        }
コード例 #6
0
ファイル: TreeLogic.cs プロジェクト: zeevir/extensions
 public static short Level(this TreeEntity t) =>
 As.Expression(() => (short)t.Route.GetLevel());
コード例 #7
0
        public object GetTreeJson(GetUsersInput input)
        {
            var query = UserManager.Users.ToList();
            //.Include(u => u.Roles)
            //.WhereIf(input.Role.HasValue, u => u.Roles.Any(r => r.RoleId == input.Role.Value))
            //.WhereIf(
            //    !input.Filter.IsNullOrWhiteSpace(),
            //    u =>
            //        //u.Name.Contains(input.Filter) ||
            //        //u.Surname.Contains(input.Filter) ||
            //        u.UserName.Contains(input.Filter) ||
            //        u.EmailAddress.Contains(input.Filter)
            //);



            //var userCount = await query.CountAsync();
            //var users = await query
            //    .OrderBy(input.Sorting)
            //    .PageBy(input)
            //    .ToListAsync();



            var organizedata   = _organize.GetAll();
            var departmentdata = _department.GetAll();
            var userdata       = query;
            var treeList       = new List <TreeEntity>();

            foreach (Organize item in organizedata)
            {
                #region 机构
                TreeEntity tree        = new TreeEntity();
                bool       hasChildren = organizedata.Count(t => t.ParentId == item.OrganizeId) == 0 ? false : true;
                if (hasChildren == false)
                {
                    hasChildren = departmentdata.Count(t => t.OrganizeId == item.OrganizeId) == 0 ? false : true;
                    if (hasChildren == false)
                    {
                        continue;
                    }
                }
                tree.id             = item.OrganizeId;
                tree.text           = item.FullName;
                tree.value          = item.OrganizeId;
                tree.parentId       = item.ParentId;
                tree.isexpand       = true;
                tree.complete       = true;
                tree.hasChildren    = hasChildren;
                tree.Attribute      = "Sort";
                tree.AttributeValue = "Organize";
                treeList.Add(tree);
                #endregion
            }
            foreach (Department item in departmentdata)
            {
                #region 部门
                TreeEntity tree = new TreeEntity();
                tree.id    = item.DepartmentId;
                tree.text  = item.FullName;
                tree.value = item.DepartmentId;
                if (item.ParentId == "0")
                {
                    tree.parentId = item.OrganizeId;
                }
                else
                {
                    tree.parentId = item.ParentId;
                }
                tree.isexpand       = true;
                tree.complete       = true;
                tree.hasChildren    = true;
                tree.Attribute      = "Sort";
                tree.AttributeValue = "Department";
                treeList.Add(tree);
                #endregion
            }
            foreach (User item in userdata)
            {
                #region 用户
                TreeEntity tree = new TreeEntity();
                tree.id             = item.Id.ToString();
                tree.text           = item.RealName;
                tree.value          = item.UserName;
                tree.parentId       = item.DepartmentId;
                tree.title          = item.RealName + "(" + item.RealName + ")";
                tree.isexpand       = true;
                tree.complete       = true;
                tree.hasChildren    = false;
                tree.Attribute      = "Sort";
                tree.AttributeValue = "User";
                tree.img            = "fa fa-user";
                treeList.Add(tree);
                #endregion
            }
            //if (!string.IsNullOrEmpty(input.Filter))
            //{
            //    treeList = treeList.TreeWhere(t => t.text.Contains(input.Filter), "id", "parentId");
            //}
            return(Newtonsoft.Json.JsonConvert.DeserializeObject(treeList.TreeToJson()));
        }
コード例 #8
0
        public ActionResult GetTreeJson(string keyword)
        {
            var organizedata   = organizeCache.GetOrganizList().ToList();
            var departmentdata = departmentCache.GetList().ToList();
            var userdata       = userCache.GetList();
            var treeList       = new List <TreeEntity>();

            foreach (OrganizeEntity item in organizedata)
            {
                #region 机构

                TreeEntity tree        = new TreeEntity();
                bool       hasChildren = organizedata.Count(t => t.ParentId == item.Id) != 0;
                if (hasChildren == false)
                {
                    hasChildren = departmentdata.Count(t => t.OrganizeId == item.Id) != 0;
                    if (hasChildren == false)
                    {
                        continue;
                    }
                }
                tree.id             = item.Id;
                tree.text           = item.FullName;
                tree.value          = item.Id;
                tree.parentId       = item.ParentId;
                tree.isexpand       = true;
                tree.complete       = true;
                tree.hasChildren    = hasChildren;
                tree.Attribute      = "Sort";
                tree.AttributeValue = "Organize";
                treeList.Add(tree);

                #endregion 机构
            }
            foreach (DepartmentEntity item in departmentdata)
            {
                #region 部门

                TreeEntity tree = new TreeEntity();
                tree.id             = item.Id;
                tree.text           = item.FullName;
                tree.value          = item.Id;
                tree.parentId       = item.ParentId == "0" ? item.OrganizeId : item.ParentId;
                tree.isexpand       = true;
                tree.complete       = true;
                tree.hasChildren    = true;
                tree.Attribute      = "Sort";
                tree.AttributeValue = "Department";
                treeList.Add(tree);

                #endregion 部门
            }
            foreach (UserEntity item in userdata)
            {
                #region 用户

                TreeEntity tree = new TreeEntity();
                tree.id             = item.Id;
                tree.text           = item.RealName;
                tree.value          = item.Account;
                tree.parentId       = item.DepartmentId;
                tree.title          = item.RealName + "(" + item.Account + ")";
                tree.isexpand       = true;
                tree.complete       = true;
                tree.hasChildren    = false;
                tree.Attribute      = "Sort";
                tree.AttributeValue = "User";
                tree.img            = "fa fa-user";
                treeList.Add(tree);

                #endregion 用户
            }
            if (!string.IsNullOrEmpty(keyword))
            {
                treeList = treeList.TreeWhere(t => t.text.Contains(keyword), "id", "parentId");
            }
            return(Content(treeList.TreeToJson()));
        }
コード例 #9
0
        public object GetOrganizeTreeJson(string keyword)
        {
            var organizedata   = _organize.GetAll();
            var departmentdata = _department.GetAll();
            var treeList       = new List <TreeEntity>();

            foreach (Organize item in organizedata)
            {
                #region 机构
                TreeEntity tree        = new TreeEntity();
                bool       hasChildren = organizedata.Count(t => t.ParentId == item.OrganizeId) == 0 ? false : true;
                if (hasChildren == false)
                {
                    hasChildren = departmentdata.Count(t => t.OrganizeId == item.OrganizeId) == 0 ? false : true;
                    if (hasChildren == false)
                    {
                        continue;
                    }
                }
                tree.id             = item.OrganizeId;
                tree.text           = item.FullName;
                tree.value          = item.OrganizeId;
                tree.parentId       = item.ParentId;
                tree.isexpand       = true;
                tree.complete       = true;
                tree.hasChildren    = hasChildren;
                tree.Attribute      = "Sort";
                tree.AttributeValue = "Organize";
                treeList.Add(tree);
                #endregion
            }
            foreach (Department item in departmentdata)
            {
                #region 部门
                TreeEntity tree        = new TreeEntity();
                bool       hasChildren = departmentdata.Count(t => t.ParentId == item.DepartmentId) == 0 ? false : true;
                tree.id    = item.DepartmentId;
                tree.text  = item.FullName;
                tree.value = item.DepartmentId;
                if (item.ParentId == "0")
                {
                    tree.parentId = item.OrganizeId;
                }
                else
                {
                    tree.parentId = item.ParentId;
                }
                tree.isexpand       = true;
                tree.complete       = true;
                tree.hasChildren    = hasChildren;
                tree.Attribute      = "Sort";
                tree.AttributeValue = "Department";
                treeList.Add(tree);
                #endregion
            }
            if (!string.IsNullOrEmpty(keyword))
            {
                treeList = treeList.TreeWhere(t => t.text.Contains(keyword), "id", "parentId");
            }
            return(Newtonsoft.Json.JsonConvert.DeserializeObject(treeList.TreeToJson()));
        }
コード例 #10
0
        public void Generate(ValueStore keyStore)
        {
            Reset();

            if (park == null)
            {
                return;
            }

            var seed = 0;

            // Generate a random seed.
            foreach (char c in keyStore.Seed)
            {
                seed += (int)c;
            }

            _waterRandom = new SRandom(seed);
            _treeRandom  = new SRandom(seed);


            for (var z = 0; z <= park.zSize; z++)
            {
                for (var x = 0; x <= park.xSize; x++)
                {
                    // Calculate height of terrain patch based on perlin noise.
                    var y = (Mathf.PerlinNoise(x / (park.xSize * keyStore.PlainScale) + seed, z / (park.zSize * keyStore.PlainScale) + seed) *
                             (1 + keyStore.DitchRatio)) -
                            (float)keyStore.DitchRatio;
                    if (y < 0 && keyStore.DitchRatio != 0)
                    {
                        y /= keyStore.DitchRatio;
                    }


                    y = y * (y < 0 ? keyStore.MaxDepth : (float)keyStore.MaxHeight);
                    y = y > 0 ? Mathf.FloorToInt(y) : Mathf.CeilToInt(y);

                    // Generate terrain type for the terrain patch based on perlin noise.
                    if (keyStore.GenerateTerrainType)
                    {
                        var patch = park.getTerrain(x, z);
                        if (patch != null)
                        {
                            var types            = ScriptableSingleton <AssetManager> .Instance.terrainTypes.Length;
                            var terrainTypeIndex = Mathf.PerlinNoise(x / (park.xSize * keyStore.TerrainScale) + seed,
                                                                     z / (park.xSize * keyStore.TerrainScale) + seed);

                            patch.TerrainType = Mathf.FloorToInt(Mathf.Abs(terrainTypeIndex - 0.5f) * types);
                        }
                    }

                    // Limit heights near road.
                    var roadWidth = Mathf.Max(MIN_ROAD_WIDTH, keyStore.EntranceClearance);
                    if (x < roadWidth)
                    {
                        continue;
                    }

                    y = Mathf.Clamp(y, roadWidth - x, x - roadWidth);

                    // Limit heights near entrance.
                    var distanceToEntrance = Vector3.Distance(park.parkEntrances.First().transform.position,
                                                              new Vector3(x, GROUND_HEIGHT, z));

                    if (distanceToEntrance < roadWidth)
                    {
                        continue;
                    }

                    // If this location should be raised, change the hight of the patch and the ones around.
                    if (y != 0)
                    {
                        for (var cornerIndex = 0; cornerIndex < 4; cornerIndex++)
                        {
                            var ox = cornerIndex == 1 || cornerIndex == 2 ? 1 : 0;
                            var oz = cornerIndex == 2 || cornerIndex == 3 ? 1 : 0;

                            var patch = park.getTerrain(x - ox, z - oz);

                            if (patch != null)
                            {
                                var current = patch.h[cornerIndex] - DEF_HEIGHT;
                                patch.smoothChangeHeight(park, cornerIndex, y - current);
                            }
                        }
                    }
                }
            }

            // Randomly flood the map.
            for (var i = 0; i < keyStore.FloodRounds; i++)
            {
                var x = Mathf.RoundToInt(_waterRandom.NextFloat(keyStore.EntranceClearance, park.xSize));
                var z = Mathf.RoundToInt(_waterRandom.NextFloat(0, park.zSize));

                var patch = park.getTerrain(x, z);
                if (patch == null || patch.hasWater() || patch.getLowestHeight() >= GROUND_HEIGHT)
                {
                    continue;
                }

                WaterFlooding.flood(new Vector3(x, GROUND_HEIGHT - WATTER_OFFSET, z));
            }

            // Randomly spawn a forrest.
            for (var i = 0; i < keyStore.TreeCount; i++)
            {
                var x = Mathf.RoundToInt(_treeRandom.NextFloat(keyStore.EntranceClearance, park.xSize - PARK_FENCE_OFFSET));
                var z = Mathf.RoundToInt(_treeRandom.NextFloat(PARK_FENCE_OFFSET, park.zSize - PARK_FENCE_OFFSET));

                var patch = park.getTerrain(x, z);
                if (patch == null || patch.hasWater())
                {
                    continue;
                }

                var y = patch.getHighestHeight();
                if (y != patch.getLowestHeight())
                {
                    continue;
                }

                TreeEntity fir = null;
                foreach (var o in ScriptableSingleton <AssetManager> .Instance.getDecoObjects())
                {
                    if (o.getName().StartsWith("Fir") && o is TreeEntity)
                    {
                        fir = o as TreeEntity;
                    }
                }

                if (fir != null)
                {
                    var tree = ConfigWindow.Instantiate(fir);
                    tree.transform.position = new Vector3(x, y, z);
                    tree.transform.forward  = Vector3.forward;
                    tree.Initialize();
                    tree.startAnimateSpawn(Vector3.zero);
                }
            }
        }
コード例 #11
0
        public ActionResult GetDeptTreeJson()
        {
            //暂时取所有,后期用户权限开发完成,数据将通过权限下来进行展示
            Operator user = OperatorProvider.Provider.Current();
            List <OrganizeEntity>   organizedata   = new List <OrganizeEntity>();
            List <DepartmentEntity> departmentdata = new List <DepartmentEntity>();
            string roleNames = user.RoleName;

            if (user.IsSystem)
            {
                var organizedata1 = CacheFactory.Cache().GetCache <IEnumerable <OrganizeEntity> >(organizeBLL.cacheKey);//organizeCache.GetList();
                if (organizedata1 == null)
                {
                    organizedata1 = organizeBLL.GetList();
                }
                organizedata = organizedata1.ToList();
                var departmentdata1 = CacheFactory.Cache().GetCache <IEnumerable <DepartmentEntity> >(departmentBLL.cacheKey);//departmentCache.GetList();
                if (departmentdata1 == null)
                {
                    departmentdata1 = departmentBLL.GetList();
                }
                departmentdata = departmentdata1.ToList();
            }
            else
            {
                var organizedata1 = CacheFactory.Cache().GetCache <IEnumerable <OrganizeEntity> >(organizeBLL.cacheKey);//organizeCache.GetList();
                if (organizedata1 == null)
                {
                    organizedata1 = organizeBLL.GetList();
                }
                var departmentdata1 = CacheFactory.Cache().GetCache <IEnumerable <DepartmentEntity> >(departmentBLL.cacheKey);//departmentCache.GetList();
                if (departmentdata1 == null)
                {
                    departmentdata1 = departmentBLL.GetList();
                }

                organizedata = organizedata1.Where(t => t.OrganizeId == user.OrganizeId).OrderByDescending(x => x.CreateDate).ToList();

                //if (roleNames.Contains("公司级用户") || roleNames.Contains("厂级部门用户"))
                //{
                departmentdata = departmentdata1.OrderBy(x => x.SortCode).ToList();
                //}
                //else
                //{
                //    departmentdata = departmentCache.GetList(user.OrganizeId).Where(t => t.EnCode.Contains(user.DeptCode) || t.Description == "外包工程承包商").OrderBy(x => x.SortCode).ToList();
                //}
            }
            var treeList = new List <TreeEntity>();

            foreach (OrganizeEntity item in organizedata)
            {
                #region 机构
                //if (existAuthorizeData.Count(t => t.ResourceId == item.OrganizeId) == 0) continue;
                TreeEntity tree        = new TreeEntity();
                bool       hasChildren = organizedata.Count(t => t.ParentId == item.OrganizeId) == 0 ? false : true;
                if (hasChildren == false)
                {
                    hasChildren = departmentdata.Count(t => t.OrganizeId == item.OrganizeId) == 0 ? false : true;
                }
                tree.id              = item.OrganizeId;
                tree.text            = item.FullName;
                tree.value           = item.OrganizeId;
                tree.parentId        = item.ParentId;
                tree.isexpand        = true;
                tree.complete        = true;
                tree.hasChildren     = hasChildren;
                tree.Attribute       = "Sort";
                tree.AttributeValue  = "Organize";
                tree.AttributeA      = "EnCode";
                tree.AttributeValueA = item.EnCode;
                treeList.Add(tree);
                #endregion
            }
            foreach (DepartmentEntity item in departmentdata)
            {
                #region 部门
                TreeEntity tree = new TreeEntity();
                tree.id    = item.DepartmentId;
                tree.text  = item.FullName;
                tree.value = item.DepartmentId;
                if (item.ParentId == "0")
                {
                    tree.parentId = item.OrganizeId;
                }
                else
                {
                    tree.parentId = item.ParentId;
                }
                tree.isexpand        = true;
                tree.complete        = true;
                tree.hasChildren     = true;
                tree.Attribute       = "Sort";
                tree.AttributeValue  = (item.Nature == "分包商" || item.Nature == "承包商" || item.Description == "外包工程承包商") && !(roleNames.Contains("公司级用户") || roleNames.Contains("厂级部门用户")) ? "Contract" : "Department";
                tree.AttributeA      = "EnCode";
                tree.AttributeValueA = item.EnCode;
                treeList.Add(tree);
                #endregion
            }
            return(Content(treeList.TreeToJson()));
        }
コード例 #12
0
        public ActionResult GetDepartTreeJson()
        {
            //暂时取所有,后期用户权限开发完成,数据将通过权限下来进行展示
            var organizedata = CacheFactory.Cache().GetCache <IEnumerable <OrganizeEntity> >(organizeBLL.cacheKey);//organizeCache.GetList();

            if (organizedata == null)
            {
                organizedata = organizeBLL.GetList();
            }
            var departmentdata = CacheFactory.Cache().GetCache <IEnumerable <DepartmentEntity> >(departmentBLL.cacheKey);//departmentCache.GetList();

            if (departmentdata == null)
            {
                departmentdata = departmentBLL.GetList();
            }
            var treeList = new List <TreeEntity>();

            foreach (OrganizeEntity item in organizedata)
            {
                #region 机构
                TreeEntity tree        = new TreeEntity();
                bool       hasChildren = organizedata.Count(t => t.ParentId == item.OrganizeId) == 0 ? false : true;
                if (hasChildren == false)
                {
                    hasChildren = departmentdata.Count(t => t.OrganizeId == item.OrganizeId) == 0 ? false : true;
                }
                tree.id              = item.OrganizeId;
                tree.text            = item.FullName;
                tree.value           = item.OrganizeId;
                tree.parentId        = item.ParentId;
                tree.isexpand        = true;
                tree.complete        = true;
                tree.hasChildren     = hasChildren;
                tree.Attribute       = "Sort";
                tree.AttributeValue  = "Organize";
                tree.AttributeA      = "EnCode";
                tree.AttributeValueA = item.EnCode;
                treeList.Add(tree);
                #endregion
            }
            foreach (DepartmentEntity item in departmentdata)
            {
                #region 部门
                TreeEntity tree = new TreeEntity();
                tree.id    = item.DepartmentId;
                tree.text  = item.FullName;
                tree.value = item.DepartmentId;
                if (item.ParentId == "0")
                {
                    tree.parentId = item.OrganizeId;
                }
                else
                {
                    tree.parentId = item.ParentId;
                }
                tree.isexpand        = true;
                tree.complete        = true;
                tree.hasChildren     = true;
                tree.Attribute       = "Sort";
                tree.AttributeValue  = "Department";
                tree.AttributeA      = "EnCode";
                tree.AttributeValueA = item.EnCode;
                treeList.Add(tree);
                #endregion
            }
            return(Content(treeList.TreeToJson()));
        }
コード例 #13
0
        //[HandlerMonitor(3, "查询机构+部门+用户树形Json数据!")]
        public ActionResult GetTreeJson(string keyword)
        {
            var organizedata = CacheFactory.Cache().GetCache <IEnumerable <OrganizeEntity> >(organizeBLL.cacheKey);//organizeCache.GetList();

            if (organizedata == null)
            {
                organizedata = organizeBLL.GetList();
            }
            var departmentdata = CacheFactory.Cache().GetCache <IEnumerable <DepartmentEntity> >(departmentBLL.cacheKey);//departmentCache.GetList();

            if (departmentdata == null)
            {
                departmentdata = departmentBLL.GetList();
            }
            var userdata = CacheFactory.Cache().GetCache <IEnumerable <UserEntity> >(userBLL.cacheKey); //userCache.GetList();

            if (userdata == null)
            {
                userdata = userBLL.GetList();
            }
            var treeList = new List <TreeEntity>();

            foreach (OrganizeEntity item in organizedata)
            {
                #region 机构
                TreeEntity tree        = new TreeEntity();
                bool       hasChildren = organizedata.Count(t => t.ParentId == item.OrganizeId) == 0 ? false : true;
                if (hasChildren == false)
                {
                    hasChildren = departmentdata.Count(t => t.OrganizeId == item.OrganizeId) == 0 ? false : true;
                    //if (hasChildren == false)
                    //{
                    //    continue;
                    //}
                }
                tree.id             = item.OrganizeId;
                tree.text           = item.FullName;
                tree.value          = item.OrganizeId;
                tree.parentId       = item.ParentId;
                tree.isexpand       = true;
                tree.complete       = true;
                tree.hasChildren    = hasChildren;
                tree.Attribute      = "Sort";
                tree.AttributeValue = "Organize";
                treeList.Add(tree);
                #endregion
            }
            foreach (DepartmentEntity item in departmentdata)
            {
                #region 部门
                TreeEntity tree = new TreeEntity();
                tree.id    = item.DepartmentId;
                tree.text  = item.FullName;
                tree.value = item.DepartmentId;
                if (item.ParentId == "0")
                {
                    tree.parentId = item.OrganizeId;
                }
                else
                {
                    tree.parentId = item.ParentId;
                }
                tree.isexpand       = true;
                tree.complete       = true;
                tree.hasChildren    = true;
                tree.Attribute      = "Sort";
                tree.AttributeValue = "Department";
                treeList.Add(tree);
                #endregion
            }
            foreach (UserEntity item in userdata)
            {
                #region 用户
                TreeEntity tree = new TreeEntity();
                tree.id             = item.UserId;
                tree.text           = item.RealName;
                tree.value          = item.Account;
                tree.parentId       = item.DepartmentId;
                tree.title          = item.RealName + "(" + item.Account + ")";
                tree.isexpand       = true;
                tree.complete       = true;
                tree.hasChildren    = false;
                tree.Attribute      = "Sort";
                tree.AttributeValue = "User";
                tree.img            = "fa fa-user";
                treeList.Add(tree);
                #endregion
            }
            if (!string.IsNullOrEmpty(keyword))
            {
                treeList = treeList.TreeWhere(t => t.text.Contains(keyword), "id", "parentId");
            }
            return(Content(treeList.TreeToJson()));
        }
コード例 #14
0
        /// <summary>
        /// 获取类别
        /// </summary>
        /// <returns></returns>
        public ActionResult GetAllType()
        {
            var user = OperatorProvider.Provider.Current();

            var company = dept.GetCompany(user.DeptId);
            var depts   = dept.GetSubDepartments(company.DepartmentId, "集团,省级,厂级");
            var data    = ebll.GetAllType(depts.Select(x => x.DepartmentId).ToArray()).ToList();

            var treeList = new List <TreeEntity>();

            foreach (var item in depts)
            {
                bool       hasChild = depts.Where(x => x.ParentId == item.DepartmentId).Count() > 0 ? true : false || data.Where(x => x.deptid == item.DepartmentId).Count() > 0 ? true : false;
                TreeEntity tree     = new TreeEntity();
                tree.id             = item.DepartmentId;
                tree.text           = item.FullName;
                tree.value          = item.DepartmentId;
                tree.parentId       = item.ParentId;
                tree.isexpand       = true;
                tree.complete       = true;
                tree.hasChildren    = hasChild;
                tree.Attribute      = "Code";
                tree.AttributeValue = item.EnCode;
                //tree.AttributeA = "Scope";
                //tree.AttributeValueA = item.Scope;
                //tree.AttributeB = "Dept";
                //tree.AttributeValueB = item.Scope;

                treeList.Add(tree);
            }

            foreach (var item in data)
            {
                //bool hasChild = data.Where(x => x.ParentId == item.ID).Count() > 0 ? true : false;
                TreeEntity tree = new TreeEntity();
                tree.id             = item.TypeId;
                tree.text           = item.TypeName;
                tree.value          = item.TypeId;
                tree.parentId       = string.IsNullOrEmpty(item.ParentCardId) ? depts.FirstOrDefault(x => x.DepartmentId == item.deptid).DepartmentId : item.ParentCardId;
                tree.isexpand       = true;
                tree.complete       = true;
                tree.hasChildren    = data.Where(x => x.ParentCardId == tree.id).Count() > 0;
                tree.Attribute      = "Code";
                tree.AttributeValue = item.TypeId;
                //tree.AttributeA = "Scope";
                //tree.AttributeValueA = item.Scope;
                //tree.AttributeB = "Dept";
                //tree.AttributeValueB = item.Scope;

                treeList.Add(tree);
            }

            return(Content(treeList.TreeToJson(company.ParentId)));



            //string deptCode = string.Empty;
            //deptCode = user.DeptCode;
            //return Json(data.Where(x => x.ParentCardId == null).Select(x => new TreeModel
            //{
            //    id = x.TypeId,
            //    value = x.TypeId,
            //    text = x.TypeName,
            //    isexpand = data.Count(y => y.ParentCardId == x.TypeId) > 0,
            //    hasChildren = data.Count(y => y.ParentCardId == x.TypeId) > 0,
            //    ChildNodes = GetChildren(data, x.TypeId)
            //}).ToList(),
            //    JsonRequestBehavior.AllowGet);
        }
コード例 #15
0
 public TreeFellEvent(ref TreeEntity tree, ref INetObject killer) : base()
 {
     TreeEntity = tree;
     Killer     = killer;
 }
コード例 #16
0
        private List <TreeEntity> FilTreeTable(List <BpeVa001Model> dimensions, List <BpeVa003Model> themes, List <BpeVa004Model> factors)
        {
            var treeList = new List <TreeEntity>();

            //过滤列表
            //if (!string.IsNullOrEmpty(keyword))
            //{
            //    tableList = tableList.Where(t => t.CJBMC.Contains(keyword) || t.CJBQM.Contains(keyword)).ToList();
            //}
            foreach (var item in dimensions)
            {
                var        themeList   = themes.Where(t => t.SMBH == item.SMBH).ToList();
                TreeEntity tree        = new TreeEntity();
                bool       hasChildren = themeList.Count < 1 ? false : true;
                tree.id          = "C_" + item.SMBH;
                tree.text        = item.ZLZMB.Trim();
                tree.value       = "0";
                tree.isexpand    = true;
                tree.complete    = true;
                tree.showcheck   = true;
                tree.hasChildren = hasChildren;
                tree.parentId    = "0";
                tree.img         = "fa fa-sitemap";
                treeList.Add(tree);


                foreach (var theme in themeList)
                {
                    var        factorList = factors.Where(t => t.ZTBH == theme.ZTBH).ToList();
                    TreeEntity subTree    = new TreeEntity();
                    hasChildren         = factorList.Count < 1 ? false : true;
                    subTree.id          = "T_" + theme.ZTBH;
                    subTree.text        = theme.ZTMC.Trim();
                    subTree.value       = theme.ZTBH;
                    subTree.isexpand    = true;
                    subTree.complete    = true;
                    subTree.showcheck   = true;
                    subTree.hasChildren = hasChildren;
                    subTree.parentId    = tree.id;
                    subTree.title       = theme.ZTMC.Trim();
                    //tree.img = "fa fa-sitemap";
                    treeList.Add(subTree);


                    foreach (var factor in factorList)
                    {
                        TreeEntity subTree3 = new TreeEntity();
                        subTree3.id          = "F_" + factor.CSFBH;
                        subTree3.text        = factor.CSFMC.Trim();
                        subTree3.value       = factor.CSFBH;
                        subTree3.isexpand    = true;
                        subTree3.complete    = true;
                        subTree3.showcheck   = true;
                        subTree3.hasChildren = false;
                        subTree3.parentId    = subTree.id;
                        subTree3.title       = factor.CSFMC.Trim();
                        //tree.img = "fa fa-sitemap";
                        treeList.Add(subTree3);
                    }
                }
            }

            return(treeList);
        }
コード例 #17
0
 public bool HasOwnerPermissions(ClaimsPrincipal user, TreeEntity resource)
 {
     return(this.isOwner(user, resource) || this.isAdmin(user));
 }
コード例 #18
0
        /// <summary>
        /// 加载岗位
        /// <param name="ObjectId">对象主键</param>
        /// <param name="Category">对象分类:1-部门2-角色3-岗位4-群组</param>
        /// </summary>
        /// <returns></returns>
        public ActionResult ScopeUserList(string ObjectId, string Category, string nocheck)
        {
            string ModuleId = "58e86c4c-8022-4d30-95d5-b3d0eedcc878";

            DataTable DataList = Basedatascopepermissionbll.GetScopeUserList(ModuleId, ObjectId, Category);
            //补充部门下人员:
            //parentid='MJCompany' 取 id as department
            //SELECT * FROM BASEEMPLOYEE  WHERE DEPARTMENTID IN ('PDA20')


            List <TreeEntity> TreeList = new List <TreeEntity>();

            if (DataHelper.IsExistRows(DataList))
            {
                foreach (DataRow row in DataList.Rows)
                {
                    TreeEntity tree        = new TreeEntity();
                    string     PostId      = row["id"].ToString();
                    bool       hasChildren = false;
                    DataTable  childnode   = DataHelper.DataFilter(DataList, "parentid='" + PostId + "'");
                    if (childnode.Rows.Count > 0)
                    {
                        hasChildren = true;
                    }
                    else
                    {
                        if (row["sort"].ToString() == "Company" || row["sort"].ToString() == "Department")
                        {
                            continue;
                        }
                    }
                    if (row["parentid"].ToString() != "0")
                    {
                        tree.checkstate = row["objectid"].ToString() != "" ? 1 : 0;
                        tree.showcheck  = string.IsNullOrEmpty(nocheck) ? true : false;
                    }
                    tree.id          = PostId;
                    tree.text        = row["fullname"].ToString();
                    tree.value       = row["code"].ToString();
                    tree.parentId    = row["parentid"].ToString();
                    tree.isexpand    = true;
                    tree.complete    = true;
                    tree.hasChildren = hasChildren;
                    if (row["parentid"].ToString() == "0")
                    {
                        tree.img = "/Content/Images/Icon16/molecule.png";
                    }
                    else if (row["sort"].ToString() == "Company")
                    {
                        tree.img = "/Content/Images/Icon16/hostname.png";
                    }
                    else if (row["sort"].ToString() == "Department")
                    {
                        tree.img = "/Content/Images/Icon16/chart_organisation.png";
                    }
                    else if (row["sort"].ToString() == "User")
                    {
                        if (row["gender"].ToString() == "男")
                        {
                            tree.img = "/Content/Images/Icon16/user_green.png";
                        }
                        else if (row["gender"].ToString() == "女")
                        {
                            tree.img = "/Content/Images/Icon16/user_female.png";
                        }
                    }
                    TreeList.Add(tree);
                }
            }
            return(Content(TreeList.TreeToJson()));
        }
コード例 #19
0
        private bool isOwner(ClaimsPrincipal user, TreeEntity resource)
        {
            TreeEntity tree = this.unitOfWork.TreeRepository.Get(tree => tree.Id == resource.Id, includeProperties: "Owner").FirstOrDefault();

            return(user.FindFirst(ClaimTypes.SerialNumber).Value == tree.Owner.Id.ToString());
        }
コード例 #20
0
        public ActionResult GetTreeJson(string keyword)
        {
            var organizedata   = organizeCache.GetList();
            var departmentdata = departmentCache.GetList();
            var userdata       = userCache.GetList();
            var treeList       = new List <TreeEntity>();

            foreach (AppOrganizeEntity item in organizedata)
            {
                #region 机构
                TreeEntity tree        = new TreeEntity();
                bool       hasChildren = organizedata.Count(t => t.ParentId == item.OrganizeId) == 0 ? false : true;
                //if (hasChildren == false)
                //{
                //    hasChildren = departmentdata.Count(t => t.OrganizeId == item.OrganizeId) == 0 ? false : true;
                //    if (hasChildren == false)
                //    {
                //        continue;
                //    }
                //}
                tree.id             = item.OrganizeId;
                tree.text           = item.FullName;
                tree.value          = item.OrganizeId;
                tree.parentId       = item.ParentId;
                tree.isexpand       = true;
                tree.complete       = true;
                tree.hasChildren    = hasChildren;
                tree.Attribute      = "Sort";
                tree.AttributeValue = "Organize";
                treeList.Add(tree);
                #endregion
            }
            foreach (AppDepartmentEntity item in departmentdata)
            {
                #region 部门
                TreeEntity tree = new TreeEntity();
                tree.id    = item.DepartCode;
                tree.text  = item.DepartName;
                tree.value = item.DepartCode;
                if (item.ParentNo == "01")
                {
                    tree.parentId = item.ParentNo;
                }
                else
                {
                    tree.parentId = item.ParentNo;
                }
                tree.isexpand       = true;
                tree.complete       = true;
                tree.hasChildren    = true;
                tree.Attribute      = "Sort";
                tree.AttributeValue = "Department";
                treeList.Add(tree);
                #endregion
            }
            foreach (AppUserEntity item in userdata)
            {
                #region 用户
                TreeEntity tree = new TreeEntity();
                tree.id             = item.isid.ToString();
                tree.text           = item.UserName;
                tree.value          = item.Account;
                tree.parentId       = "";// item.DepartmentId;
                tree.title          = item.UserName + "(" + item.Account + ")";
                tree.isexpand       = true;
                tree.complete       = true;
                tree.hasChildren    = false;
                tree.Attribute      = "Sort";
                tree.AttributeValue = "User";
                tree.img            = "fa fa-user";
                treeList.Add(tree);
                #endregion
            }
            if (!string.IsNullOrEmpty(keyword))
            {
                treeList = treeList.TreeWhere(t => t.text.Contains(keyword), "id", "parentId");
            }
            return(Content(treeList.TreeToJson()));
        }
コード例 #21
0
 public abstract byte[] Convert(TreeEntity file);
コード例 #22
0
        public async Task <PermissionModel> GetModuleAndRoutePermission(int category, string objectId, string dataBaseName)
        {
            var existList = await authorizeRepo.GetListAsync(a => a.Category == category && a.ObjectId == objectId, dataBaseName);

            var moduleList = await moduleRepo.GetListAsync(m => m.EnabledMark == 1 && m.ModuleId != "c1d4085e-df18-4584-8315-f14da229f6c9" && m.ModuleId != "ff01c3d3-9690-4848-8001-066831f6250c");

            var moduleTreeList    = new List <TreeEntity>();
            var moduleChecked     = new List <TreeEntity>();
            var moduleHalfChecked = new List <string>();

            var moduleIds = GetModules(moduleList, "c1d4085e-df18-4584-8315-f14da229f6c9").Select(m => m.ModuleId);

            moduleIds.ToList().AddRange(GetModules(moduleList, "ff01c3d3-9690-4848-8001-066831f6250c").Select(m => m.ModuleId));

            moduleList = moduleList.ToList().FindAll(m => !(moduleIds.Any(id => id == m.ModuleId)));

            moduleList.OrderBy(o => o.SortCode).ToList().ForEach(module =>
            {
                var check     = existList.Count(t => t.ItemId == module.ModuleId && t.ItemType == 1 && t.IsHalf == 0);
                var halfCheck = existList.Count(t => t.ItemId == module.ModuleId && t.ItemType == 1 && t.IsHalf == 1);
                if (halfCheck > 0)
                {
                    moduleHalfChecked.Add(module.ModuleId);
                }
                TreeEntity tree = new TreeEntity
                {
                    id       = module.ModuleId,
                    parentId = module.ParentId,
                    label    = module.FullName
                };
                moduleTreeList.Add(tree);
                if (check > 0)
                {
                    moduleChecked.Add(tree);
                }
            });

            var buttonList = await buttonRepo.GetListAsync();

            var columnList = await columnRepo.GetListAsync();

            var routeList = await routeRepo.GetListAsync(dataBaseName);

            var routeTreeList = new List <TreeEntity>();
            var routeChecked  = new List <TreeEntity>();

            routeList.OrderBy(o => o.CreateDate).ToList().ForEach(route =>
            {
                var check       = existList.Count(t => t.ItemId == route.RouteId && t.ItemType == 4 && t.IsHalf == 0);
                TreeEntity tree = new TreeEntity
                {
                    id       = route.RouteId,
                    parentId = route.ParentId,
                    label    = route.RouteName
                };
                routeTreeList.Add(tree);
                if (check > 0)
                {
                    routeChecked.Add(tree);
                }
            });

            PermissionModel permissionModel = new PermissionModel
            {
                Authorizes         = existList.ToList(),
                ModulePermission   = moduleTreeList.TreeToJson(),
                ModuleCheckeds     = moduleChecked,
                RoutePermission    = routeTreeList.TreeToJson(),
                RouteCheckeds      = routeChecked,
                ButtonList         = buttonList.OrderBy(o => o.SortCode).ToList(),
                ColumnList         = columnList.OrderBy(o => o.SortCode).ToList(),
                ModuleHalfCheckeds = moduleHalfChecked
            };

            return(permissionModel);
        }
コード例 #23
0
        public PermissionModel GetButtonAndColumnPermission(List <string> halfKeys, List <string> checkedKeys, string strAuthorizes, string strModules, string strButtons, string strColumns)
        {
            List <Authorize>    authorizes = Utility.Tools.JsonUtils.ToObject <List <Authorize> >(strAuthorizes);
            List <TreeEntity>   modules    = Utility.Tools.JsonUtils.ToObject <List <TreeEntity> >(strModules);
            List <ModuleButton> buttons    = Utility.Tools.JsonUtils.ToObject <List <ModuleButton> >(strButtons);
            List <ModuleColumn> columns    = Utility.Tools.JsonUtils.ToObject <List <ModuleColumn> >(strColumns);

            var moduleId = halfKeys.Concat(checkedKeys).Distinct().ToList();
            var mods     = modules.Where(m => moduleId.Any(c => c == m.id)).ToList();
            var btns     = buttons.Where(b => checkedKeys.Any(c => c == b.ModuleId)).ToList();
            var cols     = columns.Where(b => checkedKeys.Any(c => c == b.ModuleId)).ToList();

            var treeList = new List <TreeEntity>();

            mods.ForEach(module =>
            {
                TreeEntity tree = new TreeEntity
                {
                    id       = module.id,
                    parentId = module.parentId,
                    label    = module.label
                };
                treeList.Add(tree);
            });

            var buttonTreeList = new List <TreeEntity>();

            buttonTreeList.AddRange(treeList);
            var buttonChecked = new List <TreeEntity>();

            btns.OrderBy(o => o.SortCode).ToList().ForEach(button =>
            {
                var check       = authorizes.Count(t => t.ItemId == button.ModuleButtonId && t.ItemType == 2 && t.IsHalf == 0);
                TreeEntity tree = new TreeEntity
                {
                    id       = button.ModuleButtonId,
                    parentId = button.ParentId == "0" ? button.ModuleId : button.ParentId,
                    label    = button.FullName
                };
                buttonTreeList.Add(tree);
                if (check > 0)
                {
                    buttonChecked.Add(tree);
                }
            });
            var columnTreeList = new List <TreeEntity>();

            columnTreeList.AddRange(treeList);
            var columnChecked = new List <TreeEntity>();

            cols.OrderBy(o => o.SortCode).ToList().ForEach(column =>
            {
                var check       = authorizes.Count(t => t.ItemId == column.ModuleColumnId && t.ItemType == 3 && t.IsHalf == 0);
                TreeEntity tree = new TreeEntity
                {
                    id       = column.ModuleColumnId,
                    parentId = column.ParentId ?? column.ModuleId,
                    label    = column.FullName
                };
                columnTreeList.Add(tree);
                if (check > 0)
                {
                    columnChecked.Add(tree);
                }
            });
            PermissionModel permissionModel = new PermissionModel
            {
                ButtonPermission = buttonTreeList.TreeToJson(),
                ButtonCheckeds   = buttonChecked,
                ColumnPermission = columnTreeList.TreeToJson(),
                ColumnCheckeds   = columnChecked
            };

            return(permissionModel);
        }
コード例 #24
0
        public Tuple <dynamic, DataTable, List <TreeEntity>, DataTable, DataTable, TreeModel[], DataTable> GetRoleElement(ROLEEntity Data)
        {
            string sql = $@"SELECT A.*,B.ORGIDCASCADER  FROM ROLE A,ORG B  WHERE A.ORGID=B.ORGID ";

            if (!Data.ROLEID.IsEmpty())
            {
                sql += (" AND ROLEID= " + Data.ROLEID);
            }
            DataTable role = DbHelper.ExecuteTable(sql);

            //更改权限列表为树 by:DZK
            string sql1 = @" SELECT NVL(U.MENUID,0) MENUID,U.MODULECODE,U.MODULENAME,nvl(substr(U.MODULECODE,0,LENGTH(U.MODULECODE)-2),0) parentid,R.ROLEID IsChecked FROM USERMODULE U
                    LEFT JOIN ROLE_MENU R ON U.MODULECODE=R.MODULECODE  AND U.MENUID=R.MENUID AND R.ROLEID = " + Data.ROLEID + @"
                    WHERE U.ENABLE_FLAG=1                       
	                    ORDER BY U.MODULECODE"    ;
            List <USERMODULEEntity> um       = DbHelper.ExecuteTable(sql1).ToList <USERMODULEEntity>();;
            List <TreeEntity>       treeList = new List <TreeEntity>();

            foreach (var item in um)
            {
                TreeEntity node = new TreeEntity();
                node.value    = item.MENUID;
                node.code     = item.MODULECODE;
                node.@checked = !item.IsChecked.IsNullValue();
                node.title    = item.MODULENAME;
                node.expand   = false;
                node.parentId = item.PARENTID;
                treeList.Add(node);
            }
            var module = treeList.ToTree();

            //费用
            string sqlFee = $@" SELECT TRIMID FROM  ROLE_FEE WHERE 1=1";

            if (!Data.ROLEID.IsEmpty())
            {
                sqlFee += (" AND ROLEID= " + Data.ROLEID);
            }
            DataTable fee = DbHelper.ExecuteTable(sqlFee);


            //业态
            string sqlYt = $@" SELECT YTID ID FROM  ROLE_YT WHERE 1=1";

            if (!Data.ROLEID.IsEmpty())
            {
                sqlYt += (" AND ROLEID= " + Data.ROLEID);
            }
            DataTable yt = DbHelper.ExecuteTable(sqlYt);

            //区域
            string sqlRegion = $@" SELECT REGIONID FROM  ROLE_REGION WHERE 1=1";

            if (!Data.ROLEID.IsEmpty())
            {
                sqlRegion += (" AND ROLEID= " + Data.ROLEID);
            }
            DataTable region = DbHelper.ExecuteTable(sqlRegion);
            //业态
            string sqlYt2 = "select G.CATEGORYID,G.CATEGORYCODE,G.CATEGORYNAME,Y.YTID LEVEL_LAST from CATEGORY G,ROLE_YT Y where G.CATEGORYID =Y.YTID(+) ";

            sqlYt2 += (" AND Y.ROLEID(+)= " + Data.ROLEID);
            sqlYt2 += " order by G.CATEGORYCODE";

            List <CATEGORYEntity> p = DbHelper.ExecuteTable(sqlYt2).ToList <CATEGORYEntity>();

            var ytTreeData = TreeModel.Create(p,
                                              a => a.CATEGORYCODE,
                                              a => new TreeModel()
            {
                value    = a.CATEGORYID,
                @checked = !a.LEVEL_LAST.IsNullValue(),
                code     = a.CATEGORYCODE,
                title    = a.CATEGORYCODE + " " + a.CATEGORYNAME,
                expand   = false
            })?.ToArray();
            //门店
            string sqlbranch = $@"select B.ID BRANCHID,B.NAME from BRANCH B,ROLE_BRANCH R WHERE B.ID=R.BRANCHID ";

            if (!Data.ROLEID.IsEmpty())
            {
                sqlbranch += (" AND ROLEID= " + Data.ROLEID);
            }
            DataTable branch = DbHelper.ExecuteTable(sqlbranch);

            //预警
            string sqlalert = $@"select B.ID ALERTID,B.MC NAME from DEF_ALERT B,ROLE_ALERT R WHERE B.ID=R.ALERTID";

            if (!Data.ROLEID.IsEmpty())
            {
                sqlalert += (" AND ROLEID= " + Data.ROLEID);
            }
            DataTable alert = DbHelper.ExecuteTable(sqlalert);

            return(new Tuple <dynamic, DataTable, List <TreeEntity>, DataTable, DataTable, TreeModel[], DataTable>(role.ToOneLine(), fee, module, alert, region, ytTreeData, branch));
        }
コード例 #25
0
        public ActionResult GetSuperiorDataJson(string orgID = "0", string keyword = "")
        {
            var user = OperatorProvider.Provider.Current();//所属公司

            var list = SafetyMeshbll.GetListForCon(x => x.CreateUserOrgCode == user.OrganizeCode).ToList();
            List <SafetyMeshEntity> meshdata = new List <SafetyMeshEntity>();

            if (!string.IsNullOrEmpty(keyword))
            {
                list = list.Where(t => t.MeshName.Contains(keyword.Trim())).ToList();
            }
            meshdata = list.OrderBy(a => a.SortCode).ToList();
            if (orgID != "0")
            {
                meshdata = meshdata.Where(a => a.CreateUserOrgCode == orgID).ToList();
            }
            //List<SafetyMeshEntity> list1 = new List<SafetyMeshEntity>();
            //foreach (SafetyMeshEntity entity in meshdata)
            //{
            //    string code = string.Empty;
            //    if (entity.DistrictCode.Length > 5)
            //    {
            //        code = entity.DistrictCode.Substring(0, 6);
            //    }
            //    else
            //    {
            //        code = entity.DistrictCode.Substring(0, 3);
            //    }
            //    if (districtdata.Where(t => t.DistrictCode == code).Count() == 0)
            //    {
            //        DistrictEntity de = list.Where(t => t.DistrictCode == code).FirstOrDefault();
            //        if (de != null)
            //        {
            //            if (!list1.Contains(de))
            //            {
            //                list1.Add(de);
            //            }
            //        }
            //    }
            //}
            //meshdata = meshdata.Concat(list).ToList();
            meshdata = meshdata.OrderBy(t => t.SortCode).ToList();
            List <TreeEntity> treeList = new List <TreeEntity>();

            //集合
            //var data = SafetyMeshbll.GetList(null);


            //var treeList = new List<TreeEntity>();
            foreach (SafetyMeshEntity item in meshdata)
            {
                TreeEntity tree        = new TreeEntity();
                bool       hasChildren = meshdata.Where(p => p.SuperiorId == item.Id).ToList().Count() == 0 ? false : true;
                tree.id             = item.Id;
                tree.text           = item.MeshName;
                tree.value          = item.Id;
                tree.complete       = true;
                tree.hasChildren    = string.IsNullOrEmpty(keyword) ? hasChildren : false;
                tree.parentId       = string.IsNullOrEmpty(keyword) ? (item.SuperiorId == null ? "0" : item.SuperiorId) : "0";
                tree.Attribute      = "Code";
                tree.AttributeValue = item.MeshRank;
                tree.isexpand       = false;
                tree.showcheck      = true;
                treeList.Add(tree);
            }
            if (treeList.Count > 0)
            {
                treeList[0].isexpand = true;
            }
            return(Content(treeList.TreeToJson()));
        }
コード例 #26
0
ファイル: PMR009UserController.cs プロジェクト: ZzzJimmy/-
        /// <summary>
        /// 科室列表
        /// </summary>
        /// <param name="keyword">关键字</param>
        /// <returns>返回机构+科室树形Json</returns>

        #region 获取数据
        public ActionResult GetMorTreeJson(string value)
        {
            var    mordata      = sysBLL.GetOrgs(null).ToList();
            string parentId     = value == null ? "ROOT" : value;
            var    orgdata      = sysBLL.GetPMR002MorDeptList(parentId).ToList();
            var    organizedata = sysBLL.Get005Orgs(null).ToList();
            var    offiecesdata = sysBLL.GetPMR008OffiecesList();
            var    treeList     = new List <TreeEntity>();

            foreach (PMR001MorEntity item in mordata)
            {
                #region 机构
                TreeEntity tree        = new TreeEntity();
                bool       hasChildren = false;
                if (hasChildren == false)
                {
                    hasChildren = orgdata.Count(t => t.ORGID == item.ORGID) == 0 ? false : true;
                    if (hasChildren == false)
                    {
                        hasChildren = organizedata.FirstOrDefault() != null;
                        if (hasChildren == false)
                        {
                            continue;
                        }
                    }
                }
                tree.id          = item.ORGID;
                tree.text        = item.ORGNAME;
                tree.value       = item.ORGID;
                tree.parentId    = item.PID == "ROOT" ? "0" : item.PID;
                tree.isexpand    = true;
                tree.complete    = true;
                tree.hasChildren = hasChildren;
                tree.Attribute   = "Sort";
                //tree.AttributeValue = "Organize-" + item.ID;
                tree.AttributeValue = "Mor";
                treeList.Add(tree);
                #endregion
            }
            foreach (PMR002MorDeptEntity item in orgdata)
            {
                #region 部门
                TreeEntity tree        = new TreeEntity();
                bool       hasChildren = orgdata.Count(t => t.PARENTDEPT == item.DEPTID) == 0 ? false : true;
                tree.id    = item.DEPTID;
                tree.text  = item.DEPTNAME;
                tree.value = item.DEPTID;
                if (item.PARENTDEPT == "ROOT")
                {
                    tree.parentId = item.ORGID;
                }
                else
                {
                    tree.parentId = item.PARENTDEPT;
                }
                tree.isexpand    = true;
                tree.complete    = true;
                tree.hasChildren = hasChildren;
                tree.Attribute   = "Sort";
                //tree.AttributeValue = "Department-" + item.ORGID;
                tree.AttributeValue = "Department";
                treeList.Add(tree);
                #endregion
            }

            foreach (PMR005OrgEntity item in organizedata)
            {
                #region 机构
                TreeEntity tree        = new TreeEntity();
                bool       hasChildren = organizedata.Count(t => t.PARENTORG == item.ORGCODE) == 0 ? false : true;
                if (hasChildren == false)
                {
                    hasChildren = offiecesdata.Count(t => t.ORGID == item.ORGID) == 0 ? false : true;
                    if (hasChildren == false)
                    {
                        continue;
                    }
                }
                tree.id    = item.ORGCODE;
                tree.text  = item.MANAGERORGNAME;
                tree.value = item.ORGCODE;
                //tree.parentId = item.PARENTORG;
                //tree.parentId = item.PARENTORG == "ROOT" ? "0" : item.PARENTORG;
                if (item.PARENTORG == "ROOT")
                {
                    if (mordata != null && mordata.Count > 0)
                    {
                        tree.parentId = mordata.FirstOrDefault().ORGID;
                    }
                    else
                    {
                        tree.parentId = "0";
                    }
                }
                else
                {
                    tree.parentId = item.PARENTORG;
                }
                tree.isexpand       = true;
                tree.complete       = true;
                tree.hasChildren    = hasChildren;
                tree.Attribute      = "Sort";
                tree.AttributeValue = "Organize";
                treeList.Add(tree);
                #endregion
            }
            foreach (PMR008OffiecesEntity item in offiecesdata)
            {
                #region 部门
                TreeEntity tree        = new TreeEntity();
                bool       hasChildren = false;
                tree.id             = item.ID;
                tree.text           = item.OFFICENAME;
                tree.value          = item.ID;
                tree.parentId       = item.ORGID;
                tree.isexpand       = true;
                tree.complete       = true;
                tree.hasChildren    = hasChildren;
                tree.Attribute      = "Sort";
                tree.AttributeValue = "Department";
                treeList.Add(tree);
                #endregion
            }
            return(Content(treeList.TreeToJson()));
        }
コード例 #27
0
 public static short Level(this TreeEntity e)
 {
     return(LevelExpression.Evaluate(e));
 }
コード例 #28
0
        public ActionResult AuthorizeDataTreeJson(string userid)
        {
            var existAuthorizeData = userAuthorize.GetUserAuthorizeListStr(userid);
            var data = new List <AuthorizeOrganizeEntity>();
            //驾校
            AuthorizeOrganizeEntity o = new AuthorizeOrganizeEntity();

            o.ParentId   = "0";
            o.ObjectId   = "A001";
            o.Level      = 1;
            o.ObjectName = RCHL.Model.Enums.OrganizeType.驾校机构.ToString();
            o.ObjectType = (int)RCHL.Model.Enums.OrganizeType.驾校机构;
            data.Add(o);

            //考场
            o            = new AuthorizeOrganizeEntity();
            o.ParentId   = "0";
            o.ObjectId   = "A002";
            o.Level      = 1;
            o.ObjectName = RCHL.Model.Enums.OrganizeType.考场机构.ToString();
            o.ObjectType = (int)RCHL.Model.Enums.OrganizeType.考场机构;
            data.Add(o);
            //年检机构
            o            = new AuthorizeOrganizeEntity();
            o.ParentId   = "0";
            o.ObjectId   = "A003";
            o.Level      = 1;
            o.ObjectName = RCHL.Model.Enums.OrganizeType.年检机构.ToString();
            o.ObjectType = (int)RCHL.Model.Enums.OrganizeType.年检机构;
            data.Add(o);
            //保险机构
            o            = new AuthorizeOrganizeEntity();
            o.ParentId   = "0";
            o.ObjectId   = "A004";
            o.Level      = 1;
            o.ObjectName = RCHL.Model.Enums.OrganizeType.保险机构.ToString();
            o.ObjectType = (int)RCHL.Model.Enums.OrganizeType.保险机构;
            data.Add(o);
            //店铺机构
            o            = new AuthorizeOrganizeEntity();
            o.ParentId   = "0";
            o.ObjectId   = "A005";
            o.Level      = 1;
            o.ObjectName = RCHL.Model.Enums.OrganizeType.店铺机构.ToString();
            o.ObjectType = (int)RCHL.Model.Enums.OrganizeType.店铺机构;
            data.Add(o);
            //驾校
            var schoollist = schoolBLL.GetList(new SchoolEntity()
            {
                IsTraining = 0
            });

            if (schoollist != null)
            {
                foreach (var item in schoollist)
                {
                    o            = new AuthorizeOrganizeEntity();
                    o.ParentId   = "A001";
                    o.ObjectId   = item.SchoolId;
                    o.ObjectName = item.Name;
                    o.ObjectType = (int)RCHL.Model.Enums.OrganizeType.驾校机构;
                    data.Add(o);
                }
            }

            //考场
            schoollist = schoolBLL.GetList(new SchoolEntity()
            {
                IsTraining = 1
            });
            if (schoollist != null)
            {
                foreach (var item in schoollist)
                {
                    o            = new AuthorizeOrganizeEntity();
                    o.ParentId   = "A002";
                    o.ObjectId   = item.SchoolId;
                    o.ObjectName = item.Name;
                    o.ObjectType = (int)RCHL.Model.Enums.OrganizeType.驾校机构;
                    data.Add(o);
                }
            }

            //年检机构

            var auditOrganizationlist = auditOrganizationBLL.GetList(null);

            if (auditOrganizationlist != null)
            {
                foreach (var item in auditOrganizationlist)
                {
                    o            = new AuthorizeOrganizeEntity();
                    o.ParentId   = "A003";
                    o.ObjectId   = item.OrganizationId;
                    o.ObjectName = item.Name;
                    o.ObjectType = (int)RCHL.Model.Enums.OrganizeType.年检机构;
                    data.Add(o);
                }
            }
            //保险机构
            var insurancelist = insuranceCommpayBLL.GetList(null);

            if (insurancelist != null)
            {
                foreach (var item in insurancelist)
                {
                    o            = new AuthorizeOrganizeEntity();
                    o.ParentId   = "A004";
                    o.ObjectId   = item.InsuranceCommpayId;
                    o.ObjectName = item.Name;
                    o.ObjectType = (int)RCHL.Model.Enums.OrganizeType.保险机构;
                    data.Add(o);
                }
            }
            //店铺机构
            var shoplist = shopBLL.GetList(null);

            if (shoplist != null)
            {
                foreach (var item in shoplist)
                {
                    o            = new AuthorizeOrganizeEntity();
                    o.ParentId   = "A005";
                    o.ObjectId   = item.ShopId;
                    o.ObjectName = item.Name;
                    o.ObjectType = (int)RCHL.Model.Enums.OrganizeType.店铺机构;
                    data.Add(o);
                }
            }

            var treeList = new List <TreeEntity>();

            foreach (AuthorizeOrganizeEntity item in data)
            {
                TreeEntity tree        = new TreeEntity();
                bool       hasChildren = data.Count(t => t.ParentId == item.ObjectId) == 0 ? false : true;
                if (hasChildren == false && item.Level == 1)
                {
                    continue;
                }
                tree.id          = item.ObjectId;
                tree.text        = item.ObjectName;
                tree.value       = item.ObjectId;
                tree.title       = "";
                tree.checkstate  = existAuthorizeData.Count(t => t == item.ObjectId);
                tree.showcheck   = true;
                tree.isexpand    = true;
                tree.complete    = true;
                tree.hasChildren = hasChildren;
                tree.parentId    = item.ParentId;
                tree.img         = "";
                tree.Level       = item.Level;
                treeList.Add(tree);
            }
            return(Content(treeList.TreeToJson()));
        }
コード例 #29
0
ファイル: UserController.cs プロジェクト: zhangvs/NewLiang
        public ActionResult GetTreeJson(string keyword)
        {
            //string dataAutor = string.Format(OperatorProvider.Provider.Current().DataAuthorize.ReadAutorize, OperatorProvider.Provider.Current().UserId);

            //var organizedata = organizeCache.GetList();
            //var departmentdata = departmentCache.GetList();
            //var userdata = userCache.GetList();
            var organizedata   = organizeCache.GetListByIds();
            var departmentdata = departmentCache.GetListByIds();
            var userdata       = userCache.GetListByIds();

            var treeList = new List <TreeEntity>();

            foreach (OrganizeEntity item in organizedata)
            {
                #region 机构
                TreeEntity tree        = new TreeEntity();
                bool       hasChildren = organizedata.Count(t => t.ParentId == item.OrganizeId) == 0 ? false : true;
                if (hasChildren == false)
                {
                    hasChildren = departmentdata.Count(t => t.OrganizeId == item.OrganizeId) == 0 ? false : true;
                    if (hasChildren == false)
                    {
                        continue;
                    }
                }
                tree.id             = item.OrganizeId;
                tree.text           = item.FullName;
                tree.value          = item.OrganizeId;
                tree.parentId       = item.ParentId;
                tree.isexpand       = true;
                tree.complete       = true;
                tree.hasChildren    = hasChildren;
                tree.Attribute      = "Sort";
                tree.AttributeValue = "Organize";
                treeList.Add(tree);
                #endregion
            }
            foreach (DepartmentEntity item in departmentdata)
            {
                #region 部门
                TreeEntity tree = new TreeEntity();
                tree.id    = item.DepartmentId;
                tree.text  = item.FullName;
                tree.value = item.DepartmentId;
                if (item.ParentId == "0")
                {
                    tree.parentId = item.OrganizeId;
                }
                else
                {
                    tree.parentId = item.ParentId;
                }
                tree.isexpand       = true;
                tree.complete       = true;
                tree.hasChildren    = true;
                tree.Attribute      = "Sort";
                tree.AttributeValue = "Department";
                treeList.Add(tree);
                #endregion
            }
            foreach (UserEntity item in userdata)
            {
                #region 用户
                TreeEntity tree = new TreeEntity();
                tree.id             = item.UserId;
                tree.text           = item.RealName;
                tree.value          = item.Account;
                tree.parentId       = item.DepartmentId;
                tree.title          = item.RealName + "(" + item.Account + ")";
                tree.isexpand       = true;
                tree.complete       = true;
                tree.hasChildren    = false;
                tree.Attribute      = "Sort";
                tree.AttributeValue = "User";
                tree.img            = "fa fa-user";
                treeList.Add(tree);
                #endregion
            }
            if (!string.IsNullOrEmpty(keyword))
            {
                treeList = treeList.TreeWhere(t => t.text.Contains(keyword), "id", "parentId");
            }
            return(Content(treeList.TreeToJson()));
        }
コード例 #30
0
        public ActionResult OrganizeTreeJson(string postId)
        {
            var existAuthorizeData = permissionBLL.GetAuthorizeDataList(postId);
            var organizedata       = organizeBLL.GetList();
            var departmentdata     = departmentBLL.GetList();
            var treeList           = new List <TreeEntity>();

            foreach (OrganizeEntity item in organizedata)
            {
                TreeEntity tree        = new TreeEntity();
                bool       hasChildren = organizedata.Count(t => t.ParentId == item.OrganizeId) == 0 ? false : true;
                if (hasChildren == false)
                {
                    hasChildren = departmentdata.Count(t => t.OrganizeId == item.OrganizeId) == 0 ? false : true;
                    if (hasChildren == false)
                    {
                        continue;
                    }
                }
                tree.id       = item.OrganizeId;
                tree.text     = item.FullName;
                tree.value    = item.OrganizeId;
                tree.parentId = item.ParentId;
                if (item.ParentId == "0")
                {
                    tree.img = "fa fa-sitemap";
                }
                else
                {
                    tree.img = "fa fa-home";
                }
                tree.checkstate  = existAuthorizeData.Count(t => t.ResourceId == item.OrganizeId);
                tree.showcheck   = true;
                tree.isexpand    = true;
                tree.complete    = true;
                tree.hasChildren = hasChildren;
                treeList.Add(tree);
            }
            foreach (DepartmentEntity item in departmentdata)
            {
                TreeEntity tree        = new TreeEntity();
                bool       hasChildren = departmentdata.Count(t => t.ParentId == item.DepartmentId) == 0 ? false : true;
                tree.id    = item.DepartmentId;
                tree.text  = item.FullName;
                tree.value = item.DepartmentId;
                if (item.ParentId == "0")
                {
                    tree.parentId = item.OrganizeId;
                }
                else
                {
                    tree.parentId = item.ParentId;
                }
                tree.checkstate  = existAuthorizeData.Count(t => t.ResourceId == item.DepartmentId);
                tree.showcheck   = true;
                tree.isexpand    = true;
                tree.complete    = true;
                tree.img         = "fa fa-umbrella";
                tree.hasChildren = hasChildren;
                treeList.Add(tree);
            }
            int authorizeType = -1;

            if (existAuthorizeData.ToList().Count > 0)
            {
                authorizeType = existAuthorizeData.ToList()[0].AuthorizeType.ToInt();
            }
            var JsonData = new
            {
                authorizeType = authorizeType,
                authorizeData = existAuthorizeData,
                treeJson      = treeList.TreeToJson(),
            };

            return(Content(JsonData.ToJson()));
        }
コード例 #31
0
        public ActionResult GetDeptTreeJson(string Ids, int checkMode = 0, int mode = 0)
        {
            OrganizeBLL             organizeBLL    = new OrganizeBLL();
            Operator                user           = OperatorProvider.Provider.Current();
            List <OrganizeEntity>   organizedata   = new List <OrganizeEntity>();
            List <DepartmentEntity> departmentdata = new List <DepartmentEntity>();
            string roleNames = user.RoleName;

            if (string.IsNullOrEmpty(Ids))
            {
                Ids = departmentBLL.GetRootDepartment().DepartmentId;
            }
            var depts = Ids.Split(',');

            if (user.IsSystem)
            {
                var organizedata1 = CacheFactory.Cache().GetCache <IEnumerable <OrganizeEntity> >(organizeBLL.cacheKey);//organizeCache.GetList();
                if (organizedata1 == null)
                {
                    organizedata1 = organizeBLL.GetList();
                }
                organizedata = organizedata1.ToList();
                var departmentdata1 = CacheFactory.Cache().GetCache <IEnumerable <DepartmentEntity> >(departmentBLL.cacheKey);//departmentCache.GetList();
                if (departmentdata1 == null)
                {
                    departmentdata1 = departmentBLL.GetList();
                }
                departmentdata = departmentdata1.ToList();
            }
            else
            {
                //var organizedata1 = CacheFactory.Cache().GetCache<IEnumerable<OrganizeEntity>>(organizeBLL.cacheKey);//organizeCache.GetList();
                //if (organizedata1 == null)
                //{
                //    organizedata1 = organizeBLL.GetList();
                //}
                //organizedata = organizedata1.ToList();
                if (mode == 1)
                {
                    departmentdata = new DepartmentBLL().GetDepartments(depts);
                }
                else
                {
                    departmentdata = new DepartmentBLL().GetSubDepartments(depts);
                }
            }
            var treeList = new List <TreeEntity>();

            foreach (OrganizeEntity item in organizedata)
            {
                #region 机构
                TreeEntity tree        = new TreeEntity();
                bool       hasChildren = organizedata.Count(t => t.ParentId == item.OrganizeId) == 0 ? false : true;
                if (hasChildren == false)
                {
                    hasChildren = departmentdata.Count(t => t.OrganizeId == item.OrganizeId) == 0 ? false : true;
                }
                tree.id              = item.OrganizeId;
                tree.text            = item.FullName;
                tree.value           = item.OrganizeId;
                tree.parentId        = item.ParentId;
                tree.isexpand        = true;
                tree.complete        = true;
                tree.hasChildren     = hasChildren;
                tree.Attribute       = "Sort";
                tree.AttributeValue  = "Organize";
                tree.AttributeA      = "EnCode";
                tree.AttributeValueA = item.EnCode;
                treeList.Add(tree);
                #endregion
            }
            foreach (DepartmentEntity item in departmentdata)
            {
                #region 部门
                TreeEntity tree = new TreeEntity();
                tree.id    = item.DepartmentId;
                tree.text  = item.FullName;
                tree.value = item.DepartmentId;
                if (item.ParentId == "0")
                {
                    tree.parentId = item.OrganizeId;
                }
                else
                {
                    tree.parentId = item.ParentId;
                }
                tree.isexpand    = true;
                tree.complete    = true;
                tree.hasChildren = true;
                if (item.Nature == "班组")
                {
                    tree.Attribute      = "Code";
                    tree.AttributeValue = item.EnCode;
                }
                if (item.Nature == "班组" || item.Nature == "部门")
                {
                    tree.showcheck = checkMode == 0 ? false : true;
                }
                treeList.Add(tree);
                #endregion
            }
            return(Content(treeList.TreeToJson(string.IsNullOrEmpty(Ids) ? "0" : string.Join(",", treeList.FindAll(x => depts.Contains(x.id)).Select(x => x.parentId)))));
        }