|
|
@ -55,12 +55,14 @@ public class TransferNoteConverter : IOutgoingConverter |
|
|
|
List<TransferNoteDetailExchangeDto> WipDetails = new List<TransferNoteDetailExchangeDto>(); |
|
|
|
if (details.Count > 0 && (wmsReceipt.Type != EnumTransSubType.Transfer_Inside.ToString()||wmsReceipt.Type!=EnumTransSubType.Transfer_SplitPacking.ToString())) |
|
|
|
{ |
|
|
|
string tyrpNumber = outgoingFromWms.TyrpNumber; |
|
|
|
#region 主表
|
|
|
|
var outgoingToExternal = new OutgoingToExternal() |
|
|
|
{ |
|
|
|
// DataType = dataType,
|
|
|
|
TableType = EnumExchangeTableType.MainTable, |
|
|
|
DataAction = outgoingFromWms.DataAction, |
|
|
|
SerialNumber=tyrpNumber, |
|
|
|
SourceSystem = EnumSystemType.WMS.ToString(), |
|
|
|
SourceDataId = wmsReceipt.Id.ToString(), |
|
|
|
SourceDataGroupCode = wmsReceipt.Number, |
|
|
@ -75,7 +77,7 @@ public class TransferNoteConverter : IOutgoingConverter |
|
|
|
if (exchangeReceipt.Type != EnumTransSubType.Transfer_Customer.ToString()) |
|
|
|
{ |
|
|
|
outgoingToExternal.DataType = EnumOutgoingDataType.TransferForErp.ToString(); |
|
|
|
var putawayNoteScontrol = BuildScontrolDataInterface(exchangeReceipt, dt_w); |
|
|
|
var putawayNoteScontrol = BuildScontrolDataInterface(tyrpNumber, dt_w); |
|
|
|
outgoingToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteScontrol); |
|
|
|
|
|
|
|
WipDetails =details.GroupBy(r => new { r.Number, r.ItemCode, r.FromLocationErpCode , r.ToLocationErpCode }).Select(p => new TransferNoteDetailExchangeDto { Qty = p.Sum(itm => itm.Qty), Number = p.Key.Number, ItemCode = p.Key.ItemCode, FromLocationErpCode = p.Key.FromLocationErpCode, ToLocationErpCode=p.Key.ToLocationErpCode }).ToList(); |
|
|
@ -84,7 +86,7 @@ public class TransferNoteConverter : IOutgoingConverter |
|
|
|
else |
|
|
|
{ |
|
|
|
outgoingToExternal.DataType = EnumOutgoingDataType.TransferForCustom.ToString(); |
|
|
|
var putawayNoteWmsoutm = BuildWmsoutmDataInterface(exchangeReceipt, departmentCode, dt_w); |
|
|
|
var putawayNoteWmsoutm = BuildWmsoutmDataInterface(exchangeReceipt, departmentCode, dt_w, tyrpNumber); |
|
|
|
outgoingToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteWmsoutm); |
|
|
|
|
|
|
|
WipDetails = details.GroupBy(r => new { r.Number, r.ItemCode, r.FromLocationErpCode }).Select(p => new TransferNoteDetailExchangeDto { Qty = p.Sum(itm => itm.Qty), Number = p.Key.Number, ItemCode = p.Key.ItemCode, FromLocationErpCode = p.Key.FromLocationErpCode }).ToList(); |
|
|
@ -102,6 +104,7 @@ public class TransferNoteConverter : IOutgoingConverter |
|
|
|
DataType = outgoingToExternal.DataType, |
|
|
|
TableType = EnumExchangeTableType.DetailTable, |
|
|
|
DataAction = outgoingFromWms.DataAction, |
|
|
|
SerialNumber=tyrpNumber, |
|
|
|
SourceSystem = EnumSystemType.WMS.ToString(), |
|
|
|
SourceDataId = detail.Number.ToString(), |
|
|
|
SourceDataGroupCode = wmsReceipt.Number, |
|
|
@ -116,12 +119,12 @@ public class TransferNoteConverter : IOutgoingConverter |
|
|
|
|
|
|
|
if (exchangeReceipt.Type != EnumTransSubType.Transfer_Customer.ToString()) |
|
|
|
{ |
|
|
|
var putawayNoteDetailScmsend = BuildScmsendDataInterfaceDetail(exchangeReceipt, detail, dt_w); |
|
|
|
var putawayNoteDetailScmsend = BuildScmsendDataInterfaceDetail(tyrpNumber, detail, dt_w); |
|
|
|
outgoingDetailToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteDetailScmsend); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
var putawayNoteDetailWmsoutd = BuildWmsoutdDataInterfaceDetail(exchangeReceipt, detail); |
|
|
|
var putawayNoteDetailWmsoutd = BuildWmsoutdDataInterfaceDetail(tyrpNumber, detail); |
|
|
|
outgoingDetailToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteDetailWmsoutd); |
|
|
|
} |
|
|
|
outgoingToExternalList.Add(outgoingDetailToExternal); |
|
|
@ -143,11 +146,11 @@ public class TransferNoteConverter : IOutgoingConverter |
|
|
|
/// </summary>
|
|
|
|
/// <param name="exchangeOrder"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
private Scontrol BuildScontrolDataInterface(TransferNoteExchangeDto exchangeOrder, string dt_w) |
|
|
|
private Scontrol BuildScontrolDataInterface(string tyrpNumber, string dt_w) |
|
|
|
{ |
|
|
|
var ret = new Scontrol() |
|
|
|
{ |
|
|
|
scontrol_nbr = exchangeOrder.Number, |
|
|
|
scontrol_nbr = tyrpNumber, |
|
|
|
scontrol_dt_w = dt_w, |
|
|
|
scontrol_stat = "Y", |
|
|
|
scontrol_dt_k = "", |
|
|
@ -162,13 +165,13 @@ public class TransferNoteConverter : IOutgoingConverter |
|
|
|
/// <param name="exchangeOrder"></param>
|
|
|
|
/// <param name="exchangeDetailOrder"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
private Scmsend BuildScmsendDataInterfaceDetail(TransferNoteExchangeDto exchangeOrder, TransferNoteDetailExchangeDto exchangeDetailOrder, string dt_w) |
|
|
|
private Scmsend BuildScmsendDataInterfaceDetail(string tyrpNumber, TransferNoteDetailExchangeDto exchangeDetailOrder, string dt_w) |
|
|
|
{ |
|
|
|
var ret = new Scmsend() |
|
|
|
{ |
|
|
|
scmsend_type = billtype_s, |
|
|
|
scmsend_dt_w = dt_w, |
|
|
|
scmsend_nbr = exchangeOrder.Number, |
|
|
|
scmsend_nbr = tyrpNumber, |
|
|
|
scmsend_stat1 = "0", |
|
|
|
scmsend_part = exchangeDetailOrder.ItemCode, |
|
|
|
scmsend_delv_date = "", |
|
|
@ -188,11 +191,11 @@ public class TransferNoteConverter : IOutgoingConverter |
|
|
|
/// </summary>
|
|
|
|
/// <param name="exchangeOrder"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
private Wmsoutm BuildWmsoutmDataInterface(TransferNoteExchangeDto exchangeOrder, string departmentCode, string dt_w) |
|
|
|
private Wmsoutm BuildWmsoutmDataInterface(TransferNoteExchangeDto exchangeOrder, string departmentCode, string dt_w,string tyrpNumber) |
|
|
|
{ |
|
|
|
var ret = new Wmsoutm() |
|
|
|
{ |
|
|
|
wmsoutm_nbr = exchangeOrder.Number, |
|
|
|
wmsoutm_nbr = tyrpNumber, |
|
|
|
wmsoutm_type = billtype_w, |
|
|
|
wmsoutm_dt_w = dt_w, |
|
|
|
wmsoutm_stat = "Y", |
|
|
@ -219,11 +222,11 @@ public class TransferNoteConverter : IOutgoingConverter |
|
|
|
/// <param name="exchangeOrder"></param>
|
|
|
|
/// <param name="exchangeDetailOrder"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
private Wmsoutd BuildWmsoutdDataInterfaceDetail(TransferNoteExchangeDto exchangeOrder, TransferNoteDetailExchangeDto exchangeDetailOrder) |
|
|
|
private Wmsoutd BuildWmsoutdDataInterfaceDetail(string tyrpNumber, TransferNoteDetailExchangeDto exchangeDetailOrder) |
|
|
|
{ |
|
|
|
var ret = new Wmsoutd() |
|
|
|
{ |
|
|
|
wmsoutd_nbr = exchangeOrder.Number, |
|
|
|
wmsoutd_nbr = tyrpNumber, |
|
|
|
wmsoutd_part = exchangeDetailOrder.ItemCode, |
|
|
|
wmsoutd_loc = exchangeDetailOrder.FromLocationErpCode, |
|
|
|
wmsoutd_qty = exchangeDetailOrder.Qty, |
|
|
|