Browse Source

mes缴库汇总

master
lvzb 1 year ago
parent
commit
719ff4b9dd
  1. 9
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/MesOutConverter.cs
  2. 5
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/MesOutReader.cs
  3. 6
      be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/WMS/ProductReceiptNote/ProductReceiptNoteSumDetailExchangeDto.cs
  4. 5
      be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/Win_in.Sfs.Wms.DataExchange.Application.Contracts.xml

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.Basedata.Application.Contracts;
using Win_in.Sfs.Shared.Domain.Shared; using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Wms.DataExchange.Domain; 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.DataExchange.WMS.ProductReceiptNote;
using Win_in.Sfs.Wms.Store.Application.Contracts; using Win_in.Sfs.Wms.Store.Application.Contracts;
using Win_in.Sfs.Wms.Store.Domain; 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 }; List<EnumLocationType> types = new List<EnumLocationType> { EnumLocationType.FG, EnumLocationType.WIP };
var incomingToWmsList = new List<IncomingToWms>(); 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) foreach (var group in groups)
{ {
var first = group.First(); var first = group.First();
@ -87,16 +88,20 @@ public class MesOutConverter : IIncomingConverter
ProductReceiptNoteSumDetailExchangeDto sumdetail = new ProductReceiptNoteSumDetailExchangeDto(); ProductReceiptNoteSumDetailExchangeDto sumdetail = new ProductReceiptNoteSumDetailExchangeDto();
var productReceiptNote = JsonSerializer.Deserialize<ProductReceiptNoteExchangeDto>(incomingFromExternal.DestinationDataContent); var productReceiptNote = JsonSerializer.Deserialize<ProductReceiptNoteExchangeDto>(incomingFromExternal.DestinationDataContent);
var wmsProductReceiptNoteDetail = _objectMapper.Map<ProductReceiptNoteDetailExchangeDto, ProductReceiptNoteDetailInput>(productReceiptNote.Detail); 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.itemCode = wmsProductReceiptNoteDetail.ItemCode;
sumdetail.locationCode = wmsProductReceiptNoteDetail.LocationErpCode; sumdetail.locationCode = wmsProductReceiptNoteDetail.LocationErpCode;
sumdetail.Qty = wmsProductReceiptNoteDetail.Qty; sumdetail.Qty = wmsProductReceiptNoteDetail.Qty;
sumdetail.BadQty = wmsProductReceiptNoteDetail.ReturnQty;
sumdetail.Memo = wmsProductReceiptNoteDetail.Remark; sumdetail.Memo = wmsProductReceiptNoteDetail.Remark;
sumdetail.MesGuid = incomingFromExternal.SourceDataId; sumdetail.MesGuid = incomingFromExternal.SourceDataId;
sumDetails.Add(sumdetail); sumDetails.Add(sumdetail);
if (oldNoteDetail != null) if (oldNoteDetail != null)
{ {
oldNoteDetail.Qty = oldNoteDetail.Qty+wmsProductReceiptNoteDetail.Qty; oldNoteDetail.Qty = oldNoteDetail.Qty+wmsProductReceiptNoteDetail.Qty;
oldNoteDetail.ReturnQty = oldNoteDetail.ReturnQty + wmsProductReceiptNoteDetail.ReturnQty;
} }
else else
{ {

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

@ -119,6 +119,11 @@ public class MesOutReader : IReader
DestinationSystem = EnumSystemType.WMS.ToString(), DestinationSystem = EnumSystemType.WMS.ToString(),
}; };
//返喷数不为零用tabletype标志出来,用于后续汇总
if (mesOut.Mesout_bad != 0)
{
incomingData.TableType = EnumExchangeTableType.MainTable;
}
return incomingData; return incomingData;
} }

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

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

5
be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/Win_in.Sfs.Wms.DataExchange.Application.Contracts.xml

@ -871,6 +871,11 @@
数量 数量
</summary> </summary>
</member> </member>
<member name="P:Win_in.Sfs.Wms.DataExchange.WMS.ProductReceiptNote.ProductReceiptNoteSumDetailExchangeDto.BadQty">
<summary>
返喷数量
</summary>
</member>
<member name="P:Win_in.Sfs.Wms.DataExchange.WMS.ProductRecycleNote.ProductRecycleMaterialDetailExchangeDto.ProductItemCode"> <member name="P:Win_in.Sfs.Wms.DataExchange.WMS.ProductRecycleNote.ProductRecycleMaterialDetailExchangeDto.ProductItemCode">
<summary> <summary>
产成品物料号 产成品物料号

Loading…
Cancel
Save