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); }
/// <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())); }
/// <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())); }
public override void reset() { clipped = false; targetTree = null; startTime = 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())); }
public static short Level(this TreeEntity t) => As.Expression(() => (short)t.Route.GetLevel());
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())); }
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())); }
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())); }
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); } } }
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())); }
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())); }
//[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())); }
/// <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); }
public TreeFellEvent(ref TreeEntity tree, ref INetObject killer) : base() { TreeEntity = tree; Killer = killer; }
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); }
public bool HasOwnerPermissions(ClaimsPrincipal user, TreeEntity resource) { return(this.isOwner(user, resource) || this.isAdmin(user)); }
/// <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())); }
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()); }
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())); }
public abstract byte[] Convert(TreeEntity file);
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); }
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); }
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)); }
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())); }
/// <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())); }
public static short Level(this TreeEntity e) { return(LevelExpression.Evaluate(e)); }
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())); }
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())); }
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())); }
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))))); }