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/MaterialsServer.cs |  219 ++++++++++++++++--------------------------------------
 1 files changed, 65 insertions(+), 154 deletions(-)

diff --git a/Wms/WMS.BLL/SysServer/MaterialsServer.cs b/Wms/WMS.BLL/SysServer/MaterialsServer.cs
index 2e80823..6b0d9c7 100644
--- a/Wms/WMS.BLL/SysServer/MaterialsServer.cs
+++ b/Wms/WMS.BLL/SysServer/MaterialsServer.cs
@@ -9,6 +9,7 @@
 using AutoMapper;
 using Model.ModelDto.SysDto;
 using SqlSugar;
+using Utility;
 using WMS.DAL;
 using WMS.Entity.Context;
 using WMS.Entity.SysEntity;
@@ -25,75 +26,20 @@
         public IMaterialsRepository _mate { get; set; }
         private readonly IMapper _mapper;
         private static readonly SqlSugarScope Db = DataContext.Db;
+        private readonly UserManager _userManager;
         /// <summary>
         /// 鏋勯�犲嚱鏁�
         /// </summary>
         /// <param name="mate">鐗╂枡缂栫爜</param>
         /// <param name="mapper">automapper</param>
-        public MaterialsServer(IMaterialsRepository mate, IMapper mapper) : base(Db)
+        public MaterialsServer(IMaterialsRepository mate, IMapper mapper, UserManager userManager) : base(Db)
         {
             _mate = mate; //鐗╂枡缂栫爜
             _mapper = mapper; //automapper
+            _userManager = userManager;
         }
 
         #region wms
-
-        //public List<MaterialsDto> GetMaterialsList(string skuNo, string skuName, string type, string isInspect, int page, int limit, out int count)
-        //{
-        //    try
-        //    {
-        //        Expression<Func<SysMaterials, bool>> item = Expressionable.Create<SysMaterials>()
-        //            .AndIF(!string.IsNullOrWhiteSpace(skuNo), it => it.SkuNo.Contains(skuNo.Trim()))
-        //            .AndIF(!string.IsNullOrWhiteSpace(skuName), it => it.SkuName.Contains(skuName.Trim()))
-        //            .AndIF(!string.IsNullOrWhiteSpace(type), it => it.Type == type)
-        //            .AndIF(!string.IsNullOrWhiteSpace(isInspect), it => it.IsInspect == isInspect)
-        //            .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏�
-
-        //        var data = _mate.GetAllByOrderPageAsync(item, limit, page, out int counts)
-        //            .Includes(x => x.TypeInfo)
-        //            .Includes(x => x.EnvironmentInfo)
-        //            .Includes(x => x.UnitInfo)
-        //            .Includes(x => x.PackagInfo)
-        //            .Includes(x => x.CreateUserInfo)
-        //            .Includes(x => x.UpdateUserInfo)
-        //            .ToList();
-        //        count = counts;
-
-        //        return data.Select(m => new MaterialsDto()
-        //        {
-        //            Id = m.Id,
-        //            SkuNo = m.SkuNo,
-        //            SkuName = m.SkuName,
-        //            Standard = m.Standard,
-        //            AuditStatusNo = m.AuditStatusNo,
-        //            Type = m.Type,
-        //            TypeName = m.TypeInfo == null ? "" : m.TypeInfo.DictName,
-        //            IsControlled = m.IsControlled,
-        //            IsInspect = m.IsInspect,
-        //            Origin = m.Origin,
-        //            UnitNo = m.UnitNo,
-        //            UnitName = m.UnitInfo == null ? "" : m.UnitInfo.UnitName,
-        //            PackagNo = m.PackagNo,
-        //            PackagName = m.PackagInfo == null ? "" : m.PackagInfo.PackagName,
-        //            Environment = m.Environment,
-        //            EnvironmentName = m.EnvironmentInfo == null ? "" : m.EnvironmentInfo.DictName,
-        //            Weight = m.Weight,
-        //            Warranty = m.Warranty,
-        //            Price = m.Price,
-        //            Demo = m.Demo,
-
-        //            CreateUserName = m.CreateUserInfo == null ? "" : m.CreateUserInfo.UserName,
-        //            UpdateUserName = m.UpdateUserInfo == null ? "" : m.UpdateUserInfo.UserName,
-        //            CreateTime = m.CreateTime,
-        //            UpdateTime = m.UpdateTime
-        //        }).ToList();
-        //    }
-        //    catch (Exception e)
-        //    {
-        //        throw new Exception(e.Message);
-        //    }
-        //}
-
 
         /// <summary>
         /// 鑾峰彇鐗╂枡淇℃伅鍒楄〃
