Browse Source

修改上架

dev_DY_CC
郑勃旭 11 months ago
parent
commit
c4e92891f8
  1. 48
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/PutawayNotes/PutawayNoteAppService.cs
  2. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Orders/PurchaseOrders/PurchaseOrderAppService.cs

48
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/PutawayNotes/PutawayNoteAppService.cs

@ -17,6 +17,7 @@ using Win_in.Sfs.Wms.Store.Domain.Shared;
namespace Win_in.Sfs.Wms.Store.Application; namespace Win_in.Sfs.Wms.Store.Application;
using System.Linq; using System.Linq;
using Volo.Abp.ObjectMapping;
using Win_in.Sfs.Basedata.Application; using Win_in.Sfs.Basedata.Application;
using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Basedata.Application.Contracts;
@ -65,9 +66,40 @@ public class PutawayNoteAppService :
//[Authorize(PutawayNotePermissions.Create)] //[Authorize(PutawayNotePermissions.Create)]
public override async Task<PutawayNoteDTO> CreateAsync(PutawayNoteEditInput input) public override async Task<PutawayNoteDTO> CreateAsync(PutawayNoteEditInput input)
{ {
foreach (var detail in input.Details) var inputSplits = new List<PutawayNoteEditInput>();
var resultPutawayNote=new List<PutawayNote>();
//先获取所有的箱码
var selectPackingCode=input.Details.Select(p => p.ToPackingCode);
var splitPackingRecList = await _splitPackingRecAppService.GetListByToPackingCode(selectPackingCode.ToList()).ConfigureAwait(false);
//按照不同的条件分组
var group= splitPackingRecList.GroupBy(p => new {
p.SupplierCode,p.AsnNumber,p.PoNumber
});
foreach (var groupWhere in group)
{ {
var isClosed = await _purchaseOrderManager.CheckIsCloseAsync(input.Number, input.SupplierCode, detail.ItemCode).ConfigureAwait(false); var tempEditInput = new PutawayNoteEditInput();
tempEditInput.Details = new List<PutawayNoteDetailInput>();
tempEditInput.SupplierCode = groupWhere.First().SupplierCode;
tempEditInput.AsnNumber = groupWhere.First().AsnNumber;
tempEditInput.InspectNumber = string.Empty;
tempEditInput.JobNumber = string.Empty;
tempEditInput.ProductReceiptNumber = string.Empty;
tempEditInput.PurchaseReceiptRequestNumber = string.Empty;
tempEditInput.Type = EnumPutawayType.PurchasePutaway;
foreach (var packingCode in groupWhere)
{
var detailInput=input.Details.First(p => p.ToPackingCode == packingCode.ToPackingCode);
tempEditInput.Details.Add(detailInput);
}
inputSplits.Add(tempEditInput);
}
foreach (var inputSplit in inputSplits)
{
foreach (var detail in inputSplit.Details)
{
var isClosed = await _purchaseOrderManager.CheckIsCloseAsync(inputSplit.Number, inputSplit.SupplierCode, detail.ItemCode).ConfigureAwait(false);
if (isClosed) if (isClosed)
{ {
throw new UserFriendlyException($"物品名称【{detail.ItemCode}】的订单明细行以关闭无法执行采购上架!"); throw new UserFriendlyException($"物品名称【{detail.ItemCode}】的订单明细行以关闭无法执行采购上架!");
@ -75,10 +107,10 @@ public class PutawayNoteAppService :
var item = await _itemBasicAppService.GetByCodeAsync(detail.ItemCode).ConfigureAwait(false); var item = await _itemBasicAppService.GetByCodeAsync(detail.ItemCode).ConfigureAwait(false);
if (!item.CanMake) if (!item.CanMake)
{ {
var isprice = await _purchasePriceSheetAppService.CheckPurPriceAsync(input.SupplierCode, detail.ItemCode).ConfigureAwait(false); var isprice = await _purchasePriceSheetAppService.CheckPurPriceAsync(inputSplit.SupplierCode, detail.ItemCode).ConfigureAwait(false);
if (isprice) if (isprice)
{ {
throw new UserFriendlyException($"供应商【{input.SupplierCode}】物品名称【{detail.ItemCode}】无采购价格无法执行采购上架!"); throw new UserFriendlyException($"供应商【{inputSplit.SupplierCode}】物品名称【{detail.ItemCode}】无采购价格无法执行采购上架!");
} }
} }
var erpLocationItem = await _erpLocationItemAppService.CheckItemErpLocationIsAvailable(detail.ItemCode, detail.ToLocationErpCode).ConfigureAwait(false); var erpLocationItem = await _erpLocationItemAppService.CheckItemErpLocationIsAvailable(detail.ItemCode, detail.ToLocationErpCode).ConfigureAwait(false);
@ -99,11 +131,11 @@ public class PutawayNoteAppService :
} }
} }
} }
var entity = ObjectMapper.Map<PutawayNoteEditInput, PutawayNote>(inputSplit);
resultPutawayNote.Add( await _putawayNoteManager.CreateByPurchaseAsync(entity).ConfigureAwait(false));
}
var entity = ObjectMapper.Map<PutawayNoteEditInput, PutawayNote>(input); var dto = ObjectMapper.Map<PutawayNote, PutawayNoteDTO>(resultPutawayNote.First());
var result = await _putawayNoteManager.CreateByPurchaseAsync(entity).ConfigureAwait(false);
var dto = ObjectMapper.Map<PutawayNote, PutawayNoteDTO>(result);
return dto; return dto;
} }

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Orders/PurchaseOrders/PurchaseOrderAppService.cs

@ -232,7 +232,7 @@ ISupplierItemAppService supplierItemAppService) : base(repository)
{ {
if (result.All(p => p.Code != itemCode)) if (result.All(p => p.Code != itemCode))
{ {
throw new UserFriendlyException($"供应商代码【{itemCode}】不存在"); throw new UserFriendlyException($"ERP料号代码【{itemCode}】不存在");
} }
} }

Loading…
Cancel
Save