using Dm; using Model.ModelDto.SysDto; using Model.ModelVm.SysVm; using SqlSugar; using System; using System.Collections.Generic; using System.Data; using System.Text; using System.Threading.Tasks; using WMS.Entity.Context; using WMS.Entity.SysEntity; using WMS.IDAL.ISysInterface; namespace WMS.DAL.SysInfrastructure { /// <summary> /// 角色仓储实践 /// </summary> public class RolesRepository : BaseRepository<SysRoles>, IRolesRepository { private static readonly SqlSugarScope Db = DataContext.Db; public RolesRepository() : base(Db) { } /// <summary> /// 查询角色数æ®ä¿¡æ¯åˆ—表 /// </summary> /// <param name="RoleNo">角色å·</param> /// <param name="RoleName">角色åç§°</param> /// <returns></returns> public List<RoleDto> GetRoleList(string RoleNo, string RoleName,string UserId) { string whereSql = " role.IsDel = '0' "; if (!string.IsNullOrEmpty(UserId)) { SysUserInfor userEntry = Db.Ado.SqlQuerySingle<SysUserInfor>($"select * from SysUserInfor where Id={UserId}"); if (userEntry != null && userEntry.UserName.ToUpper() !="ADMIN") { //除系统超级管ç†å‘˜admin外其他账å·è§’色æƒé™åˆ—表åªèƒ½çœ‹åˆ°è‡ªå·±åˆ›å»ºçš„角色 whereSql += $" and role.CreateUser = {UserId}"; } } if (!string.IsNullOrEmpty(RoleNo)) { whereSql += $" and role.RoleNo like '%{RoleNo}%' "; } if (!string.IsNullOrEmpty(RoleName)) { whereSql += $" and role.RoleName like '%{RoleName}%' "; } string str = $@"select role.*, user1.RealName CreateUserName, user2.RealName UpdateUserName from SysRoles role left join SysUserInfor user1 on role.CreateUser = user1.Id left join SysUserInfor user2 on role.UpdateUser = user2.Id where {whereSql} order by role.Id"; List<RoleDto> roles = Db.Ado.SqlQuery<RoleDto>(str); return roles; } /// <summary> /// æ ¹æ®ç¼–å·èŽ·å–用户信æ¯åˆ—表 /// </summary> /// <param name="RoleNo">角色å·</param> /// <returns></returns> public List<SysRoles> GetRoleByNo(string RoleNo) { string str = "select * from SysRoles where RoleNo = @roleno"; List<SysRoles> userlist = Db.Ado.SqlQuery<SysRoles>(str, new { roleno = RoleNo //è§’è‰²å· }); return userlist; } /// <summary> /// 新增角色数æ®ä¿¡æ¯ /// </summary> /// <param name="roles">角色实体模型</param> /// <returns></returns> public async Task<int> InsertRoleInfo(SysRoles roles) { string str = "insert into SysRoles values(@roleno, @rolename, @demo, @isdel, @createtime, @createuser, null, null)"; int i = await Db.Ado.ExecuteCommandAsync(str, new { roleno = roles.RoleNo, //è§’è‰²å· rolename = roles.RoleName, //角色åç§° demo = roles.Demo, //备注 isdel = "0", //是å¦åˆ 除 createtime = Db.GetDate(), //创建时间 createuser = roles.CreateUser, //创建人 }); return i; } /// <summary> /// åˆ é™¤\批é‡åˆ é™¤è§’è‰²ä¿¡æ¯ /// </summary> /// <param name="roles">角色实体模型</param> /// <returns></returns> public async Task<int> DeleteRoleInfo(SysRoles roles) { string str = "update SysRoles set IsDel = @isdel, UpdateTime = @updatetime, UpdateUser = @updateuser where Id in (@id)"; //åˆ é™¤\批é‡åˆ 除 int i = await Db.Ado.ExecuteCommandAsync(str, new { isdel = "1", //是å¦åˆ 除 updatetime = Db.GetDate(), //更改时间 updateuser = roles.UpdateUser, //更改人 id = roles.Id //角色id }); return i; } /// <summary> /// ç¼–è¾‘è§’è‰²ä¿¡æ¯ /// </summary> /// <param name="role">角色实体模型</param> /// <returns></returns> public async Task<int> UpdateRoleInfo(SysRoles role) { string str = "update SysRoles set RoleName = @rolename, Demo = @demo, UpdateTime = @updatetime, UpdateUser = @updateuser where Id = @id"; //修改 int i = await Db.Ado.ExecuteCommandAsync(str, new { roleno = role.RoleNo, //è§’è‰²å· rolename = role.RoleName, //角色åç§° demo = role.Demo, //备注 updatetime = Db.GetDate(), //更改时间 updateuser = role.UpdateUser, //更改人 id = role.Id //角色id }); return i; } /// <summary> /// æ ¹æ®id获å–è§’è‰²ä¿¡æ¯ /// </summary> /// <param name="roleid">角色id</param> /// <returns></returns> public SysRoles GetRoleInfoById(int roleid) { string str = "select * from SysRoles where Id = @id and IsDel = @isdel"; SysRoles role= Db.Ado.SqlQuerySingle<SysRoles>(str, new { id = roleid, //角色id isdel = "0" //是å¦åˆ 除 }); return role; } } }