|
|
@ -81,43 +81,44 @@ public class TransferNoteConverter : IOutgoingConverter |
|
|
|
outgoingToExternal.SourceDataContent = JsonSerializer.Serialize(exchangeReceipt); |
|
|
|
string dt_w = DateTime.Now.ToString("yyyyMMdd HH:mm:ss"); |
|
|
|
var stat = "1"; |
|
|
|
if (exchangeReceipt.Type == EnumTransSubType.Depot_Issue_WIP.ToString())//立库生成的线边仓领料单
|
|
|
|
//立库没有线边仓领料单
|
|
|
|
//if (exchangeReceipt.Type == EnumTransSubType.Depot_Issue_WIP.ToString())//立库生成的线边仓领料单
|
|
|
|
//{
|
|
|
|
// outgoingToExternal.DataType = EnumOutgoingDataType.TransferForErp.ToString();
|
|
|
|
// var putawayNoteScontrol = BuildScontrolDataInterface(exchangeReceipt, dt_w, billtype_issue);
|
|
|
|
// 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();
|
|
|
|
|
|
|
|
//}
|
|
|
|
//else
|
|
|
|
//{
|
|
|
|
if (exchangeReceipt.Type != EnumTransSubType.Transfer_Customer.ToString()) |
|
|
|
{ |
|
|
|
outgoingToExternal.DataType = EnumOutgoingDataType.TransferForErp.ToString(); |
|
|
|
var putawayNoteScontrol = BuildScontrolDataInterface(exchangeReceipt, dt_w, billtype_issue); |
|
|
|
var putawayNoteScontrol = BuildScontrolDataInterface(exchangeReceipt, dt_w, billtype_s); |
|
|
|
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(); |
|
|
|
|
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
if (exchangeReceipt.Type != EnumTransSubType.Transfer_Customer.ToString()) |
|
|
|
{ |
|
|
|
outgoingToExternal.DataType = EnumOutgoingDataType.TransferForErp.ToString(); |
|
|
|
var putawayNoteScontrol = BuildScontrolDataInterface(exchangeReceipt, dt_w, billtype_s); |
|
|
|
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(); |
|
|
|
|
|
|
|
} |
|
|
|
else |
|
|
|
var toLocationErpcode = details[0].ToLocationErpCode; |
|
|
|
var erplocation = await _erpLocationAppService.GetByCodeAsync(toLocationErpcode).ConfigureAwait(false); |
|
|
|
if (erplocation?.Type != "2") |
|
|
|
{ |
|
|
|
|
|
|
|
var toLocationErpcode = details[0].ToLocationErpCode; |
|
|
|
var erplocation = await _erpLocationAppService.GetByCodeAsync(toLocationErpcode).ConfigureAwait(false); |
|
|
|
if (erplocation?.Type != "2") |
|
|
|
{ |
|
|
|
stat = "2"; |
|
|
|
} |
|
|
|
var location = stat == "1" ? details[0].ToLocationErpCode : details[0].FromLocationErpCode; |
|
|
|
outgoingToExternal.DataType = EnumOutgoingDataType.TransferForCustom.ToString(); |
|
|
|
var putawayNoteWmsoutm = BuildWmsoutmDataInterface(departmentCode, dt_w, tyrpNumber, location, stat, wmsReceipt.Number); |
|
|
|
outgoingToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteWmsoutm); |
|
|
|
stat = "2"; |
|
|
|
} |
|
|
|
var location = stat == "1" ? details[0].ToLocationErpCode : details[0].FromLocationErpCode; |
|
|
|
outgoingToExternal.DataType = EnumOutgoingDataType.TransferForCustom.ToString(); |
|
|
|
var putawayNoteWmsoutm = BuildWmsoutmDataInterface(departmentCode, dt_w, tyrpNumber, location, stat, wmsReceipt.Number); |
|
|
|
outgoingToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteWmsoutm); |
|
|
|
|
|
|
|
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(); |
|
|
|
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(); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
//}
|
|
|
|
|
|
|
|
outgoingToExternalList.Add(outgoingToExternal); |
|
|
|
#endregion
|
|
|
@ -224,11 +225,11 @@ public class TransferNoteConverter : IOutgoingConverter |
|
|
|
/// </summary>
|
|
|
|
/// <param name="exchangeOrder"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
private Wmsoutm BuildWmsoutmDataInterface(string departmentCode, string dt_w, string tyrpNumber,string locationcode,string stat,string number) |
|
|
|
private Wmsoutm BuildWmsoutmDataInterface(string departmentCode, string dt_w, string tyrpNumber, string locationcode, string stat, string number) |
|
|
|
{ |
|
|
|
var ret = new Wmsoutm() |
|
|
|
{ |
|
|
|
wmsoutm_mid=Convert.ToDecimal(tyrpNumber), |
|
|
|
wmsoutm_mid = Convert.ToDecimal(tyrpNumber), |
|
|
|
wmsoutm_nbr = number, |
|
|
|
wmsoutm_type = billtype_w, |
|
|
|
wmsoutm_dt_w = dt_w, |
|
|
@ -256,14 +257,14 @@ public class TransferNoteConverter : IOutgoingConverter |
|
|
|
/// <param name="exchangeOrder"></param>
|
|
|
|
/// <param name="exchangeDetailOrder"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
private Wmsoutd BuildWmsoutdDataInterfaceDetail(string tyrpNumber, TransferNoteDetailExchangeDto exchangeDetailOrder,string stat, string number) |
|
|
|
private Wmsoutd BuildWmsoutdDataInterfaceDetail(string tyrpNumber, TransferNoteDetailExchangeDto exchangeDetailOrder, string stat, string number) |
|
|
|
{ |
|
|
|
var ret = new Wmsoutd() |
|
|
|
{ |
|
|
|
wmsoutd_mid=Convert.ToDecimal(tyrpNumber), |
|
|
|
wmsoutd_mid = Convert.ToDecimal(tyrpNumber), |
|
|
|
wmsoutd_nbr = number, |
|
|
|
wmsoutd_part = exchangeDetailOrder.ItemCode, |
|
|
|
wmsoutd_loc = stat=="1"? exchangeDetailOrder.FromLocationErpCode: exchangeDetailOrder.ToLocationErpCode, |
|
|
|
wmsoutd_loc = stat == "1" ? exchangeDetailOrder.FromLocationErpCode : exchangeDetailOrder.ToLocationErpCode, |
|
|
|
wmsoutd_qty = exchangeDetailOrder.Qty, |
|
|
|
wmsoutd_bcm_code = "",//有问题
|
|
|
|
wmsoutd_projt_id = "",//有问题
|
|
|
|