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/DepartmentServer.cs |  106 +++++++++++++++++++++++-----------------------------
 1 files changed, 47 insertions(+), 59 deletions(-)

diff --git a/Wms/WMS.BLL/SysServer/DepartmentServer.cs b/Wms/WMS.BLL/SysServer/DepartmentServer.cs
index b7d1a9c..e9129e5 100644
--- a/Wms/WMS.BLL/SysServer/DepartmentServer.cs
+++ b/Wms/WMS.BLL/SysServer/DepartmentServer.cs
@@ -7,6 +7,11 @@
 using WMS.Entity.SysEntity;
 using WMS.IBLL.ISysServer;
 using WMS.IDAL.ISysInterface;
+using SqlSugar;
+using WMS.Entity.Context;
+using Utility;
+using Microsoft.AspNetCore.Identity;
+using System.Data;
 
 namespace WMS.BLL.SysServer
 {
@@ -20,15 +25,18 @@
         /// </summary>
         private readonly IDepartmentRepository _department;
         readonly IMapper _mapper;
+        private static readonly SqlSugarScope Db = DataContext.Db;
+        private readonly UserManager _userManager;
         /// <summary>
         /// 鏋勯�犲嚱鏁�
         /// </summary>
         /// <param name="server">閮ㄩ棬浠撳偍鎺ュ彛</param>
         /// <param name="mapper">automapper</param>
-        public DepartmentServer(IDepartmentRepository department, IMapper mapper)
+        public DepartmentServer(IDepartmentRepository department, IMapper mapper, UserManager userManager)
         {
             _department = department;//閮ㄩ棬
             _mapper = mapper;//automapper
+            _userManager = userManager;
         }
 
         /// <summary>
@@ -37,10 +45,15 @@
         /// <param name="DepartmentName">閮ㄩ棬鍚嶇О</param>
         /// <param name="DepartmentNo">閮ㄩ棬鍙�</param>
         /// <returns></returns>
-        public List<DepartmentDto> GetDepartmentList(string DepartmentName, string DepartmentNo)
+        public async Task<List<DepartmentDto>> GetDepartmentList(string DepartmentName, string DepartmentNo)
         {
-            List<DepartmentDto> departmentlist = _department.GetDepartmentList(DepartmentName, DepartmentNo);
-            return departmentlist;
+            return await Db.Queryable<SysDepartment>()
+                           .LeftJoin<SysUserInfor>((a, b) => a.CreateUser == b.Id)
+                           .WhereIF(!string.IsNullOrEmpty(DepartmentNo), a => a.DepartmentNo.Contains(DepartmentNo))
+                           .WhereIF(!string.IsNullOrEmpty(DepartmentName), a => a.DepartmentName.Contains(DepartmentName))
+                           .Where(a => a.IsDel == "0")
+                           .Select<DepartmentDto>((a, b) => new DepartmentDto() { CreateUserName = b.RealName }, true)
+                           .ToListAsync();
         }
 
         /// <summary>
@@ -48,22 +61,20 @@
         /// </summary>
         /// <param name="id">閮ㄩ棬id</param>
         /// <returns></returns>
-        public SysDepartment GetDepartmentById(int id)
+        public async Task<SysDepartment> GetDepartmentById(int id)
         {
-            SysDepartment department = _department.GetDepartmentById(id);
-            return department;
+            return await Db.Queryable<SysDepartment>().FirstAsync(s => s.Id == id);
         }
 
         /// <summary>
         /// 鏍规嵁閮ㄩ棬鍙疯幏鍙栭儴闂ㄤ俊鎭�
         /// </summary>
         /// <returns></returns>
-        public int GetDepartmentByNo(string DepartmentNo)
+        public async Task<int> GetDepartmentByNo(string DepartmentNo)
         {
-            List<SysDepartment> department = _department.GetDepartmentByNo(DepartmentNo);
-            return department.Count;
+            return await Db.Queryable<SysDepartment>().CountAsync(s => s.DepartmentNo == DepartmentNo && s.IsDel == "0");
         }
-      
+
         /// <summary>
         /// 鏂板閮ㄩ棬淇℃伅
         /// </summary>
@@ -72,30 +83,18 @@
         /// <exception cref="Exception">鎹曡幏寮傚父</exception>
         public async Task<int> AddDepartment(DepartmentDto departmentdto)
         {
-            //鎹曡幏寮傚父
-            try
+            //妯″瀷鏄犲皠
+            SysDepartment department = _mapper.Map<SysDepartment>(departmentdto);
+            //鍒ゆ柇閮ㄩ棬鍙锋槸鍚﹀敮涓�
+            int count = await GetDepartmentByNo(department.DepartmentNo);
+            if (count > 0)
             {
-                //妯″瀷鏄犲皠
-                SysDepartment department = _mapper.Map<SysDepartment>(departmentdto);
-                //鍒ゆ柇閮ㄩ棬鍙锋槸鍚﹀敮涓�
-                int count = GetDepartmentByNo(department.DepartmentNo);
-                int i = 0;
-                if (count > 0)
-                {
-                    i = 3;
-                }
-                else if (count == 0)
-                {
-                    i = await _department.AddDepartment(department);
-                }
-                 return i;
-                
+                throw Oops.Bah("閮ㄩ棬鍙峰繀椤诲敮涓�");
             }
-            catch (Exception ex)
-            {
-                //鎶涘嚭寮傚父
-                throw new Exception("鏂板閮ㄩ棬寮傚父", ex);
-            }
+            department.CreateTime = DateTime.Now;
+            department.CreateUser = _userManager.UserId;
+            return await Db.Insertable(department).ExecuteCommandAsync();
+
         }
 
         /// <summary>
@@ -106,18 +105,12 @@
         /// <exception cref="Exception">鎹曡幏寮傚父</exception>
         public async Task<int> DelDepartment(SysDepartment department)
         {
-            //鎹曡幏寮傚父
-            try
-            {
-                //鍒犻櫎
-                int i = await _department.DelDepartment(department);
-                return i;
-            }
-            catch (Exception ex)
-            {
-                //鎶涘嚭寮傚父
-                throw new Exception("鍒犻櫎閮ㄩ棬寮傚父", ex);
-            }
+            return await Db.Updateable<SysDepartment>()
+                           .Where(s => s.Id == department.Id)
+                           .SetColumns(s => s.IsDel == "1")
+                           .SetColumns(s => s.UpdateTime == DateTime.Now)
+                           .SetColumns(s => s.UpdateUser == _userManager.UserId)
+                           .ExecuteCommandAsync();
         }
 
         /// <summary>
@@ -128,20 +121,15 @@
         /// <exception cref="Exception">鎹曡幏寮傚父</exception>
         public async Task<int> ExitDepartment(DepartmentDto departmentdto)
         {
-            //鎹曡幏寮傚父
-            try
-            {
-                //妯″瀷鏄犲皠
-                SysDepartment department = _mapper.Map<SysDepartment>(departmentdto);
-                //缂栬緫
-                int i = await _department.ExitDepartment(department);
-                return i;
-            }
-            catch (Exception ex)
-            {
-                //鎶涘嚭寮傚父
-                throw new Exception("缂栬緫閮ㄩ棬寮傚父", ex);
-            }
+            SysDepartment department = _mapper.Map<SysDepartment>(departmentdto);
+            int count = await Db.Queryable<SysDepartment>().CountAsync(s => s.DepartmentNo == departmentdto.DepartmentNo && s.Id != departmentdto.Id && s.IsDel == "0");
+            if (count > 0)
+                throw Oops.Bah("閮ㄩ棬鍙峰繀椤诲敮涓�");
+            department.UpdateUser = _userManager.UserId;
+            department.UpdateTime = DateTime.Now;
+            return await Db.Updateable(department)
+                .UpdateColumns(s => new { s.DepartmentNo, s.DepartmentName, s.Demo, s.UpdateUser, s.UpdateTime })
+                .ExecuteCommandAsync();
         }
     }
 }

--
Gitblit v1.8.0