From 472ae45885f426cb92db6185dd3c6bf377004fab Mon Sep 17 00:00:00 2001
From: payne <bzrlw2012@163.com>
Date: 周五, 26 4月 2024 10:59:42 +0800
Subject: [PATCH] 新增 编辑 物料信息 bug修改

---
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterial/WmsMaterialService.cs |  178 ++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 98 insertions(+), 80 deletions(-)

diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterial/WmsMaterialService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterial/WmsMaterialService.cs
index 72e144a..16f4aee 100644
--- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterial/WmsMaterialService.cs
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterial/WmsMaterialService.cs
@@ -249,63 +249,72 @@
             if(wmsMaterialType==null) throw Oops.Oh($"ID{wmsMaterial.MaterialType}鐗╂枡绫诲瀷涓嶅瓨鍦�");
 
             wmsMaterial.MaterialTypeName = wmsMaterialType.MaterialTypeName;
-
-            //寰�鏉ュ崟浣�
-            var wmsBaseCustomerList = await _baseCustomerRep.DetachedEntities.Where(u => input.BaseCustomerList.Contains(u.Id) && u.IsDeleted == false).ProjectToType<BaseCustomerOutput>().ToListAsync();
-            if (wmsBaseCustomerList?.Count()<=0)
+            var materialCustomerList = new List<WmsMaterialCustomer>();
+            if (input.BaseCustomerList?.Count > 0)
             {
-                throw Oops.Oh($"寰�鏉ュ崟浣嶄笉瀛樺湪");
-            }
-           
-            //鐗╂枡瀹㈡埛鍏宠仈鍏崇郴
-            var materialCustomerList=new List<WmsMaterialCustomer>();
-            foreach (var baseCustomer in wmsBaseCustomerList)
-            {
-                if (baseCustomer.IsDisabled == true)
+                //寰�鏉ュ崟浣�
+               var   wmsBaseCustomerList = await _baseCustomerRep.DetachedEntities.Where(u => input.BaseCustomerList.Contains(u.Id) && u.IsDeleted == false).ProjectToType<BaseCustomerOutput>().ToListAsync();
+                if (wmsBaseCustomerList?.Count() <= 0)
                 {
-                    throw Oops.Oh($"涓嶈兘浣跨敤宸茬鐢ㄧ殑寰�鏉ュ崟浣�");
+                    throw Oops.Oh($"寰�鏉ュ崟浣嶄笉瀛樺湪");
                 }
-                materialCustomerList.Add(new WmsMaterialCustomer()
+
+                //鐗╂枡瀹㈡埛鍏宠仈鍏崇郴
+                 materialCustomerList = new List<WmsMaterialCustomer>();
+                foreach (var baseCustomer in wmsBaseCustomerList)
                 {
-                    CreatedTime = DateTime.Now,
-                    CreatedUserId = CurrentUserInfo.UserId,
-                    CreatedUserName = CurrentUserInfo.Name,
-                    CustChinaName = baseCustomer.CustChinaName,
-                    CustCode = baseCustomer.CustCode,
-                    CustEnglishName = baseCustomer.CustEnglishName,
-                    CustId = baseCustomer.Id,
-                    MaterialCode = wmsMaterial.MaterialCode,
-                    MaterialId = wmsMaterial.Id,
-                    MaterialName = wmsMaterial.MaterialName,
-                    UpdatedTime = DateTime.Now,
-                    UpdatedUserId = CurrentUserInfo.UserId,
-                    UpdatedUserName = CurrentUserInfo.Name
-                    
-                });
+                    if (baseCustomer.IsDisabled == true)
+                    {
+                        throw Oops.Oh($"涓嶈兘浣跨敤宸茬鐢ㄧ殑寰�鏉ュ崟浣�");
+                    }
+                    materialCustomerList.Add(new WmsMaterialCustomer()
+                    {
+                        CreatedTime = DateTime.Now,
+                        CreatedUserId = CurrentUserInfo.UserId,
+                        CreatedUserName = CurrentUserInfo.Name,
+                        CustChinaName = baseCustomer.CustChinaName,
+                        CustCode = baseCustomer.CustCode,
+                        CustEnglishName = baseCustomer.CustEnglishName,
+                        CustId = baseCustomer.Id,
+                        MaterialCode = wmsMaterial.MaterialCode,
+                        MaterialId = wmsMaterial.Id,
+                        MaterialName = wmsMaterial.MaterialName,
+                        UpdatedTime = DateTime.Now,
+                        UpdatedUserId = CurrentUserInfo.UserId,
+                        UpdatedUserName = CurrentUserInfo.Name
+
+                    });
+                }
             }
+          
             //楠岃瘉
             await CheckExisit(wmsMaterial);
 
             //鏇夸唬鍝佷俊鎭�
             var substituteGoodList = input.SubstituteGoodList.Adapt<List<WmsSubstituteGood>>();
             List<string> materialCodes = substituteGoodList.Select(s => s.SubstituteMaterialCode).ToList();
