|
|
using Dapper;
|
|
|
using Estsh.Core.Dapper;
|
|
|
using Estsh.Core.Model.Result;
|
|
|
using Estsh.Core.Models;
|
|
|
using Estsh.Core.Repository.IRepositories;
|
|
|
using Estsh.Core.Util;
|
|
|
using System.Collections;
|
|
|
using System.Data;
|
|
|
using System.Text;
|
|
|
|
|
|
/***************************************************************************************************
|
|
|
*
|
|
|
* 更新人:sitong.dong
|
|
|
* 描述:菜单模块数据库访问类
|
|
|
* 修改时间:2022.06.22
|
|
|
* 修改日志:系统迭代升级
|
|
|
*
|
|
|
**************************************************************************************************/
|
|
|
namespace Estsh.Core.Repositories
|
|
|
{
|
|
|
/// <summary>
|
|
|
/// 处理菜单模块的业务数据
|
|
|
/// </summary>
|
|
|
public class PictureDefineRepository : BaseRepository<GSnPicture>, IPictureDefineRepository
|
|
|
{
|
|
|
public PictureDefineRepository(DapperDbContext _dapperDbContext) : base(_dapperDbContext)
|
|
|
{
|
|
|
}
|
|
|
#region 成员方法
|
|
|
|
|
|
/// <summary>
|
|
|
/// 根据登录账号获取菜单列表
|
|
|
/// </summary>
|
|
|
/// <param name="empId"></param>
|
|
|
/// <returns></returns>
|
|
|
public List<SysWebMenu> getListByUser(int empId)
|
|
|
{
|
|
|
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
|
|
|
{
|
|
|
dbConn.Open();
|
|
|
StringBuilder SqlStringBuilder = new StringBuilder(1024);
|
|
|
SqlStringBuilder.Append("SELECT m.* ");
|
|
|
SqlStringBuilder.Append("FROM sys_web_menu m ");
|
|
|
SqlStringBuilder.Append(" JOIN sys_role_privliege rp ON m.menu_id = rp.fun_name AND rp.program = 'web' ");
|
|
|
SqlStringBuilder.Append(" JOIN sys_role_emp re ON rp.role_id = re.role_id ");
|
|
|
SqlStringBuilder.Append("WHERE re.emp_id = @emp_id AND m.enabled = 'Y' ");
|
|
|
DynamicParameters htParams = new DynamicParameters();
|
|
|
htParams.Add("@emp_id", empId);
|
|
|
List<SysWebMenu> result = dbConn.Query<SysWebMenu>(SqlStringBuilder.ToString(), htParams).ToList();
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 根据登录账号获取首页菜单列表
|
|
|
/// </summary>
|
|
|
/// <param name="empId"></param>
|
|
|
/// <returns></returns>
|
|
|
public Hashtable getHomeMenuListByUser(int empId, string menuId)
|
|
|
{
|
|
|
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
|
|
|
{
|
|
|
dbConn.Open();
|
|
|
Hashtable result = new Hashtable();
|
|
|
StringBuilder SqlStringBuilder = new StringBuilder(1024);
|
|
|
SqlStringBuilder.Append("SELECT m.* ");
|
|
|
SqlStringBuilder.Append("FROM sys_web_menu m ");
|
|
|
SqlStringBuilder.Append(" JOIN sys_role_privliege rp ON m.menu_id = rp.fun_name ");
|
|
|
SqlStringBuilder.Append(" AND rp.program = 'web' ");
|
|
|
SqlStringBuilder.Append(" JOIN sys_role_emp re ON rp.role_id = re.role_id ");
|
|
|
SqlStringBuilder.Append("WHERE re.emp_id = @emp_id ");
|
|
|
SqlStringBuilder.Append(" AND m.enabled = 'Y' ");
|
|
|
SqlStringBuilder.Append(" AND m.parent_id = 0 ");
|
|
|
SqlStringBuilder.Append(" AND m.menu_id <> 0 ");
|
|
|
SqlStringBuilder.Append(" AND m.menu_id = @menu_id ");
|
|
|
Hashtable htParams = new Hashtable();
|
|
|
htParams.Add("@emp_id", empId);
|
|
|
htParams.Add("@menu_id", menuId);
|
|
|
List<SysWebMenu> dataList = dbConn.Query<SysWebMenu>(SqlStringBuilder.ToString(), htParams).ToList();
|
|
|
result.Add("dataList", dataList);
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 根据登录账号获取Main页主菜单列表
|
|
|
/// </summary>
|
|
|
/// <param name="empId"></param>
|
|
|
/// <returns></returns>
|
|
|
public List<SysWebMenu> getMainMenuListByUser(int empId, string menuId)
|
|
|
{
|
|
|
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
|
|
|
{
|
|
|
dbConn.Open();
|
|
|
StringBuilder SqlStringBuilder = new StringBuilder(1024);
|
|
|
SqlStringBuilder.Append("SELECT m.* ");
|
|
|
SqlStringBuilder.Append("FROM sys_web_menu m ");
|
|
|
SqlStringBuilder.Append(" JOIN sys_role_privliege rp ON m.menu_id = rp.fun_name ");
|
|
|
SqlStringBuilder.Append(" AND rp.program = 'web' ");
|
|
|
SqlStringBuilder.Append(" JOIN sys_role_emp re ON rp.role_id = re.role_id ");
|
|
|
SqlStringBuilder.Append("WHERE re.emp_id = @emp_id ");
|
|
|
SqlStringBuilder.Append(" AND m.enabled = 'Y' ");
|
|
|
SqlStringBuilder.Append(" AND m.parent_id = @menu_id ");
|
|
|
SqlStringBuilder.Append("ORDER BY m.sort_num ");
|
|
|
Hashtable htParams = new Hashtable();
|
|
|
htParams.Add("@emp_id", empId);
|
|
|
htParams.Add("@menu_id", menuId == null || menuId.Trim().Equals("") ? "-1" : menuId);
|
|
|
List<SysWebMenu> dataList = dbConn.Query<SysWebMenu>(SqlStringBuilder.ToString(), htParams).ToList();
|
|
|
return dataList;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 根据分页条件获取分页数据列表
|
|
|
/// </summary>
|
|
|
public Hashtable getListByPage(int PageSize, int PageIndex, string strWhere, string OrderBy)
|
|
|
{
|
|
|
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
|
|
|
{
|
|
|
dbConn.Open();
|
|
|
Hashtable result = new Hashtable();
|
|
|
|
|
|
DynamicParameters parameters = new DynamicParameters();
|
|
|
parameters.Add( "@TotalCount", 100, DbType.Int32, ParameterDirection.Output);
|
|
|
parameters.Add( "@TotalPage", 100, DbType.Int32, ParameterDirection.Output);
|
|
|
parameters.Add( "@Table", "g_sn_picture a left join sys_terminal b on a.terminal_id=b.terminal_id ");
|
|
|
parameters.Add( "@Column", "a.serial_number,a.file_path,terminal_name,a.create_time,a.enabled ");
|
|
|
parameters.Add( "@OrderColumn", OrderBy);
|
|
|
parameters.Add( "@GroupColumn", "");
|
|
|
parameters.Add( "@PageSize", PageSize);
|
|
|
parameters.Add( "@CurrentPage", PageIndex);
|
|
|
parameters.Add( "@Group", 0);
|
|
|
parameters.Add( "@Condition", strWhere);
|
|
|
|
|
|
List<GSnPicture> depts = dbConn.Query<GSnPicture>("Com_Pagination", parameters, commandType: CommandType.StoredProcedure).ToList();
|
|
|
result.Add("dataList", depts);
|
|
|
result.Add("totalCount", parameters.Get<int>("@TotalCount"));
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
#endregion 成员方法
|
|
|
}
|
|
|
}
|