using OASystem.Domain; using OASystem.Domain.Entities.System; using OASystem.Domain.ViewModels.System; namespace OASystem.Infrastructure.Repositories.System { public class SystemMenuPermissionRepository : BaseRepository<Sys_SystemMenuPermission, SystemMenuPermissionView> { public SystemMenuPermissionRepository(SqlSugarClient sqlSugar) : base(sqlSugar) { } /// <summary> /// 分页查询页面表 /// </summary> /// <param name="_SystemMenuPermissionRepository"></param> /// <param name="mid">模块id</param> /// <param name="pageSize">行数</param> /// <param name="currentPage">页码</param> /// <returns></returns> public Result GetSystemMenuViweData(SystemMenuPermissionRepository _SystemMenuPermissionRepository,int mid,int pageSize,int currentPage) { Result result = new Result(); if (currentPage == 0 || pageSize == 0) { return result; } string sql = $@"select top {pageSize} * from (select row_number() over(order by id asc) as rownumber,* from Sys_SystemMenuPermission where mid = {mid} and isdel = 0 and IsEnable = 1 ) temp_row where rownumber> {(currentPage - 1) * pageSize};"; var DBdata = _SystemMenuPermissionRepository.GetListBySqlWithNolock(sql); if (DBdata == null || DBdata.Count == 0) { result.Code = -1; result.Msg = "暂无数据!"; result.Data = new { DBdata, total = 0 }; return result; } var total = _SystemMenuPermissionRepository.Query<Sys_SystemMenuPermission>(x => x.Mid == mid).Count(); result.Code = 0; result.Msg = "成功!"; result.Data = new { DBdata = DBdata.Select(x => new SystemMenuPermissionView { Id = x.Id, Name = x.Name, Mid = mid, SystemMenuCode = x.SystemMenuCode }), total = total }; return result; } public Result QueryMenuLoad(int uid,int PortType) { Result result = new Result(); if (uid != 0) { List<MenuLoadView> DBData = new List<MenuLoadView>(); string sql = $@" select a.UId,a.SmId,b.Id as Funid,b.FunctionName,b.FunctionCode,c.Id as modulid, c.Name as modulName,c.STid,d.Id as pageid ,d.Name as PageName,d.SystemMenuCode,d.webUrl,d.AndroidUrl,d.icon, d.IosUrl from Sys_UserAuthority a inner join Sys_PageFunctionPermission b on a.FId = b.Id inner join Sys_SystemMenuPermission d on a.SmId = d.Id inner join Sys_SetData c on c.Id = d.Mid where uid = {uid} and b.Id = 1 and a.IsDel= 0 and b.IsDel = 0 and b.IsEnable = 1 and c.IsDel = 0 and d.IsDel = 0 "; if (PortType == 1) { sql += $@" and d.IsEnable = 1 group by a.UId,a.SmId,b.Id,b.FunctionName,b.FunctionCode,c.Id, c.Name,c.STid,d.Id,d.Name,d.SystemMenuCode,d.webUrl,d.AndroidUrl,d.icon, d.IosUrl"; DBData = _sqlSugar.SqlQueryable<MenuLoadView>(sql).ToList(); } else if (PortType == 2) { sql += $@" and d.phoneIsEnable = 1 group by a.UId,a.SmId,b.Id,b.FunctionName,b.FunctionCode,c.Id, c.Name,c.STid,d.Id,d.Name,d.SystemMenuCode,d.webUrl,d.AndroidUrl,d.icon, d.IosUrl "; DBData = _sqlSugar.SqlQueryable<MenuLoadView>(sql).ToList(); } result.Code = -1; result.Msg = "暂无数据!"; if (DBData.Count > 0) { result.Code = 0; result.Msg = "成功!"; result.Data = DBData; } } return result; } } }