-            var wmsSubstituteMaterialInfoList = await _wmsMaterialRep.DetachedEntities.Where(u => materialCodes.Contains(u.MaterialCode) && u.IsDeleted == false).ProjectToType<WmsMaterialOutput>().ToListAsync();
-            if (wmsSubstituteMaterialInfoList?.Count <= 0)
+
+            if (materialCodes?.Count > 0)
             {
-                throw Oops.Oh($"鏇夸唬鍝佺墿鏂欎笉瀛樺湪");
-            }
-           
-            foreach (var item in substituteGoodList)
-            {
-                if (item.IsDisabled == true)
+                var wmsSubstituteMaterialInfoList = await _wmsMaterialRep.DetachedEntities.Where(u => materialCodes.Contains(u.MaterialCode) && u.IsDeleted == false).ProjectToType<WmsMaterialOutput>().ToListAsync();
+                if (wmsSubstituteMaterialInfoList?.Count <= 0)
                 {
-                    throw Oops.Oh($"涓嶈兘浣跨敤宸茬鐢ㄧ殑鏇夸唬鍝佺墿鏂�");
+                    throw Oops.Oh($"鏇夸唬鍝佺墿鏂欎笉瀛樺湪");
                 }
 
-                var substituteMaterialInfo = wmsSubstituteMaterialInfoList.FirstOrDefault(f=>f.MaterialCode== item.SubstituteMaterialCode);
-                item.SubstituteCode =  await SerialUtil.GetSerial(EnumSerialType.鏇夸唬鍝佺紪鍙�); 
-                item.SubstituteMaterialName = substituteMaterialInfo.MaterialName;//鏇夸唬鍝佺墿鏂欏悕绉�
+                foreach (var item in substituteGoodList)
+                {
+                    if (item.IsDisabled == true)
+                    {
+                        throw Oops.Oh($"涓嶈兘浣跨敤宸茬鐢ㄧ殑鏇夸唬鍝佺墿鏂�");
+                    }
+
+                    var substituteMaterialInfo = wmsSubstituteMaterialInfoList.FirstOrDefault(f => f.MaterialCode == item.SubstituteMaterialCode);
+                    item.SubstituteCode = await SerialUtil.GetSerial(EnumSerialType.鏇夸唬鍝佺紪鍙�);
+                    item.SubstituteMaterialName = substituteMaterialInfo.MaterialName;//鏇夸唬鍝佺墿鏂欏悕绉�
+                }
             }
+         
 
             wmsMaterial.UpdatedUserId = SysHelper.GetUserId();
             wmsMaterial.UpdatedUserName = SysHelper.GetUserName();
@@ -368,40 +377,44 @@
                 await _wmsMaterialCustomerRep.DeleteAsync(oldaterialCustomerList);
             }
 
-
-            //寰�鏉ュ崟浣�
-            var wmsBaseCustomerList = await _baseCustomerRep.DetachedEntities.Where(u => input.BaseCustomerList.Contains(u.Id) && u.IsDeleted == false).ProjectToType<BaseCustomerOutput>().ToListAsync();
-            if (wmsBaseCustomerList?.Count() <= 0)
-            {
-                throw Oops.Oh($"寰�鏉ュ崟浣嶄笉瀛樺湪");
-            }
-         
-            //鐗╂枡瀹㈡埛鍏宠仈鍏崇郴
             var materialCustomerList = new List<WmsMaterialCustomer>();
