diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Orders/PurchaseOrders/PurchaseOrderAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Orders/PurchaseOrders/PurchaseOrderAppService.cs
index af8b2d953..6620567aa 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Orders/PurchaseOrders/PurchaseOrderAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Orders/PurchaseOrders/PurchaseOrderAppService.cs
@@ -98,6 +98,27 @@ public class PurchaseOrderAppService :
return dictionary;
}
+ ///
+ /// 【创建】采购订单
+ ///
+ ///
+ ///
+ [HttpPost("")]
+ public override async Task CreateAsync(PurchaseOrderEditInput input)
+ {
+ if (string.IsNullOrWhiteSpace(input.Number))
+ {
+ input.Number = await _purchaseOrderManager
+ .GenerateNumberAsync(nameof(PurchaseOrder), Clock.Normalize(input.ActiveDate)).ConfigureAwait(false);
+ }
+
+ var entity = ObjectMapper.Map(input);
+
+ await _purchaseOrderManager.CreateAsync(entity).ConfigureAwait(false);
+
+ return ObjectMapper.Map(entity);
+ }
+
#region 校验
///
@@ -140,27 +161,6 @@ public class PurchaseOrderAppService :
#endregion
- ///
- /// 【创建】采购订单
- ///
- ///
- ///
- [HttpPost("")]
- public override async Task CreateAsync(PurchaseOrderEditInput input)
- {
- if (string.IsNullOrWhiteSpace(input.Number))
- {
- input.Number = await _purchaseOrderManager
- .GenerateNumberAsync(nameof(PurchaseOrder), Clock.Normalize(input.ActiveDate)).ConfigureAwait(false);
- }
-
- var entity = ObjectMapper.Map(input);
-
- await _purchaseOrderManager.CreateAsync(entity).ConfigureAwait(false);
-
- return ObjectMapper.Map(entity);
- }
-
///
/// 【批量创建】采购订单
///
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Orders/PurchaseOrders/PurchaseOrderManager.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Orders/PurchaseOrders/PurchaseOrderManager.cs
index c87e0fc62..721b1c17c 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Orders/PurchaseOrders/PurchaseOrderManager.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Orders/PurchaseOrders/PurchaseOrderManager.cs
@@ -54,8 +54,8 @@ public class PurchaseOrderManager : SfsStoreManagerBase
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Orders/PurchaseOrderEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Orders/PurchaseOrderEventHandler.cs
index 5b8074599..143c43909 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Orders/PurchaseOrderEventHandler.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Orders/PurchaseOrderEventHandler.cs
@@ -107,6 +107,10 @@ public class PurchaseOrderEventHandler
//供应商窗口
var supplierTimeWindowDtos = await _supplierTimeWindowAppService.GetListBySupplierCodeAsync(purchaseOrder.SupplierCode).ConfigureAwait(false);
+ if (!supplierTimeWindowDtos.Any())
+ {
+ throw new UserFriendlyException($"供应商窗口【{purchaseOrder.SupplierCode}】没设置");
+ }
//一次性返回所有物品信息
var itemBasicDtos = await _itemBasicAppService.GetByCodesAsync(itemCodes).ConfigureAwait(false);
@@ -173,13 +177,13 @@ public class PurchaseOrderEventHandler
//todo 一个物品多个包装?怎么取值
//标包数
- var itemPackDto=ItemPacks.First(p => p.ItemCode == purchaseOrderDetaildetail.ItemCode);
+ var itemPackDto = itemBasicDtos.First(p=>p.Code== purchaseOrderDetaildetail.ItemCode).StdPackQty;
//总箱数
- var itemPackingCount = (int)(itemQty / itemPackDto.Qty);
- if (itemQty > itemPackDto.Qty)
+ var itemPackingCount = (int)(itemQty / itemPackDto);
+ if (itemQty > itemPackDto)
{
- if (itemQty % itemPackDto.Qty != 0)
+ if (itemQty % itemPackDto != 0)
{
itemPackingCount++;
}
@@ -214,7 +218,7 @@ public class PurchaseOrderEventHandler
supplierAsnDetailInput.ItemDesc2 = itemBasicDto.Desc2;
//标包
- supplierAsnDetailInput.StdPackQty = itemPackDto.Qty;
+ supplierAsnDetailInput.StdPackQty = itemPackDto;
supplierAsnDetailInput.SupplierPackQty = supplierItemDto.SupplierPackQty;
supplierAsnDetailInput.SupplierPackUom = supplierItemDto.SupplierPackUom;
@@ -228,11 +232,11 @@ public class PurchaseOrderEventHandler
supplierAsnDetailInput.RecommendErpCode = purchaseOrderDetaildetail.LocationErpCode;
supplierAsnDetailInput.PoNumber = purchaseOrder.Number;
- supplierAsnDetailInput.Qty = itemQty>itemPackDto.Qty ? itemPackDto.Qty : itemQty;
+ supplierAsnDetailInput.Qty = itemQty>itemPackDto ? itemPackDto : itemQty;
- itemQty-=itemPackDto.Qty;
+ itemQty-=itemPackDto;
- var InventoryLabelEditInput = await BuildInventoryLabelEditInputAsync(supplierAsnEditInput, supplierAsnDetailInput, supplierDto, itemBasicDto, supplierItemDto, itemPackDto).ConfigureAwait(false);
+ var InventoryLabelEditInput = await BuildInventoryLabelEditInputAsync(supplierAsnEditInput, supplierAsnDetailInput, supplierDto, itemBasicDto, supplierItemDto).ConfigureAwait(false);
inventoryLabelEditInputs.Add(InventoryLabelEditInput);
supplierAsnEditInput.Details.Add(supplierAsnDetailInput);
@@ -260,8 +264,7 @@ public class PurchaseOrderEventHandler
SupplierAsnDetailInput supplierAsnDetail,
SupplierDTO supplierDto,
ItemBasicDTO itemBasicDto,
- SupplierItemDTO supplierItemDto,
- ItemPackDTO itemPackDto)
+ SupplierItemDTO supplierItemDto)
{
if (itemBasicDto == null)
@@ -308,7 +311,7 @@ public class PurchaseOrderEventHandler
inputLabel.LabelStatus = LabelStatus.Enable;
inputLabel.Specifications = itemBasicDto.Color;
- inputLabel.StdPackQty = itemPackDto.Qty;
+ inputLabel.StdPackQty = itemBasicDto.StdPackQty;
inputLabel.SupplierItemCode = supplierItemDto.SupplierItemCode;
inputLabel.SupplierItemName = supplierItemDto.ItemName;