using MES.Service.DB; using MES.Service.Dto.webApi; using MES.Service.Modes; namespace MES.Service.service.BasicData; /// /// MesSimple服务管理类 /// public class MesSimpleManager : Repository { /// /// 获取树形结构数据 /// public List GetTree() { var tree = ToTree(); return tree; } /// /// 获取树形结构数据(新表 MES_SIMPLE_NEW) /// public List GetTreeNew() { var tree = ToTreeNew(); return tree; } /// /// 转换为树形结构 /// public List ToTree() { var topList = GetTopList(); return ConvertToTreeViewList(topList); } /// /// 转换为树形结构(新表 MES_SIMPLE_NEW) /// public List ToTreeNew() { var topList = GetTopListNew(); return ConvertToTreeViewListNew(topList); } /// /// 获取顶级节点列表 /// private List GetTopList() { return Db.Queryable() .Where(x => x.IsTop == 0 && x.Disabled == 0) .OrderBy(x => x.Id) .ToList(); } /// /// 获取顶级节点列表(新表 MES_SIMPLE_NEW) /// private List GetTopListNew() { return Db.Queryable() .Where(x => x.IsTop == 0 && x.Disabled == 0) .OrderBy(x => new { x.SortOrder, x.Id }) .ToList(); } /// /// 将MesSimple列表转换为TreeView列表 /// private List ConvertToTreeViewList(List mesSimpleList) { var treeViews = new List(); foreach (var mesSimple in mesSimpleList) { var treeView = ConvertToTreeView(mesSimple); treeViews.Add(treeView); } return treeViews; } /// /// 将MesSimpleNew列表转换为TreeView列表 /// private List ConvertToTreeViewListNew(List mesSimpleList) { var treeViews = new List(); foreach (var mesSimple in mesSimpleList) { var treeView = ConvertToTreeViewNew(mesSimple); treeViews.Add(treeView); } return treeViews; } /// /// 转换单个MesSimple为TreeView /// private TreeView ConvertToTreeView(MesSimple mesSimple) { var treeView = new TreeView { Id = mesSimple.Id, Title = mesSimple.Title, Field = mesSimple.Field, Spread = mesSimple.Spread.HasValue && mesSimple.Spread.Value == 1 }; // 查询子节点 var childList = Db.Queryable() .Where(x => x.Disabled == 0 && x.Fid == mesSimple.Id) .OrderBy(x => x.Id) .ToList(); // 构建子节点列表 var childrenList = new List(); foreach (var child in childList) { var children = new Children { Id = child.Id, Title = child.Title, Field = child.Field }; // 判断是否为轮播 if ("轮播".Equals(child.Href)) { children.Href = $"bi_view.html?menuId={child.Id}&lbsj={child.Lbtime}"; } else { children.Href = child.Href; } childrenList.Add(children); } treeView.Children = childrenList; return treeView; } /// /// 转换单个MesSimpleNew为TreeView /// private TreeView ConvertToTreeViewNew(MesSimpleNew mesSimple) { var treeView = new TreeView { Id = mesSimple.Id, Title = mesSimple.Title, Field = mesSimple.Field, Spread = mesSimple.Spread.HasValue && mesSimple.Spread.Value == 1 }; // 查询子节点 var childList = Db.Queryable() .Where(x => x.Disabled == 0 && x.Fid == mesSimple.Id) .OrderBy(x => new { x.SortOrder, x.Id }) .ToList(); // 构建子节点列表 var childrenList = new List(); foreach (var child in childList) { var children = new Children { Id = child.Id, Title = child.Title, Field = child.Field }; // 判断是否为轮播 if ("轮播".Equals(child.Href)) { children.Href = $"bi_view.html?menuId={child.Id}&lbsj={child.Lbtime}"; } else { children.Href = child.Href; } childrenList.Add(children); } treeView.Children = childrenList; return treeView; } }