using MES.Service.DB;
|
using MES.Service.Dto.webApi;
|
using MES.Service.Modes;
|
|
namespace MES.Service.service.BasicData;
|
|
/// <summary>
|
/// MesSimple服务管理类
|
/// </summary>
|
public class MesSimpleManager : Repository<MesSimple>
|
{
|
/// <summary>
|
/// 获取树形结构数据
|
/// </summary>
|
public List<TreeView> GetTree()
|
{
|
var tree = ToTree();
|
return tree;
|
}
|
|
/// <summary>
|
/// 获取树形结构数据(新表 MES_SIMPLE_NEW)
|
/// </summary>
|
public List<TreeView> GetTreeNew()
|
{
|
var tree = ToTreeNew();
|
return tree;
|
}
|
|
/// <summary>
|
/// 转换为树形结构
|
/// </summary>
|
public List<TreeView> ToTree()
|
{
|
var topList = GetTopList();
|
return ConvertToTreeViewList(topList);
|
}
|
|
/// <summary>
|
/// 转换为树形结构(新表 MES_SIMPLE_NEW)
|
/// </summary>
|
public List<TreeView> ToTreeNew()
|
{
|
var topList = GetTopListNew();
|
return ConvertToTreeViewListNew(topList);
|
}
|
|
/// <summary>
|
/// 获取顶级节点列表
|
/// </summary>
|
private List<MesSimple> GetTopList()
|
{
|
return Db.Queryable<MesSimple>()
|
.Where(x => x.IsTop == 0 && x.Disabled == 0)
|
.OrderBy(x => x.Id)
|
.ToList();
|
}
|
|
/// <summary>
|
/// 获取顶级节点列表(新表 MES_SIMPLE_NEW)
|
/// </summary>
|
private List<MesSimpleNew> GetTopListNew()
|
{
|
return Db.Queryable<MesSimpleNew>()
|
.Where(x => x.IsTop == 0 && x.Disabled == 0)
|
.OrderBy(x => new { x.SortOrder, x.Id })
|
.ToList();
|
}
|
|
/// <summary>
|
/// 将MesSimple列表转换为TreeView列表
|
/// </summary>
|
private List<TreeView> ConvertToTreeViewList(List<MesSimple> mesSimpleList)
|
{
|
var treeViews = new List<TreeView>();
|
|
foreach (var mesSimple in mesSimpleList)
|
{
|
var treeView = ConvertToTreeView(mesSimple);
|
treeViews.Add(treeView);
|
}
|
|
return treeViews;
|
}
|
|
/// <summary>
|
/// 将MesSimpleNew列表转换为TreeView列表
|
/// </summary>
|
private List<TreeView> ConvertToTreeViewListNew(List<MesSimpleNew> mesSimpleList)
|
{
|
var treeViews = new List<TreeView>();
|
|
foreach (var mesSimple in mesSimpleList)
|
{
|
var treeView = ConvertToTreeViewNew(mesSimple);
|
treeViews.Add(treeView);
|
}
|
|
return treeViews;
|
}
|
|
/// <summary>
|
/// 转换单个MesSimple为TreeView
|
/// </summary>
|
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<MesSimple>()
|
.Where(x => x.Disabled == 0 && x.Fid == mesSimple.Id)
|
.OrderBy(x => x.Id)
|
.ToList();
|
|
// 构建子节点列表
|
var childrenList = new List<Children>();
|
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;
|
}
|
|
/// <summary>
|
/// 转换单个MesSimpleNew为TreeView
|
/// </summary>
|
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<MesSimpleNew>()
|
.Where(x => x.Disabled == 0 && x.Fid == mesSimple.Id)
|
.OrderBy(x => new { x.SortOrder, x.Id })
|
.ToList();
|
|
// 构建子节点列表
|
var childrenList = new List<Children>();
|
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;
|
}
|
}
|