You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

150 lines
5.4 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using Estsh.Core.Dapper;
using Estsh.Core.IRepositories;
using Estsh.Core.Models;
using Estsh.Core.Repository.IRepositories;
using Estsh.Core.Services.IServices;
using Estsh.Core.Util;
using System.Collections;
/***************************************************************************************************
*
* 更新人sitong.dong
* 描述:菜单模块业务类
* 修改时间2022.06.22
* 修改日志:系统迭代升级
*
**************************************************************************************************/
namespace Estsh.Core.Services
{
/// <summary>
/// 菜单业务处理类
/// </summary>
public class PictureDefineService : BaseService<GSnPicture>, IPictureDefineService
{
private readonly IPictureDefineRepository repository;
public PictureDefineService(IPictureDefineRepository _repository) : base(_repository)
{
repository = _repository;
}
/// <summary>
/// 获取首页菜单列表
/// </summary>
/// <param name="userInfo"></param>
/// <returns></returns>
public Hashtable getHomeMenuList(SysEmp userInfo, string menuId)
{
Hashtable result = new Hashtable();
result = repository.getHomeMenuListByUser(userInfo.EmpId, menuId);
return result;
}
/// <summary>
/// 获取Main页主菜单列表
/// </summary>
/// <param name="userInfo"></param>
/// <returns></returns>
public Hashtable getMainMenuList(SysEmp userInfo, string menuId)
{
List<SysWebMenu> menus = repository.getMainMenuListByUser(userInfo.EmpId, menuId);
Hashtable result = new Hashtable();
List<Hashtable> dataList = new List<Hashtable>();
Hashtable node;
foreach (var menu in menus)
{
node = new Hashtable();
node.Add("id", menu.MenuId);
node.Add("name", menu.Name != null ? menu.Name : "");
node.Add("className", menu.IconSkin != null ? menu.IconSkin : "");
dataList.Add(node);
}
result.Add("list", dataList);
return result;
}
/// <summary>
/// 获取Main页子菜单列表
/// </summary>
/// <param name="userInfo"></param>
/// <returns></returns>
public Hashtable getChildMenuList(SysEmp userInfo, string menuId, string rootPath)
{
List<SysWebMenu> menus = repository.getMainMenuListByUser(userInfo.EmpId, menuId);
Hashtable result = new Hashtable();
List<TreeNode> treeNodes = new List<TreeNode>();
TreeNode node;
foreach (var menu in menus)
{
node = new TreeNode();
node.id = menu.MenuId.ToString();
node.name = menu.Name != null ? menu.Name : "";
node.parentId = menu.ParentId.ToString();
node.icon = menu.IconUrl != null ? menu.IconUrl : "";
node.tabUrl = rootPath + (menu.Url != null ? menu.Url : "");
node.target = "frmright";
treeNodes.Add(node);
}
result.Add("treeNodes", treeNodes);
return result;
}
/// <summary>
/// 获取非tab的Main页子菜单列表
/// </summary>
/// <param name="userInfo"></param>
/// <returns></returns>
public Hashtable getNoNTabChildMenuList(SysEmp userInfo, string menuId, string rootPath)
{
List<SysWebMenu> menus = repository.getMainMenuListByUser(userInfo.EmpId, menuId);
Hashtable result = new Hashtable();
List<TreeNode> treeNodes = new List<TreeNode>();
TreeNode node;
foreach (var menu in menus)
{
node = new TreeNode();
node.id = menu.MenuId.ToString();
node.name = menu.Name != null ? menu.Name : "";
node.parentId = menu.ParentId.ToString();
node.icon = menu.IconUrl != null ? menu.IconUrl : "";
node.url = rootPath + (menu.Url != null ? menu.Url : "");
node.target = "frmright";
treeNodes.Add(node);
}
result.Add("treeNodes", treeNodes);
return result;
}
/// <summary>
/// 根据分页条件获取分页菜单数据
/// </summary>
/// <param name="menuName"></param>
/// <param name="pager"></param>
/// <param name="direction"></param>
/// <param name="sort"></param>
/// <returns></returns>
public Hashtable getPictureListByPage(String pictureName, Pager pager, String direction, String sort)
{
Hashtable result = new Hashtable();
String strWhere = " 1=1 ";
if (pictureName != null && !pictureName.Trim().Equals(""))
{
strWhere += " and serial_number like '%" + pictureName.Trim() + "%'";
}
String orderBy = "";
if (sort != null && !"".Equals(sort.Trim()))
{
orderBy += sort + " " + direction;
}
else
{
orderBy += " ruid " + direction;
}
result = repository.getListByPage(pager.pageSize, pager.pageNo, strWhere, orderBy);
return result;
}
}
}