前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >树后台数据存储(採用webmethod)[通俗易懂]

树后台数据存储(採用webmethod)[通俗易懂]

作者头像
全栈程序员站长
发布2022-07-07 21:06:35
4230
发布2022-07-07 21:06:35
举报

大家好,又见面了,我是全栈君。

树后台数据存储

关于后台数据存储将集中在此篇解说

代码语言:javascript
复制
/*
 *作者:方浩然
 *日期:2015-05-26
 *版本号:1.0
 */
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BF.IBLL.MedicalTreatmentCombination;
using Base.Core.UnityFactory;
using System.Collections;
using BF.Model;
using LitJson;
using System.Web.Services;
using System.Linq.Expressions;


namespace BF.Web.pages.MedicalTreatmentCombination
{
    public partial class ZtreeForm : BasePage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }
        private static readonly Isys_OrganizeBLL iORGBLL = IOCFactory.GetIOCResolve<Isys_OrganizeBLL>();
        private static readonly string iconOpen = HttpUtility.UrlEncode(@"zTree-zTree_v3-master/zTree_v3/css/zTreeStyle/img/diy/1_open.png");
        private static readonly string iconClose = HttpUtility.UrlEncode(@"zTree-zTree_v3-master/zTree_v3/css/zTreeStyle/img/diy/1_close.png");

        /// <summary>
        /// 节点类
        /// </summary>
        public class Node
        {
            /// <summary>
            /// 子节点
            /// </summary>
            public List<Node> children;
            /// <summary>
            /// 展开图标
            /// </summary>
            public string iconOpen;
            /// <summary>
            /// 收缩图标
            /// </summary>
            public string iconClose;
            /// <summary>
            /// 是否是父级节点
            /// </summary>
            public bool isParent;
            /// <summary>
            /// 地区gID
            /// </summary>
            public Guid? gID;
            /// <summary>
            /// 地区父gPID
            /// </summary>
/*
* 提示:该行代码过长,系统自动注释不进行高亮。一键复制会移除系统注释 
* public Guid? gPID;            /// <summary>            /// 地区编码            /// </summary>            public string sAreaCode;            /// <summary>            /// 地区级别            /// </summary>            public int? iJB;            /// <summary>            /// 地区名称            /// </summary>            public string name;            /// <summary>            /// 删除标识            /// </summary>            public int? iDeleteMark;            /// <summary>            /// 创建日期            /// </summary>            public DateTime? dCreateDate;            /// <summary>            /// 创建人编码            /// </summary>            public Guid? gCreateUserId;            /// <summary>            /// 创建人姓名            /// </summary>            public string sCreateUserRealname;            /// <summary>            /// 改动日期            /// </summary>            public DateTime? dModifyDate;            /// <summary>            /// 改动人编码            /// </summary>            public Guid? gModifyUserId;            /// <summary>            /// 改动人姓名            /// </summary>            public string sModifyUserRealname;        }        /// <summary>        /// 节点类--【仅供EasyUITree使用:标识id text state checked attributes children】        /// </summary>        public class NodeTree        {            /// <summary>            /// 子节点            /// </summary>            public List<NodeTree> children;            /// <summary>            /// 图标            /// </summary>            public string iconCls;            /// <summary>            /// 是否是父级节点 默觉得'open'. 当为‘closed’时说明此节点下有子节点否则此节点为叶子节点            /// </summary>            public string state;            /// <summary>            /// 地区gID            /// </summary>            public Guid? id;            /// <summary>            /// 地区父gPID            /// </summary>            public Guid? gPID;            /// <summary>            /// 地区编码            /// </summary>            public string sAreaCode;            /// <summary>            /// 地区级别            /// </summary>            public int? iJB;            /// <summary>            /// 地区名称            /// </summary>            public string text;            /// <summary>            /// 删除标识            /// </summary>            public int? iDeleteMark;            /// <summary>            /// 创建日期            /// </summary>            public DateTime? dCreateDate;            /// <summary>            /// 创建人编码            /// </summary>            public Guid? gCreateUserId;            /// <summary>            /// 创建人姓名            /// </summary>            public string sCreateUserRealname;            /// <summary>            /// 改动日期            /// </summary>            public DateTime? dModifyDate;            /// <summary>            /// 改动人编码            /// </summary>            public Guid? gModifyUserId;            /// <summary>            /// 改动人姓名            /// </summary>            public string sModifyUserRealname;        }        public class attributes        {        }        /// <summary>        /// 读取地区列表【EasyUITree】--青海省民政厅以下一级        /// </summary>        /// <returns></returns>        [WebMethod]        public static string GetEasyUITreeRootList()        {            List<NodeTree> list = new List<NodeTree>();//全部节点            list = GetTreeGenNode();//将全部一级节点放到list中            GetTreeThirdChilds(ref list);            return JsonHelper<NodeTree>.ListToJsonString(list);        }        /// <summary>        /// 读取地区列表--青海省民政厅以下一级        /// </summary>        /// <returns></returns>        [WebMethod]        public static string GetZtreeRootList()        {            List<Node> list = new List<Node>();//全部节点            list = GetGenNode();//将全部一级节点放到list中            GetThirdChilds(ref list);            return JsonHelper<Node>.ListToJsonString(list);        }        /// <summary>        ///  读取地区列表【EasyUITree】        /// </summary>        /// <returns></returns>        [WebMethod]        public static string GetTreeList()        {            List<NodeTree> list = new List<NodeTree>();//全部节点            list = GetTreeGenNode();//将全部一级节点放到list中            GetTreeChilds(ref list);            return JsonHelper<NodeTree>.ListToJsonString(list);        }        /// <summary>        ///  读取地区列表        /// </summary>        /// <returns></returns>        [WebMethod]        public static string GetZtreeList()        {            List<Node> list = new List<Node>();//全部节点            list = GetGenNode();//将全部一级节点放到list中            GetChilds(ref list);            return JsonHelper<Node>.ListToJsonString(list);        }        /// <summary>        /// 读取子集节点【EasyUITree】--青海省民政厅以下一级        /// </summary>        /// <param name="list"></param>        [WebMethod]        public static void GetTreeThirdChilds(ref List<NodeTree> list)        {            foreach (NodeTree node in list)            {                List<NodeTree> nodeList = GetTreeThirdChildsID(node.id);                if (nodeList.Count > 0)                {                    if (node.iJB <= 0)                        node.children = nodeList;                    GetTreeThirdChilds(ref nodeList);                }                break;            }        }        /// <summary>        /// 读取子集节点--青海省民政厅以下一级        /// </summary>        /// <param name="list"></param>        [WebMethod]        public static void GetThirdChilds(ref List<Node> list)        {            foreach (Node node in list)            {                List<Node> nodeList = GetThirdChildsID(node.gID);                if (nodeList.Count > 0)                {                    if (node.iJB <= 0)                        node.children = nodeList;                    GetThirdChilds(ref nodeList);                }                break;            }        }        /// <summary>        /// 获全部的一级节点【EasyUITree】        /// </summary>        /// <param name="nodeList"></param>        /// <returns></returns>        [WebMethod]        public static List<NodeTree> GetTreeGenNode()        {            List<NodeTree> nodeList = new List<NodeTree>();            List<NodeTree> childrenList = new List<NodeTree>();            NodeTree node = new NodeTree();            NodeTree children = new NodeTree();            List<sys_Organize> genList = iORGBLL.GetList(P => P.iJB == -1 && P.iDeleteMark == 0);            if (genList != null && genList.Count > 0)            {                foreach (sys_Organize genItem in genList)                {                    //根节点 node                    node.id = genItem.gID;                    node.gPID = genItem.gPID;                    node.sAreaCode = genItem.sAreaCode;                    node.iJB = genItem.iJB;                    node.text = genItem.sFullName;                    node.iDeleteMark = genItem.iDeleteMark;                    node.dCreateDate = genItem.dCreateDate;                    node.gCreateUserId = genItem.gCreateUserId;                    node.sCreateUserRealname = genItem.sCreateUserRealname;                    node.dModifyDate = genItem.dModifyDate;                    node.gModifyUserId = genItem.gModifyUserId;                    node.sModifyUserRealname = genItem.sModifyUserRealname;                    if (iORGBLL.GetList(P => P.gPID == genItem.gID && P.iDeleteMark == 0).Count > 0)                    {                        node.state = "closed";                        node.iconCls = iconOpen;                    }                    childrenList.Add(children);                }                if (childrenList.Count > 0)                    node.children = childrenList;                nodeList.Add(node);            }            return nodeList;        }        /// <summary>        /// 获全部的一级节点        /// </summary>        /// <param name="nodeList"></param>        /// <returns></returns>        [WebMethod]        public static List<Node> GetGenNode()        {            List<Node> nodeList = new List<Node>();            List<Node> childrenList = new List<Node>();            Node node = new Node();            Node children = new Node();            List<sys_Organize> genList = iORGBLL.GetList(P => P.iJB == -1 && P.iDeleteMark == 0);            if (genList != null && genList.Count > 0)            {                foreach (sys_Organize genItem in genList)                {                    //根节点 node                    node.gID = genItem.gID;                    node.gPID = genItem.gPID;                    node.sAreaCode = genItem.sAreaCode;                    node.iJB = genItem.iJB;                    node.name = genItem.sFullName;                    node.iDeleteMark = genItem.iDeleteMark;                    node.dCreateDate = genItem.dCreateDate;                    node.gCreateUserId = genItem.gCreateUserId;                    node.sCreateUserRealname = genItem.sCreateUserRealname;                    node.dModifyDate = genItem.dModifyDate;                    node.gModifyUserId = genItem.gModifyUserId;                    node.sModifyUserRealname = genItem.sModifyUserRealname;                    if (iORGBLL.GetList(P => P.gPID == genItem.gID && P.iDeleteMark == 0).Count > 0)                    {                        node.isParent = true;                        node.iconOpen = iconOpen;                        node.iconClose = iconClose;                    }                    childrenList.Add(children);                }                if (childrenList.Count > 0)                    node.children = childrenList;                nodeList.Add(node);            }            return nodeList;        }        /// <summary>        /// 将获取的全部的子节点放到list中【EasyUITree】        /// </summary>        /// <param name="list">按引用传值,当控制权传递回调用方法时,在方法中对參数所做的不论什么更改都将反映在该变量中</param>        /// <returns></returns>        [WebMethod]        public static void GetTreeChilds(ref List<NodeTree> list)        {            foreach (NodeTree node in list)            {                List<NodeTree> nodeList = GetTreeThirdChildsID(node.id);                if (nodeList.Count > 0)                {                    node.children = nodeList;//载入子节点                    //採用递归的形式                    GetTreeChilds(ref nodeList);                }            }        }        /// <summary>        /// 将获取的全部的子节点放到list中        /// </summary>        /// <param name="list">按引用传值,当控制权传递回调用方法时,在方法中对參数所做的不论什么更改都将反映在该变量中</param>        /// <returns></returns>        [WebMethod]        public static void GetChilds(ref List<Node> list)        {            foreach (Node node in list)            {                List<Node> nodeList = GetChildsID(node.gID);                if (nodeList.Count > 0)                {                    node.children = nodeList;//载入子节点                    //採用递归的形式                    GetChilds(ref nodeList);                }            }        }        /// <summary>        /// 依据父节点的id获取子节点        /// </summary>        /// <param name="list">父节点id</param>        /// <returns>异步调用返回List<Node></returns>        [WebMethod]        public static string GetRootByChildsID(string gid)        {            Guid id = new Guid();            Guid.TryParse(gid, out id);            List<Node> list = GetThirdChildsID(id);            return JsonHelper<Node>.ListToJsonString(list);        }        /// <summary>        /// 依据父节点的id获取子节点        /// </summary>        /// <param name="list">父节点id</param>        /// <returns></returns>        [WebMethod]        public static List<NodeTree> GetTreeThirdChildsID(Guid? gid)        {            List<NodeTree> childrenList = new List<NodeTree>();            foreach (sys_Organize childrenItem in iORGBLL.GetList(P => P.gPID == gid && P.iDeleteMark == 0))            {                NodeTree children = new NodeTree();                //仿造子节点【child】属性                //推断叶子节点是否含有子节点并设置属性                if (iORGBLL.GetList(P => P.gPID == childrenItem.gID && P.iDeleteMark == 0).Count > 0)                {                    children.state = "closed";//默认 true                    children.iconCls = iconOpen;//默认图标                }                children.id = childrenItem.gID;                children.gPID = childrenItem.gPID;                children.sAreaCode = childrenItem.sAreaCode;                children.iJB = childrenItem.iJB;                children.text = childrenItem.sFullName;                children.iDeleteMark = childrenItem.iDeleteMark;                children.dCreateDate = childrenItem.dCreateDate;                children.gCreateUserId = childrenItem.gCreateUserId;                children.sCreateUserRealname = childrenItem.sCreateUserRealname;                children.dModifyDate = childrenItem.dModifyDate;                children.gModifyUserId = childrenItem.gModifyUserId;                children.sModifyUserRealname = childrenItem.sModifyUserRealname;                childrenList.Add(children);            }            return childrenList;        }        /// <summary>        /// 依据父节点的id获取子节点        /// </summary>        /// <param name="list">父节点id</param>        /// <returns></returns>        [WebMethod]        public static List<Node> GetThirdChildsID(Guid? gid)        {            List<Node> childrenList = new List<Node>();            foreach (sys_Organize childrenItem in iORGBLL.GetList(P => P.gPID == gid && P.iDeleteMark == 0))            {                Node children = new Node();                //仿造子节点【child】属性                //推断叶子节点是否含有子节点并设置属性                if (iORGBLL.GetList(P => P.gPID == childrenItem.gID && P.iDeleteMark == 0).Count > 0)                {                    children.isParent = true;//默认 true                    children.iconOpen = iconOpen;//默认 展开属性                    children.iconClose = iconClose;//默认 收缩属性                }                children.gID = childrenItem.gID;                children.gPID = childrenItem.gPID;                children.sAreaCode = childrenItem.sAreaCode;                children.iJB = childrenItem.iJB;                children.name = childrenItem.sFullName;                children.iDeleteMark = childrenItem.iDeleteMark;                children.dCreateDate = childrenItem.dCreateDate;                children.gCreateUserId = childrenItem.gCreateUserId;                children.sCreateUserRealname = childrenItem.sCreateUserRealname;                children.dModifyDate = childrenItem.dModifyDate;                children.gModifyUserId = childrenItem.gModifyUserId;                children.sModifyUserRealname = childrenItem.sModifyUserRealname;                childrenList.Add(children);            }            return childrenList;        }        /// <summary>        /// 依据父节点的id获取子节点        /// </summary>        /// <param name="list">父节点id</param>        /// <returns></returns>        [WebMethod]        public static List<Node> GetChildsID(Guid? gid)        {            List<Node> childrenList = new List<Node>();            foreach (sys_Organize childrenItem in iORGBLL.GetList(P => P.gPID == gid && P.iDeleteMark == 0))            {                Node children = new Node();                //仿造子节点【child】属性                //推断叶子节点是否含有子节点并设置属性                if (iORGBLL.GetList(P => P.gPID == childrenItem.gID && P.iDeleteMark == 0).Count > 0)                {                    children.isParent = true;//默认 true                    children.iconOpen = iconOpen;//默认 展开属性                    children.iconClose = iconClose;//默认 收缩属性                }                children.gID = childrenItem.gID;                children.gPID = childrenItem.gPID;                children.sAreaCode = childrenItem.sAreaCode;                children.iJB = childrenItem.iJB;                children.name = childrenItem.sFullName;                children.iDeleteMark = childrenItem.iDeleteMark;                children.dCreateDate = childrenItem.dCreateDate;                children.gCreateUserId = childrenItem.gCreateUserId;                children.sCreateUserRealname = childrenItem.sCreateUserRealname;                children.dModifyDate = childrenItem.dModifyDate;                children.gModifyUserId = childrenItem.gModifyUserId;                children.sModifyUserRealname = childrenItem.sModifyUserRealname;                childrenList.Add(children);            }            return childrenList;        }    }}
*/
树后台数据存储(採用webmethod)[通俗易懂]
树后台数据存储(採用webmethod)[通俗易懂]
树后台数据存储(採用webmethod)[通俗易懂]
树后台数据存储(採用webmethod)[通俗易懂]

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/116211.html原文链接:https://javaforall.cn

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022年1月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 树后台数据存储
  • 关于后台数据存储将集中在此篇解说
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com