From b96e7fb632e229cc8d7f3c271d07e03420323b84 Mon Sep 17 00:00:00 2001
From: payne <bzrlw2012@163.com>
Date: 周四, 25 4月 2024 17:38:14 +0800
Subject: [PATCH] 物料信息bug修复

---
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterial/WmsMaterialService.cs |   55 +++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 45 insertions(+), 10 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 8513c17..72e144a 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
@@ -245,17 +245,26 @@
             wmsMaterial.ControlRuleId = controlRuleld;
             
             //鑾峰彇鐗╂枡绫诲瀷
-            var wmsMaterialType = (await _wmsMaterialTypeRep.DetachedEntities.FirstOrDefaultAsync(u => u.Id == wmsMaterial.MaterialType)).Adapt<WmsMaterialTypeOutput>();
+            var wmsMaterialType = (await _wmsMaterialTypeRep.DetachedEntities.FirstOrDefaultAsync(u => u.Id == wmsMaterial.MaterialType && u.IsDeleted == false)).Adapt<WmsMaterialTypeOutput>();
             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 && u.IsDisabled == false).ProjectToType<BaseCustomerOutput>().ToListAsync();
+            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 (baseCustomer.IsDisabled == true)
+                {
+                    throw Oops.Oh($"涓嶈兘浣跨敤宸茬鐢ㄧ殑寰�鏉ュ崟浣�");
+                }
                 materialCustomerList.Add(new WmsMaterialCustomer()
                 {
                     CreatedTime = DateTime.Now,
@@ -280,9 +289,19 @@
             //鏇夸唬鍝佷俊鎭�
             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&&u.IsDisabled==false).ProjectToType<WmsMaterialOutput>().ToListAsync();
+            var wmsSubstituteMaterialInfoList = await _wmsMaterialRep.DetachedEntities.Where(u => materialCodes.Contains(u.MaterialCode) && u.IsDeleted == false).ProjectToType<WmsMaterialOutput>().ToListAsync();
+            if (wmsSubstituteMaterialInfoList?.Count <= 0)
+            {
+                throw Oops.Oh($"鏇夸唬鍝佺墿鏂欎笉瀛樺湪");
+            }
+           
             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;//鏇夸唬鍝佺墿鏂欏悕绉�
@@ -337,7 +356,7 @@
             var controlRuleld = input.ControlRuleld;
             wmsMaterial.ControlRuleId = controlRuleld;
             //鑾峰彇鐗╂枡绫诲瀷
-            var wmsMaterialType = (await _wmsMaterialTypeRep.DetachedEntities.FirstOrDefaultAsync(u => u.Id == wmsMaterial.MaterialType)).Adapt<WmsMaterialTypeOutput>();
+            var wmsMaterialType = (await _wmsMaterialTypeRep.DetachedEntities.FirstOrDefaultAsync(u => u.Id == wmsMaterial.MaterialType && u.IsDeleted == false)).Adapt<WmsMaterialTypeOutput>();
             if (wmsMaterialType == null) throw Oops.Oh($"ID{wmsMaterial.MaterialType}鐗╂枡绫诲瀷涓嶅瓨鍦�");
 
             wmsMaterial.MaterialTypeName = wmsMaterialType.MaterialTypeName;
@@ -350,12 +369,21 @@
             }
 
 
-            //寰�鏉ュ崟浣嶄俊鎭�
-            var baseCustomerList = input.BaseCustomerList.Adapt<List<BaseCustomer>>();
+            //寰�鏉ュ崟浣�
+            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 baseCustomerList)
+            foreach (var baseCustomer in wmsBaseCustomerList)
             {
+                if (baseCustomer.IsDisabled == true)
+                {
+                    throw Oops.Oh($"涓嶈兘浣跨敤宸茬鐢ㄧ殑寰�鏉ュ崟浣�");
+                }
                 materialCustomerList.Add(new WmsMaterialCustomer()
                 {
                     CreatedTime = DateTime.Now,
@@ -386,15 +414,22 @@
             //鏇夸唬鍝佷俊鎭�
             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 && u.IsDisabled == false).ProjectToType<WmsMaterialOutput>().ToListAsync();
+            var wmsSubstituteMaterialInfoList = await _wmsMaterialRep.DetachedEntities.Where(u => materialCodes.Contains(u.MaterialCode)&&u.IsDeleted==false).ProjectToType<WmsMaterialOutput>().ToListAsync();
+            if (wmsSubstituteMaterialInfoList?.Count <= 0)
+            {
+                throw Oops.Oh($"鏇夸唬鍝佺墿鏂欎笉瀛樺湪");
+            }
             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)
             {
                 await _wmsMaterialCustomerRep.InsertAsync(materialCustomerList);

--
Gitblit v1.9.3