|
|
@ -11,6 +11,7 @@ using Volo.Abp.ObjectMapping; |
|
|
|
using Win_in.Sfs.Basedata.Application.Contracts; |
|
|
|
using Win_in.Sfs.Shared.Domain.Shared; |
|
|
|
using Win_in.Sfs.Wms.DataExchange.Domain; |
|
|
|
using Win_in.Sfs.Wms.DataExchange.Domain.Shared; |
|
|
|
using Win_in.Sfs.Wms.DataExchange.WMS.ProductReceiptNote; |
|
|
|
using Win_in.Sfs.Wms.Store.Application.Contracts; |
|
|
|
using Win_in.Sfs.Wms.Store.Domain; |
|
|
@ -63,7 +64,7 @@ public class MesOutConverter : IIncomingConverter |
|
|
|
{ |
|
|
|
List<EnumLocationType> types = new List<EnumLocationType> { EnumLocationType.FG, EnumLocationType.WIP }; |
|
|
|
var incomingToWmsList = new List<IncomingToWms>(); |
|
|
|
var groups = incomingDataList.GroupBy(p => p.SourceDataGroupCode); |
|
|
|
var groups = incomingDataList.GroupBy(p => new { p.SourceDataGroupCode, p.TableType });//按照库位和是为为返喷分组
|
|
|
|
foreach (var group in groups) |
|
|
|
{ |
|
|
|
var first = group.First(); |
|
|
@ -87,16 +88,20 @@ public class MesOutConverter : IIncomingConverter |
|
|
|
ProductReceiptNoteSumDetailExchangeDto sumdetail = new ProductReceiptNoteSumDetailExchangeDto(); |
|
|
|
var productReceiptNote = JsonSerializer.Deserialize<ProductReceiptNoteExchangeDto>(incomingFromExternal.DestinationDataContent); |
|
|
|
var wmsProductReceiptNoteDetail = _objectMapper.Map<ProductReceiptNoteDetailExchangeDto, ProductReceiptNoteDetailInput>(productReceiptNote.Detail); |
|
|
|
var oldNoteDetail= wmsProductReceiptNote.Details.FirstOrDefault(r => r.ItemCode == wmsProductReceiptNoteDetail.ItemCode && r.LocationErpCode == wmsProductReceiptNoteDetail.LocationErpCode); |
|
|
|
|
|
|
|
var oldNoteDetail= wmsProductReceiptNote.Details.FirstOrDefault(r => r.ItemCode == wmsProductReceiptNoteDetail.ItemCode && r.LocationErpCode == wmsProductReceiptNoteDetail.LocationErpCode &&(first.TableType != EnumExchangeTableType.MainTable?true:r.ReturnQty!=0 )); |
|
|
|
|
|
|
|
sumdetail.itemCode = wmsProductReceiptNoteDetail.ItemCode; |
|
|
|
sumdetail.locationCode = wmsProductReceiptNoteDetail.LocationErpCode; |
|
|
|
sumdetail.Qty = wmsProductReceiptNoteDetail.Qty; |
|
|
|
sumdetail.BadQty = wmsProductReceiptNoteDetail.ReturnQty; |
|
|
|
sumdetail.Memo = wmsProductReceiptNoteDetail.Remark; |
|
|
|
sumdetail.MesGuid = incomingFromExternal.SourceDataId; |
|
|
|
sumDetails.Add(sumdetail); |
|
|
|
if (oldNoteDetail != null) |
|
|
|
{ |
|
|
|
oldNoteDetail.Qty = oldNoteDetail.Qty+wmsProductReceiptNoteDetail.Qty; |
|
|
|
oldNoteDetail.ReturnQty = oldNoteDetail.ReturnQty + wmsProductReceiptNoteDetail.ReturnQty; |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|