using Model.ModelDto.SysDto; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using SqlSugar; using WMS.Entity.Context; using WMS.Entity.SysEntity; using WMS.IDAL; using WMS.IDAL.ISysInterface; using System.Security.Cryptography; using System.Text.RegularExpressions; namespace WMS.DAL.SysInfrastructure { /// <summary> /// 功能设定仓储实践 /// </summary> public class FunSettingRepository : BaseRepository<SysFunSetting>, IFunSettingRepository { private static readonly SqlSugarScope Db = DataContext.Db; public FunSettingRepository() : base(Db) { } /// <summary> /// 获å–功能设定信æ¯åˆ—表 /// </summary> /// <param name="FunSetName">功能åç§°</param> /// <param name="IsEnable">å¼€å¯çжæ€</param> /// <param name="GroupNo">组å·</param> /// <returns></returns> public List<FunSettingDto> GetFunSettingList(string FunSetName, string IsEnable, string GroupNo) { string str = "select setting.*,user1.RealName CreateName from SysFunSetting setting left join SysUserInfor user1 on setting.CreateUser = user1.Id where setting.IsDel = @isdel"; //判æ–功能å称是å¦ä¸ºç©º if (!string.IsNullOrEmpty(FunSetName)) { str += " and setting.FunSetName like @funsetname"; } //判æ–å¼€å¯çŠ¶æ€ if (!string.IsNullOrEmpty(IsEnable)) { str += " and setting.IsEnable = @isenable"; } //判æ–ç»„å· if (!string.IsNullOrEmpty(GroupNo)) { str += " and setting.GroupNo like @groupno"; } //æŽ’åº str += " order by setting.GroupNo,setting.Ord,setting.Id"; List<FunSettingDto> settinglist = Db.Ado.SqlQuery<FunSettingDto>(str, new { isdel = "0", //是å¦åˆ 除 funsetname = "%" + FunSetName + "%", //功能åç§° isenable = IsEnable, //å¼€å¯çŠ¶æ€ groupno = "%" + GroupNo + "%" //ç»„å· }); return settinglist; } /// <summary> /// æ ¹æ®idæŸ¥è¯¢åŠŸèƒ½è®¾å®šä¿¡æ¯ /// </summary> /// <param name="id">功能id</param> /// <returns></returns> public SysFunSetting GetFunSettingById(int id) { string str = "select * from SysFunSetting where IsDel = @isdel and Id = @id"; SysFunSetting settinglist = Db.Ado.SqlQuery<SysFunSetting>(str, new { isdel = "0", id }).First(); return settinglist; } ///// <summary> ///// æ ¹æ®ç¼–å·æŸ¥è¯¢åŠŸèƒ½è®¾å®šä¿¡æ¯ ///// </summary> ///// <param name="FunSetNo">功能编å·</param> ///// <returns></returns> //public List<SysFunSetting> GetFunSettingByNo(string FunSetNo) //{ // string str = "select * from SysFunSetting where FunSetNo = @funsetno"; // List<SysFunSetting> settinglist = Db.Ado.SqlQuery<SysFunSetting>(str, new // { // funsetno = FunSetNo //åŠŸèƒ½ç¼–å· // }); // return settinglist; //} /// <summary> /// æ–°å¢žåŠŸèƒ½ä¿¡æ¯ /// </summary> /// <param name="setting">功能设定实体</param> /// <returns></returns> public async Task<int> AddFunSettings(SysFunSetting setting) { if (setting.FunSetNo == "Fun013") { if (int.Parse(setting.SetValue) < 5 || int.Parse(setting.SetValue) > 200) { throw new Exception("该功能必须为5到200之间"); } } string str = "insert into sysfunsetting values(@funsetno, @funsetname, @setvalue, @funtext, @isenable, @ord, @groupno, @isdel, @createtime, @createuser, null, null)"; string sql = "select * from SysFunSetting where FunSetNo = @funsetno and Ord = @ord and IsDel = @isdel"; SysFunSetting sett = new SysFunSetting(); if (!string.IsNullOrEmpty(setting.GroupNo)) { sett = Db.Ado.SqlQuerySingle<SysFunSetting>(sql, new { funsetno = setting.GroupNo, //ç»„å· ord = "1", //æ˜¾ç¤ºé¡ºåº isdel = "0" //是å¦åˆ 除 }); } int i; //获å–当å‰ç»„æ˜¾ç¤ºé¡ºåº //string sql = "select max(ord) Ord from SysFunSetting where GroupNo = @groupno and IsDel = @isdel"; //åˆ¤æ–æ˜¾ç¤ºé¡ºåºæ•°é‡æ˜¯å¦ç¬¦åˆ if (Convert.ToInt32(setting.Ord) <= 5 && Convert.ToInt32(setting.Ord) >= 1) { if (sett != null || !string.IsNullOrEmpty(setting.GroupNo)) { string sql1 = "select Count(IsEnable) IsEnable from SysFunSetting where GroupNo = @group and IsDel = @isdel and IsEnable = @isenable"; SysFunSetting count = Db.Ado.SqlQuerySingle<SysFunSetting>(sql1, new { group = setting.GroupNo, //ç»„å· isdel = "0", //是å¦åˆ 除 isenable = "No" //是å¦å¼€å¯ æ¯ä¸€ç»„åªèƒ½æœ‰ä¸€ä¸ªå¼€å¯ }); if (count.IsEnable == "0" || setting.IsEnable == "OFF") { i = await Db.Ado.ExecuteCommandAsync(str, new { funsetno = setting.FunSetNo, //åŠŸèƒ½ç¼–å· funsetname = setting.FunSetName, //功能åç§° setvalue = setting.SetValue, //设定值 funtext = setting.FunText, //功能æè¿° isenable = setting.IsEnable, //是å¦å¼€å¯ ord = setting.GroupNo == "" ? "1" : setting.Ord, groupno = setting.GroupNo == "" ? setting.FunSetNo : setting.GroupNo, //ç»„å· åˆ¤æ–表å•ç»„å·æ˜¯å¦ä¸ºç©º 是 当å‰ç¼–å· å¦ è¾“å…¥ç»„å· isdel = "0", //是å¦åˆ 除 createtime = Db.GetDate(), //创建时间 createuser = setting.CreateUser //创建人 }); } else { i = 6; } } else { i = 5; } } else { i = 4; } return i; } /// <summary> /// åˆ é™¤åŠŸèƒ½ä¿¡æ¯ /// </summary> /// <param name="setting">功能设定实体</param> /// <returns></returns> public async Task<int> DelFunSettings(SysFunSetting setting) { string str = "update SysFunSetting set IsDel = @isdel,UpdateTime = @updatetime,UpdateUser = @updateuser where id = @id"; int i = await Db.Ado.ExecuteCommandAsync(str, new { isdel = "1", //是å¦åˆ 除 updatetime = Db.GetDate(), //更改时间 updateuser = setting.CreateUser, //更改人 id = setting.Id //id }); return i; } /// <summary> /// ç¼–è¾‘åŠŸèƒ½ä¿¡æ¯ /// </summary> /// <param name="setting">功能设定实体</param> /// <returns></returns> public async Task<int> ExitFunSettings(SysFunSetting setting) { if (setting.FunSetNo == "Fun013") { if (int.Parse(setting.SetValue) < 5 || int.Parse(setting.SetValue) > 200) { throw new Exception("该功能必须为5到200之间"); } } string str = "update SysFunSetting set FunSetName = @funsetname, SetValue = @setvalue, FunText = @funtext, IsEnable = @isenable, Ord = @ord, GroupNo = @groupno, UpdateTime = @updatetime,UpdateUser = @updateuser where id = @id"; int i; string sql1 = "select Count(IsEnable) IsEnable from SysFunSetting where GroupNo = @group and IsDel = @isdel and IsEnable = @isenable and Id!= @id "; SysFunSetting count = Db.Ado.SqlQuerySingle<SysFunSetting>(sql1, new { group = setting.GroupNo, //ç»„å· isdel = "0", //是å¦åˆ 除 isenable = "No", //是å¦å¼€å¯ æ¯ä¸€ç»„åªèƒ½æœ‰ä¸€ä¸ªå¼€å¯ id = setting.Id }); if (count.IsEnable == "0" || setting.IsEnable == "OFF") { i = await Db.Ado.ExecuteCommandAsync(str, new { funsetname = setting.FunSetName, //功能åç§° setvalue = setting.SetValue, //设定值 funtext = setting.FunText, //功能æè¿° isenable = setting.IsEnable, //是å¦å¼€å¯ ord = setting.Ord, //æ˜¾ç¤ºé¡ºåº groupno = setting.GroupNo, //ç»„å· updatetime = Db.GetDate(), //更改时间 updateuser = setting.CreateUser, //更改人 id = setting.Id //id }); } else { i = 6; } return i; } } }