@@ -107,10 +53,21 @@
         /// <param name="environment">瀛樺偍鐜</param>
         /// <param name="categoryNo">绫诲埆缂栫爜</param>
         /// <returns></returns>
-        public List<MaterialsDto> GetMateList(string skuNo, string skuName, string auditStatusNo, string type, string isControlled, string isInspect, string environment, string categoryNo)
+        public Task<List<MaterialsDto>> GetMateList(string skuNo, string skuName, string auditStatusNo, string type, string isControlled, string isInspect, string environment, string categoryNo)
         {
-            List<MaterialsDto> matedto = _mate.GetMateList(skuNo, skuName, auditStatusNo, type, isControlled, isInspect, environment, categoryNo);
-            return matedto;
+            return Db.Queryable<SysMaterials>()
+                     .LeftJoin<SysUserInfor>((a, b) => a.CreateUser == b.Id)
+                     .WhereIF(!string.IsNullOrEmpty(skuNo), a => a.SkuNo.Contains(skuNo))
+                     .WhereIF(!string.IsNullOrEmpty(skuName), a => a.SkuNo.Contains(skuName))
+                     .WhereIF(!string.IsNullOrEmpty(auditStatusNo), a => a.AuditStatusNo == auditStatusNo)
+                     .WhereIF(!string.IsNullOrEmpty(type), a => a.Type == type)
+                     .WhereIF(!string.IsNullOrEmpty(isControlled), a => a.IsControlled == isControlled)
+                     .WhereIF(!string.IsNullOrEmpty(isInspect), a => a.IsInspect == isInspect)
+                     .WhereIF(!string.IsNullOrEmpty(environment), a => a.Environment == environment)
+                     .WhereIF(!string.IsNullOrEmpty(categoryNo), a => a.CategoryNo == categoryNo)
+                     .Where(a => a.IsDel == "0")
+                     .Select<MaterialsDto>((a, b) => new MaterialsDto() { CreateUserName = b.RealName }, true)
+                     .ToListAsync();
         }
 
         /// <summary>
@@ -118,10 +75,9 @@
         /// </summary>
         /// <param name="id">鐗╂枡id</param>
         /// <returns></returns>
-        public SysMaterials GetMateById(int id)
+        public async Task<SysMaterials> GetMateById(int id)
         {
-            SysMaterials mate = _mate.GetMateById(id);
-            return mate;
+            return await Db.Queryable<SysMaterials>().FirstAsync(s => s.Id == id);
         }
 
         /// <summary>
@@ -129,10 +85,9 @@
         /// </summary>
         /// <param name="SkuNo">鐗╂枡缂栧彿</param>
         /// <returns></returns>
-        public int GetMateByNo(string SkuNo)
+        public async Task<int> GetMateByNo(string SkuNo)
         {
-            List<SysMaterials> mate = _mate.GetMateByNo(SkuNo);
-            return mate.Count;
+            return await Db.Queryable<SysMaterials>().CountAsync(s => s.SkuNo == SkuNo && s.IsDel == "0");
         }
 
         /// <summary>
