Browse Source

缴库修改

dev_DY_CC
lvzb 1 year ago
parent
commit
1521b534bc
  1. 9
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/MesOutConverter.cs
  2. 9
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/MesOutReader.cs
  3. 5
      be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/WMS/ProductReceiptNote/ProductReceiptNoteSumDetailExchangeDto.cs

9
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/MesOutConverter.cs

@ -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
{

9
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/MesOutReader.cs

@ -36,7 +36,7 @@ public class MesOutReader : IReader
{
//从MES读取待处理MesOut
var toBeProcessedMwsOuts = await _mesOutManager.GetToBeProcessedListAsync().ConfigureAwait(false);
toBeProcessedMwsOuts = toBeProcessedMwsOuts.OrderBy(r=>r.Mesout_dt).Take(3000).ToList();
toBeProcessedMwsOuts = toBeProcessedMwsOuts.OrderBy(r => r.Mesout_dt).Take(3000).ToList();
if (!toBeProcessedMwsOuts.Any())
{
_logger.LogInformation("no productreceipts");
@ -119,6 +119,11 @@ public class MesOutReader : IReader
DestinationSystem = EnumSystemType.WMS.ToString(),
};
//返喷数不为零用tabletype标志出来,用于后续汇总
if (mesOut.Mesout_bad != 0)
{
incomingData.TableType = EnumExchangeTableType.MainTable;
}
return incomingData;
}
@ -136,7 +141,7 @@ public class MesOutReader : IReader
Qty = mesOut.Mesout_move,
LocationErpCode = mesOut.Mesout_loc,
Remark = mesOut.memo,
ReturnQty=mesOut.Mesout_bad
ReturnQty = mesOut.Mesout_bad
};
productReceiptNote.Detail = productReceiptNoteDetail;
return productReceiptNote;

5
be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/WMS/ProductReceiptNote/ProductReceiptNoteSumDetailExchangeDto.cs

@ -43,5 +43,10 @@ public class ProductReceiptNoteSumDetailExchangeDto
/// </summary>
[Display(Name = "数量")]
public decimal Qty { get; set; }
/// <summary>
/// 返喷数量
/// </summary>
[Display(Name = "返喷数量")]
public decimal BadQty { get; set; }
}

Loading…
Cancel
Save