当前位置:网站首页>树后台数据存储(採用webmethod)[通俗易懂]
树后台数据存储(採用webmethod)[通俗易懂]
2022-07-07 21:51:00 【全栈程序员站长】
大家好,又见面了,我是全栈君。
树后台数据存储
关于后台数据存储将集中在此篇解说
/*
*作者:方浩然
*日期: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; } }}
*/
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/116211.html原文链接:https://javaforall.cn
边栏推荐
猜你喜欢
微信论坛交流小程序系统毕业设计毕设(7)中期检查报告
UE4_UE5全景相机
PMP项目管理考试过关口诀-1
Use JfreeChart to generate curves, histograms, pie charts, and distribution charts and display them to jsp-2
聊聊 Dart 的空安全 (null safety) 特性
It's no exaggeration to say that this is the most user-friendly basic tutorial of pytest I've ever seen
PCL . VTK files and Mutual conversion of PCD
Inftnews | the wide application of NFT technology and its existing problems
leetcode-520. 检测大写字母-js
Are the microorganisms in the intestines the same as those on the skin?
随机推荐
Gee (IV): calculate the correlation between two variables (images) and draw a scatter diagram
【刷题记录】3. 无重复字符的最长子串
Cases of agile innovation and transformation of consumer goods enterprises
CXF call reports an error. Could not find conduct initiator for address:
Digital collections accelerated out of the circle, and marsnft helped diversify the culture and tourism economy!
Statistical method for anomaly detection
嵌入式音频开发中的两种曲线
Bit operation
QT graphicsview graphical view usage summary with flow chart development case prototype
微信论坛交流小程序系统毕业设计毕设(2)小程序功能
Guessing game (read data from file)
位运算(Bit Operation)
Byte hexadecimal binary understanding
解决:信息中插入avi格式的视频时,提示“unsupported video format”
力扣解法汇总648-单词替换
What are the similarities and differences between smart communities and smart cities
微信论坛交流小程序系统毕业设计毕设(3)后台功能
Unity3D学习笔记5——创建子Mesh
Unity dynamically merges mesh textures
Line test - graphic reasoning - 1 - Chinese character class