From 34bfa7df61921f7d1798fc08db0b8d81828da96b Mon Sep 17 00:00:00 2001
From: hwh <332078369@qq.com>
Date: 星期二, 02 七月 2024 08:07:57 +0800
Subject: [PATCH] 物料、部门、功能设定

---
 Wms/WMS.BLL/SysServer/FunSettingServer.cs |  119 +++++++++++++++++++++--------------------------------------
 1 files changed, 42 insertions(+), 77 deletions(-)

diff --git a/Wms/WMS.BLL/SysServer/FunSettingServer.cs b/Wms/WMS.BLL/SysServer/FunSettingServer.cs
index dca6393..8f0606c 100644
--- a/Wms/WMS.BLL/SysServer/FunSettingServer.cs
+++ b/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 setData = await Db.Queryable<SysFunSetting>().FirstAsync(m => m.IsDel == "0" && m.GroupNo == settingdto.GroupNo && m.SetValue == settingdto.SetValue);
+            if (setData != null)
             {
-                //鏄犲皠妯″瀷
-                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);
-                    if (setData!=null)
-                    {
-                        throw new Exception("鍚岀粍鍐呰瀹氬�奸噸澶�");
-                    }
-                    //鏂板
-                    i = await _setting.AddFunSettings(setting);
-                }
-                return i;
+                throw Oops.Bah("鍚岀粍鍐呰瀹氬�奸噸澶�");
             }
-            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);
+            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);
-                if (setData != null)
-                {
-                    throw new Exception("鍚岀粍鍐呰瀹氬�奸噸澶�");
-                }
-                //缂栬緫
-                int i = await _setting.ExitFunSettings(setting);
-                return i;
-            }
-            catch (Exception ex)
+            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(ex.Message);
+                throw Oops.Bah("鍚岀粍鍐呰瀹氬�奸噸澶�");
             }
+            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();
         }
     }
 }

--
Gitblit v1.8.0