@@ -143,42 +98,22 @@
         /// <exception cref="Exception">鎹曡幏寮傚父</exception>
         public async Task<int> AddMate(MaterialsDto matedto)
         {
-            //鎹曡幏寮傚父
-            try
-            {
-                int count = GetMateByNo(matedto.SkuNo);
-
-                if (count > 0)
-                {
-                    throw new Exception("绯荤粺涓凡瀛樺湪璇ョ墿鏂�");
-                }
-                if (string.IsNullOrWhiteSpace(matedto.PackagNo))
-                {
-                    throw new Exception("鍖呰淇℃伅涓嶈兘涓虹┖");
-                }
-
-
-                //鏄犲皠妯″瀷
-                SysMaterials mate = _mapper.Map<SysMaterials>(matedto);
-                mate.AuditStatusNo = "9"; //瀹℃牳鐘舵��
-                mate.Type = mate.Type; //绫诲瀷
-                mate.IsControlled = string.IsNullOrWhiteSpace(mate.IsControlled) ? "0" : mate.IsControlled; //鏄惁鍙楁帶
-                mate.IsInspect = string.IsNullOrWhiteSpace(mate.IsInspect) ? "0" : mate.IsInspect; //鏄惁鍏嶆
-                mate.IsPasteCode = string.IsNullOrWhiteSpace(mate.IsPasteCode) ? "0" : mate.IsPasteCode; //鏄惁鍏嶆
-                mate.Origin = "WMS"; //鏉ユ簮
-                mate.IsDel = "0";
-                mate.CreateTime = Db.GetDate();
-                Db.BeginTran();
-                Db.Insertable(mate).ExecuteCommand();
-                Db.CommitTran();
-                return 1;
-            }
-            catch (Exception ex)
-            {
-                Db.RollbackTran();
-                //鎶涘嚭寮傚父
-                throw new Exception(ex.Message);
-            }
+            if (string.IsNullOrWhiteSpace(matedto.PackagNo))
+                throw Oops.Bah("鍖呰淇℃伅涓嶈兘涓虹┖");
+            if (await GetMateByNo(matedto.SkuNo) > 0)
+                throw Oops.Bah("绯荤粺涓凡瀛樺湪璇ョ墿鏂�");
+            //鏄犲皠妯″瀷
+            SysMaterials mate = _mapper.Map<SysMaterials>(matedto);
+            mate.AuditStatusNo = "9"; //瀹℃牳鐘舵��
+            mate.Type = mate.Type; //绫诲瀷
+            mate.IsControlled = string.IsNullOrWhiteSpace(mate.IsControlled) ? "0" : mate.IsControlled; //鏄惁鍙楁帶
+            mate.IsInspect = string.IsNullOrWhiteSpace(mate.IsInspect) ? "0" : mate.IsInspect; //鏄惁鍏嶆
+            mate.IsPasteCode = string.IsNullOrWhiteSpace(mate.IsPasteCode) ? "0" : mate.IsPasteCode; //鏄惁鍏嶆
+            mate.Origin = "WMS"; //鏉ユ簮
+            mate.IsDel = "0";
+            mate.CreateTime = DateTime.Now;
+            mate.CreateUser = _userManager.UserId;
+            return await Db.Insertable(mate).ExecuteCommandAsync();
         }
 
         /// <summary>
@@ -189,18 +124,12 @@
         /// <exception cref="Exception">鎹曡幏寮傚父</exception>
         public async Task<int> DelMate(SysMaterials mate)
         {
-            //鎹曡幏寮傚父
-            try
-            {
-                //鍒犻櫎
-                int i = await _mate.DelMate(mate);
-                return i;
-            }
-            catch (Exception ex)
-            {
-                //鎶涘嚭寮傚父
-                throw new Exception("鍒犻櫎鐗╂枡寮傚父", ex);
-            }
+            return await Db.Updateable<SysMaterials>()
+                           .Where(s => s.Id == mate.Id)
+                           .SetColumns(s => s.IsDel == "1")
+                           .SetColumns(s => s.UpdateTime == DateTime.Now)
+                           .SetColumns(s => s.UpdateUser == _userManager.UserId)
+                           .ExecuteCommandAsync();
         }
 
         /// <summary>
