using Microsoft.VisualBasic; using Model.ModelDto.LogDto; using Model.ModelDto.SysDto; using SqlSugar; using System; using System.Collections.Generic; using System.Text; using System.Threading.Tasks; using WMS.Entity.Context; using WMS.Entity.LogEntity; using WMS.Entity.SysEntity; using WMS.IDAL.ILogInterface; namespace WMS.DAL.LogInterface { /// <summary> /// 系统æ“作日志仓储实践 /// </summary> public class OperationSysRepository : BaseRepository<LogOperationSys>, IOperationSysRepository { private static readonly SqlSugarScope Db = DataContext.Db; public OperationSysRepository() : base(Db) { } /// <summary> /// 获å–系统æ“作日志数æ®åˆ—表 /// </summary> /// <param name="menuName">èœå•åç§°</param> /// <param name="type">æ“作类型</param> /// <param name="msg">æ“作内容</param> /// <param name="menuNo">èœå•å·</param> /// <param name="parentNo">模å—å·</param> /// <returns></returns> public List<OperationDto> GetSysOperationList(string menuName, string type, string msg, string menuNo, string parentNo) { string str = "select logsys.*,user1.RealName CreateUserName,dic.DictName TypeName from LogOperationSys logsys left join SysUserInfor user1 on logsys.CreateUser = user1.Id left join SysFunctionMenu menu on logsys.ParentNo = menu.MenuNo left join SysDictionary dic on logsys.type = dic.Id where logsys.IsDel = @isdel and logsys.ParentNo = (select MenuNo from SysFunctionMenu where IsDel = @isdel and MenuName = @menuname)"; //判æ–èœå•å称是å¦ä¸ºç©º if (!string.IsNullOrEmpty(menuName)) { str += " and logsys.MenuName like @mname"; } //åˆ¤æ–æ“作类型是å¦ä¸ºç©º if (!string.IsNullOrEmpty(type)) { str += " and logsys.Type = @type"; } //åˆ¤æ–æ“作内容是å¦ä¸ºç©º if (!string.IsNullOrEmpty(msg)) { str += " and logsys.Msg like @msg"; } //判æ–èœå•å·æ˜¯å¦ä¸ºç©º if (!string.IsNullOrEmpty(menuNo)) { str += " and logsys.MenuNo = @menuno"; } str += " order by logsys.CreateTime desc"; List<OperationDto> operationlist = Db.Ado.SqlQuery<OperationDto>(str, new { isdel = "0", //是å¦åˆ 除 menuname = parentNo, //模å—åç§°èŽ·å–æ¨¡å—å· mname = "%" + menuName + "%", //èœå•åç§° type, //æ“作类型 msg = "%" + msg + "%", //æ“作内容 menuno = menuNo //èœå•å· }); return operationlist; } /// <summary> /// 新增系统æ“作日志 /// </summary> /// <param name="parentNo">模å—å·</param> /// <param name="menuNo">èœå•å·</param> /// <param name="menuName">èœå•åç§°</param> /// <param name="fkNo">æ•°æ®ç¼–å·</param> /// <param name="type">æ“作类型</param> /// <param name="msg">æ“作内容</param> /// <param name="createUsercreateUser">创建人</param> /// <returns></returns> public async Task<int> InsertOperation(string parentNo, string menuNo, string menuName, string fkNo, string type, string msg, int createUser) { type = Db.Ado.SqlQuerySingle<SysDictionary>("select * from SysDictionary where IsDel = @isdel and DictName = @dictname", new { isdel = "0", //是å¦åˆ 除 dictname = type == "修改" ? "编辑" : type //å—å…¸åç§° }).Id.ToString(); string str = "insert into LogOperationSys values(@parentno, @menuno, @menuname, @fkno, @type, @msg, @isdel, @createtime, @createuser, null,null)"; int i = await Db.Ado.ExecuteCommandAsync(str, new { parentno = parentNo, //模å—å· menuno = menuNo, //èœå•å· menuname = menuName, //èœå•åç§° fkno = fkNo, //æ•°æ®ç¼–å· type, //æ“作类型 msg, //æ“作内容 isdel = "0", //是å¦åˆ 除 createtime = Db.GetDate(), //创建时间 createuser = createUser //创建人 }); return i; } /// <summary> /// æ ¹æ®èœå•å称获å–èœå•å· /// </summary> /// <param name="ParentNo"></param> /// <param name="MenuNo"></param> public SysFunctionMenu GetMenuList(string menuName) { string str = "select MenuNo from SysFunctionMenu where MenuName = @menuname and IsDel = @isdel"; SysFunctionMenu menu = Db.Ado.SqlQuerySingle<SysFunctionMenu>(str, new { menuname = menuName, //èœå•åç§° isdel = "0" //是å¦åˆ 除 }); return menu; } /// <summary> /// 获å–类型èœå• /// </summary> /// <param name="dicName">å—å…¸åç§°</param> /// <returns></returns> public List<SysDictionary> GetDicTypeList(string dicName) { string str = "select * from SysDictionary where IsDel = @isdel and ParentNo = (select DictNo from SysDictionary where DictName = @dictname)"; List<SysDictionary> diclist = Db.Ado.SqlQuery<SysDictionary>(str, new { isdel = "0", //是å¦åˆ 除 dictname = dicName //å—å…¸åç§° }); return diclist; } } }