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