@@ -211,43 +140,27 @@
         /// <exception cref="Exception">鎹曡幏寮傚父</exception>
         public async Task<int> ExitMate(MaterialsDto matedto)
         {
-            //鎹曡幏寮傚父
-            try
+            if (matedto.AdventTime > 365 && matedto.AdventTime < 30)
             {
-                if (matedto.AdventTime > 365 && matedto.AdventTime < 30)
-                {
-                    return 2;
-                }
-                else if (string.IsNullOrWhiteSpace(matedto.PackagNo))
-                {
-                    throw new Exception("鍖呰涓嶈兘涓虹┖");
-                }
-                //else if (matedto.LowInventory > 1000)
-                //{
-                //    return 4;
-                //}
-                else
-                {
-                    //鏄犲皠妯″瀷
-                    SysMaterials mate = _mapper.Map<SysMaterials>(matedto);
-                    //缂栬緫
-                    //鏍规嵁id鑾峰彇鐗╂枡淇℃伅
-                    var list = Db.Queryable<SysMaterials>().First(a => a.IsDel == "0" && a.Id == mate.Id);
-                    //mate.CategoryNo = list.CategoryNo;
-                    mate.Origin = list.Origin;
-                    mate.CreateUser = list.CreateUser;
-                    mate.UpdateTime = Db.GetDate();
-                    mate.CreateTime = list.CreateTime;
-
-                    int i = Db.Updateable(mate).ExecuteCommand();
-                    return i;
-                }
+                throw Oops.Bah("涓存湡澶╂暟涓嶅彲澶т簬365鍙婂皬浜�30");
             }
-            catch (Exception ex)
+            else if (string.IsNullOrWhiteSpace(matedto.PackagNo))
             {
-                //鎶涘嚭寮傚父
-                throw new Exception(ex.Message);
+                throw Oops.Bah("鍖呰涓嶈兘涓虹┖");
             }
+            //鏄犲皠妯″瀷
+            SysMaterials mate = _mapper.Map<SysMaterials>(matedto);
+            //缂栬緫
+            //鏍规嵁id鑾峰彇鐗╂枡淇℃伅
+            var modMaterial = await Db.Queryable<SysMaterials>().FirstAsync(a => a.IsDel == "0" && a.Id == mate.Id);
+            //mate.CategoryNo = list.CategoryNo;
+            mate.Origin = modMaterial.Origin;
+            mate.CreateUser = modMaterial.CreateUser;
+            mate.UpdateTime = DateTime.Now;
+            mate.UpdateUser = _userManager.UserId;
+            mate.CreateTime = modMaterial.CreateTime;
+            int i = Db.Updateable(mate).ExecuteCommand();
+            return i;
         }
 
         #region 鍖呰 鍗曚綅
@@ -256,20 +169,18 @@
         /// 鑾峰彇璁¢噺鍗曚綅淇℃伅鍒楄〃
         /// </summary>
         /// <returns></returns>
-        public List<SysUnit> GetUnitList()
+        public async Task<List<SysUnit>> GetUnitList()
         {
-            List<SysUnit> unitlist = _mate.GetUnitList();
-            return unitlist;
+            return await Db.Queryable<SysUnit>().Where(s => s.IsDel == "0").ToListAsync();
         }
 
         /// <summary>
         /// 鑾峰彇鍖呰淇℃伅鍒楄〃
         /// </summary>
         /// <returns></returns>
-        public List<SysPackag> GetPackagList()
+        public async Task<List<SysPackag>> GetPackagList()
         {
-            List<SysPackag> packlist = _mate.GetPackagList();
-            return packlist;
+            return await Db.Queryable<SysPackag>().Where(s => s.IsDel == "0").ToListAsync();
         }
 
         #endregion

--
Gitblit v1.8.0