hwh
2024-07-02 34bfa7df61921f7d1798fc08db0b8d81828da96b
Wms/WMS.BLL/SysServer/FunSettingServer.cs
@@ -12,6 +12,8 @@
using WMS.Entity.SysEntity;
using WMS.IBLL.ISysServer;
using WMS.IDAL.ISysInterface;
using Utility;
using Microsoft.AspNetCore.Identity;
namespace WMS.BLL.SysServer
{
@@ -24,15 +26,17 @@
        /// </summary>
        private readonly IFunSettingRepository _setting;
        private readonly IMapper _mapper;
        private readonly UserManager _userManager;
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="setting">功能设定</param>
        /// <param name="mapper">automapper</param>
        public FunSettingServer(IFunSettingRepository setting, IMapper mapper) : base(Db)
        public FunSettingServer(IFunSettingRepository setting, IMapper mapper, UserManager userManager) : base(Db)
        {
            _setting = setting;//功能设定
            _mapper = mapper;//automapper
            _userManager = userManager;
        }
@@ -43,11 +47,16 @@
        /// <param name="IsEnable">开启状态</param>
        /// <param name="GroupNo">组号</param>
        /// <returns></returns>
        public List<FunSettingDto> GetFunSettingList(string FunSetName, string IsEnable, string GroupNo)
        public async Task<List<FunSettingDto>> GetFunSettingList(string FunSetName, string IsEnable, string GroupNo)
        {
            List<FunSettingDto> settinglist = _setting.GetFunSettingList(FunSetName, IsEnable, GroupNo);
            return settinglist;
            return await Db.Queryable<SysFunSetting>()
                           .LeftJoin<SysUserInfor>((a, b) => a.CreateUser == b.Id)
                           .WhereIF(!string.IsNullOrEmpty(FunSetName), a => a.FunSetName.Contains(FunSetName))
                           .WhereIF(!string.IsNullOrEmpty(GroupNo), a => a.GroupNo.Contains(GroupNo))
                           .WhereIF(!string.IsNullOrEmpty(IsEnable), a => a.IsEnable == IsEnable)
                           .Where(a => a.IsDel == "0")
                           .Select<FunSettingDto>((a, b) => new FunSettingDto() { CreateName = b.RealName }, true)
                           .ToListAsync();
        }
        /// <summary>
@@ -55,10 +64,9 @@
        /// </summary>
        /// <param name="id">功能id</param>
        /// <returns></returns>
        public SysFunSetting GetFunSettingById(int id)
        public async Task<SysFunSetting> GetFunSettingById(int id)
        {
            SysFunSetting settinglist = _setting.GetFunSettingById(id);
            return settinglist;
            return await Db.Queryable<SysFunSetting>().FirstAsync(s => s.Id == id);
        }
        /// <summary>
@@ -66,18 +74,9 @@
        /// </summary>
        /// <param name="funSetNo">功能编号</param>
        /// <returns></returns>
        public SysFunSetting GetFunSettingByNo(string funSetNo)
        public async Task<SysFunSetting> GetFunSettingByNo(string funSetNo)
        {
            try
            {
                var list = Db.Queryable<SysFunSetting>().First(a => a.IsDel == "0" && a.FunSetNo == funSetNo);
                return list;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return await Db.Queryable<SysFunSetting>().FirstAsync(a => a.IsDel == "0" && a.FunSetNo == funSetNo);
        }
        ///// <summary>
@@ -99,36 +98,16 @@
        /// <exception cref="Exception">捕获异常</exception>
        public async Task<int> AddFunSettings(FunSettingDto settingdto)
        {
            //捕获异常
            try
            {
                //映射模型
                SysFunSetting setting = _mapper.Map<SysFunSetting>(settingdto);
                //判断功能编号是否唯一
                var set = GetFunSettingByNo(setting.FunSetNo);
                int i = 0;
                if (set != null)
                {
                    i = 3;
                }
                else if (set == null)
                {
                    var setData = Db.Queryable<SysFunSetting>()
                        .First(m => m.IsDel == "0" && m.GroupNo == settingdto.GroupNo && m.SetValue==settingdto.SetValue);
            var setData = await Db.Queryable<SysFunSetting>().FirstAsync(m => m.IsDel == "0" && m.GroupNo == settingdto.GroupNo && m.SetValue == settingdto.SetValue);
                    if (setData!=null)
                    {
                        throw new Exception("同组内设定值重复");
                throw Oops.Bah("同组内设定值重复");
                    }
                    //新增
                    i = await _setting.AddFunSettings(setting);
                }
                return i;
            }
            catch (Exception ex)
            {
                //抛出异常
                throw new Exception(ex.Message);
            }
            setting.CreateTime = DateTime.Now;
            setting.CreateUser = _userManager.UserId;
            return await Db.Insertable(setting).ExecuteCommandAsync();
        }
        /// <summary>
@@ -139,18 +118,12 @@
        /// <exception cref="Exception">捕获异常</exception>
        public async Task<int> DelFunSettings(SysFunSetting funSetting)
        {
            //捕获异常
            try
            {
                //删除
                int i = await _setting.DelFunSettings(funSetting);
                return i;
            }
            catch (Exception ex)
            {
                //抛出异常
                throw new Exception("删除功能异常", ex);
            }
            return await Db.Updateable<SysFunSetting>()
                           .Where(s => s.Id == funSetting.Id)
                           .SetColumns(s => s.IsDel == "1")
                           .SetColumns(s => s.UpdateTime == DateTime.Now)
                           .SetColumns(s => s.UpdateUser == _userManager.UserId)
                           .ExecuteCommandAsync();
        }
        /// <summary>
@@ -161,27 +134,19 @@
        /// <exception cref="Exception">捕获异常</exception>
        public async Task<int> ExitFunSettings(FunSettingDto settingdto)
        {
            //捕获异常
            try
            {
                //映射模型
                SysFunSetting setting = _mapper.Map<SysFunSetting>(settingdto);
                var setData = Db.Queryable<SysFunSetting>()
                    .First(m => m.IsDel == "0" && m.GroupNo == settingdto.GroupNo && m.SetValue == settingdto.SetValue && m.Id!=settingdto.Id);
            var setData = await Db.Queryable<SysFunSetting>()
                .FirstAsync(m => m.IsDel == "0" && m.GroupNo == settingdto.GroupNo && m.SetValue == settingdto.SetValue && m.Id != settingdto.Id);
                if (setData != null)
                {
                    throw new Exception("同组内设定值重复");
                throw Oops.Bah("同组内设定值重复");
                }
                //编辑
                int i = await _setting.ExitFunSettings(setting);
                return i;
            }
            catch (Exception ex)
            {
                //抛出异常
                throw new Exception(ex.Message);
            }
            setting.UpdateUser = _userManager.UserId;
            setting.UpdateTime = DateTime.Now;
            return await Db.Updateable(setting)
                .UpdateColumns(s => new { s.FunSetName, s.SetValue, s.FunText, s.IsEnable, s.Ord, s.GroupNo, s.UpdateUser, s.UpdateTime })
                .ExecuteCommandAsync();
        }
    }
}