-            foreach (var baseCustomer in wmsBaseCustomerList)
+            if (input.BaseCustomerList?.Count > 0)
             {
-                if (baseCustomer.IsDisabled == true)
+                //寰�鏉ュ崟浣�
+                var wmsBaseCustomerList = await _baseCustomerRep.DetachedEntities.Where(u => input.BaseCustomerList.Contains(u.Id) && u.IsDeleted == false).ProjectToType<BaseCustomerOutput>().ToListAsync();
+                if (wmsBaseCustomerList?.Count() <= 0)
                 {
-                    throw Oops.Oh($"涓嶈兘浣跨敤宸茬鐢ㄧ殑寰�鏉ュ崟浣�");
+                    throw Oops.Oh($"寰�鏉ュ崟浣嶄笉瀛樺湪");
                 }
-                materialCustomerList.Add(new WmsMaterialCustomer()
-                {
-                    CreatedTime = DateTime.Now,
-                    CreatedUserId = CurrentUserInfo.UserId,
-                    CreatedUserName = CurrentUserInfo.Name,
-                    CustChinaName = baseCustomer.CustChinaName,
-                    CustCode = baseCustomer.CustCode,
-                    CustEnglishName = baseCustomer.CustEnglishName,
-                    CustId = baseCustomer.Id,
-                    MaterialCode = wmsMaterial.MaterialCode,
-                    MaterialId = wmsMaterial.Id,
-                    MaterialName = wmsMaterial.MaterialName,
-                    UpdatedTime = DateTime.Now,
-                    UpdatedUserId = CurrentUserInfo.UserId,
-                    UpdatedUserName = CurrentUserInfo.Name
 
-                });
+                //鐗╂枡瀹㈡埛鍏宠仈鍏崇郴
+                 materialCustomerList = new List<WmsMaterialCustomer>();
+                foreach (var baseCustomer in wmsBaseCustomerList)
+                {
+                    if (baseCustomer.IsDisabled == true)
+                    {
+                        throw Oops.Oh($"涓嶈兘浣跨敤宸茬鐢ㄧ殑寰�鏉ュ崟浣�");
+                    }
+                    materialCustomerList.Add(new WmsMaterialCustomer()
+                    {
+                        CreatedTime = DateTime.Now,
+                        CreatedUserId = CurrentUserInfo.UserId,
+                        CreatedUserName = CurrentUserInfo.Name,
+                        CustChinaName = baseCustomer.CustChinaName,
+                        CustCode = baseCustomer.CustCode,
+                        CustEnglishName = baseCustomer.CustEnglishName,
+                        CustId = baseCustomer.Id,
+                        MaterialCode = wmsMaterial.MaterialCode,
+                        MaterialId = wmsMaterial.Id,
+                        MaterialName = wmsMaterial.MaterialName,
+                        UpdatedTime = DateTime.Now,
+                        UpdatedUserId = CurrentUserInfo.UserId,
+                        UpdatedUserName = CurrentUserInfo.Name
+
+                    });
+                }
             }
+            
 
             //鍒犻櫎鏇夸唬鍝佷俊鎭�
             var oldSubstituteGoodList = await _wmsSubstituteGoodRep.DetachedEntities.Where(w => w.MaterialCode == wmsMaterial.MaterialCode).ToListAsync();
@@ -414,21 +427,26 @@
             //鏇夸唬鍝佷俊鎭�
             var substituteGoodList = input.SubstituteGoodList.Adapt<List<WmsSubstituteGood>>();
             List<string> materialCodes = substituteGoodList.Select(s => s.SubstituteMaterialCode).ToList();
-            var wmsSubstituteMaterialInfoList = await _wmsMaterialRep.DetachedEntities.Where(u => materialCodes.Contains(u.MaterialCode)&&u.IsDeleted==false).ProjectToType<WmsMaterialOutput>().ToListAsync();
-            if (wmsSubstituteMaterialInfoList?.Count <= 0)
+
+            if(materialCodes?.Count > 0)
             {
-                throw Oops.Oh($"鏇夸唬鍝佺墿鏂欎笉瀛樺湪");
-            }
-            foreach (var item in substituteGoodList)
-            {
-                if (item.IsDisabled == true)
+                var wmsSubstituteMaterialInfoList = await _wmsMaterialRep.DetachedEntities.Where(u => materialCodes.Contains(u.MaterialCode) && u.IsDeleted == false).ProjectToType<WmsMaterialOutput>().ToListAsync();
+                if (wmsSubstituteMaterialInfoList?.Count <= 0)
                 {
-                    throw Oops.Oh($"涓嶈兘浣跨敤宸茬鐢ㄧ殑鏇夸唬鍝佺墿鏂�");
+                    throw Oops.Oh($"鏇夸唬鍝佺墿鏂欎笉瀛樺湪");
                 }
-                var substituteMaterialInfo = wmsSubstituteMaterialInfoList.FirstOrDefault(f => f.MaterialCode == item.SubstituteMaterialCode);
-                item.SubstituteCode = await SerialUtil.GetSerial(EnumSerialType.鏇夸唬鍝佺紪鍙�);
-                item.SubstituteMaterialName = substituteMaterialInfo.MaterialName;//鏇夸唬鍝佺墿鏂欏悕绉�
+                foreach (var item in substituteGoodList)
+                {
+                    if (item.IsDisabled == true)
+                    {
+                        throw Oops.Oh($"涓嶈兘浣跨敤宸茬鐢ㄧ殑鏇夸唬鍝佺墿鏂�");
+                    }
+                    var substituteMaterialInfo = wmsSubstituteMaterialInfoList.FirstOrDefault(f => f.MaterialCode == item.SubstituteMaterialCode);
+                    item.SubstituteCode = await SerialUtil.GetSerial(EnumSerialType.鏇夸唬鍝佺紪鍙�);
+                    item.SubstituteMaterialName = substituteMaterialInfo.MaterialName;//鏇夸唬鍝佺墿鏂欏悕绉�
+                }
             }
+          
            
             if (materialCustomerList?.Count > 0)
             {

--
Gitblit v1.9.3