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/Dto/WmsMaterialInput.cs | 33 ++++++++++++++--
iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterial/WmsMaterialService.cs | 55 ++++++++++++++++++++++-----
2 files changed, 74 insertions(+), 14 deletions(-)
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterial/Dto/WmsMaterialInput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterial/Dto/WmsMaterialInput.cs
index 59b3ddd..f1a2169 100644
--- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterial/Dto/WmsMaterialInput.cs
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterial/Dto/WmsMaterialInput.cs
@@ -415,13 +415,36 @@
/// <summary>
/// 缂栬緫鐗╂枡涓氬姟淇℃伅瀹炰綋鍏ュ弬--鍖呭惈鐗╂枡銆佺墿鏂欏鎴峰叧绯汇�佹帶鍒跺睘鎬с�佹浛浠e搧
/// </summary>
- public class UpdateWmsMaterialInfoInput : AddWmsMaterialInfoInput
+ public class UpdateWmsMaterialInfoInput
{
+
/// <summary>
- /// Id涓婚敭
+ /// 鐗╂枡鍩虹淇℃伅
/// </summary>
- [Required(ErrorMessage = "Id涓婚敭涓嶈兘涓虹┖")]
- public long? Id { get; set; }
+ public UpdateWmsMaterialInput MaterialInput { get; set; }
+
+ /// <summary>
+ /// 鎺у埗灞炴�ц鍒橧D
+ /// </summary>
+ public long? ControlRuleld { get; set; }
+
+ /// <summary>
+ /// 鏇夸唬鍝�
+ /// </summary>
+ public List<AddWmsSubstituteGoodInput> SubstituteGoodList { get; set; }
+
+ ///// <summary>
+ ///// 寰�鏉ュ崟浣�
+ ///// </summary>
+ //public List<BaseCustomerInput> BaseCustomerList { get; set; }
+
+
+ /// <summary>
+ /// 瀹㈡埛妗f锛堝線鏉ュ崟浣嶏級ID鍒楄〃
+ /// </summary>
+ public List<long> BaseCustomerList { get; set; }
+
+
}
/// <summary>
@@ -465,4 +488,6 @@
}
+
+
}
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