|
|
@ -24,7 +24,7 @@ public class PutawayNoteConverter : IOutgoingConverter |
|
|
|
IOutgoingFromWmsManager outgoingFromWmsManager |
|
|
|
, IOutgoingToExternalManager outgoingToExternalManager |
|
|
|
, IObjectMapper objectMapper |
|
|
|
,IPurchaseOrderAppService purchaseOrderAppService |
|
|
|
, IPurchaseOrderAppService purchaseOrderAppService |
|
|
|
) |
|
|
|
{ |
|
|
|
_outgoingFromWmsManager = outgoingFromWmsManager; |
|
|
@ -43,13 +43,13 @@ public class PutawayNoteConverter : IOutgoingConverter |
|
|
|
#region 主表
|
|
|
|
var wmsReceipt = JsonSerializer.Deserialize<PutawayNoteDTO>(outgoingFromWms.DataContent); |
|
|
|
var exchangeReceipt = _objectMapper.Map<PutawayNoteDTO, PutawayNoteExchangeDto>(wmsReceipt); |
|
|
|
var putawayNote = BuildDataInterface(tyrpNumber); |
|
|
|
var putawayNote = BuildDataInterface(exchangeReceipt); |
|
|
|
var outgoingToExternal = new OutgoingToExternal() |
|
|
|
{ |
|
|
|
DataType = EnumOutgoingDataType.Putaway.ToString(), |
|
|
|
TableType = EnumExchangeTableType.MainTable, |
|
|
|
DataAction = outgoingFromWms.DataAction, |
|
|
|
SerialNumber=tyrpNumber, |
|
|
|
SerialNumber = tyrpNumber, |
|
|
|
SourceSystem = EnumSystemType.WMS.ToString(), |
|
|
|
SourceDataId = wmsReceipt.Id.ToString(), |
|
|
|
SourceDataGroupCode = wmsReceipt.Number, |
|
|
@ -64,7 +64,7 @@ public class PutawayNoteConverter : IOutgoingConverter |
|
|
|
outgoingToExternalList.Add(outgoingToExternal); |
|
|
|
#endregion
|
|
|
|
|
|
|
|
var sumDetails= wmsReceipt.Details.GroupBy(r => new { r.ItemCode, r.PoNumber, r.ToLocationErpCode }).Select(p => new PutawayNoteDetailDTO { ItemCode = p.Key.ItemCode, PoNumber = p.Key.PoNumber, ToLocationErpCode = p.Key.ToLocationErpCode ,Qty=p.Sum(x=>x.Qty)}).ToList(); |
|
|
|
var sumDetails = wmsReceipt.Details.GroupBy(r => new { r.ItemCode, r.PoNumber, r.ToLocationErpCode }).Select(p => new PutawayNoteDetailDTO { ItemCode = p.Key.ItemCode, PoNumber = p.Key.PoNumber, ToLocationErpCode = p.Key.ToLocationErpCode, Qty = p.Sum(x => x.Qty) }).ToList(); |
|
|
|
|
|
|
|
#region 明细
|
|
|
|
foreach (var detail in sumDetails) |
|
|
@ -86,7 +86,7 @@ public class PutawayNoteConverter : IOutgoingConverter |
|
|
|
outgoingDetailToExternal.SetEffectiveDate(outgoingFromWms.EffectiveDate); |
|
|
|
var exchangeReceiptDetail = _objectMapper.Map<PutawayNoteDetailDTO, PutawayNoteDetailExchangeDto>(detail); |
|
|
|
outgoingDetailToExternal.SourceDataContent = JsonSerializer.Serialize(exchangeReceiptDetail); |
|
|
|
var putawayNoteDetail = BuildDataInterfaceDetail(exchangeReceipt, exchangeReceiptDetail, putawayNote.scontrol_dt_w, tyrpNumber); |
|
|
|
var putawayNoteDetail = BuildDataInterfaceDetail(exchangeReceipt, exchangeReceiptDetail, putawayNote.scontrol_dt_w); |
|
|
|
try |
|
|
|
{ |
|
|
|
//通过采购订单号查询采购订单要求到货日期
|
|
|
@ -98,7 +98,7 @@ public class PutawayNoteConverter : IOutgoingConverter |
|
|
|
} |
|
|
|
catch (Exception ex) |
|
|
|
{ |
|
|
|
outgoingDetailToExternal.SetError(EnumExchangeDataErrorCode.Exception, ex.InnerException==null?ex.Message: ex.InnerException.Message, ex.ToString()); |
|
|
|
outgoingDetailToExternal.SetError(EnumExchangeDataErrorCode.Exception, ex.InnerException == null ? ex.Message : ex.InnerException.Message, ex.ToString()); |
|
|
|
} |
|
|
|
|
|
|
|
outgoingDetailToExternal.DestinationDataContent = JsonSerializer.Serialize(putawayNoteDetail); |
|
|
@ -118,11 +118,11 @@ public class PutawayNoteConverter : IOutgoingConverter |
|
|
|
/// </summary>
|
|
|
|
/// <param name="exchangeOrder"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
private Scontrol BuildDataInterface(string tyrpNumber) |
|
|
|
private Scontrol BuildDataInterface(PutawayNoteExchangeDto exchangeOrder) |
|
|
|
{ |
|
|
|
var ret = new Scontrol() |
|
|
|
{ |
|
|
|
scontrol_nbr = tyrpNumber, |
|
|
|
scontrol_nbr = exchangeOrder.Number, |
|
|
|
scontrol_dt_w = DateTime.Now.ToString("yyyyMMdd HH:mm:ss"), |
|
|
|
scontrol_stat = "Y", |
|
|
|
scontrol_dt_k = "", |
|
|
@ -137,20 +137,20 @@ public class PutawayNoteConverter : IOutgoingConverter |
|
|
|
/// <param name="exchangeOrder"></param>
|
|
|
|
/// <param name="exchangeDetailOrder"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
private Scmsend BuildDataInterfaceDetail(PutawayNoteExchangeDto exchangeOrder, PutawayNoteDetailExchangeDto exchangeDetailOrder, string dt_w,string tyrpNumber) |
|
|
|
private Scmsend BuildDataInterfaceDetail(PutawayNoteExchangeDto exchangeOrder, PutawayNoteDetailExchangeDto exchangeDetailOrder, string dt_w) |
|
|
|
{ |
|
|
|
var ret = new Scmsend() |
|
|
|
{ |
|
|
|
scmsend_type = billtype, |
|
|
|
scmsend_dt_w = dt_w, |
|
|
|
scmsend_nbr = tyrpNumber, |
|
|
|
scmsend_nbr = exchangeOrder.Number, |
|
|
|
scmsend_stat1 = "0", |
|
|
|
scmsend_part = exchangeDetailOrder.ItemCode, |
|
|
|
scmsend_delv_date = exchangeOrder.DueDate.ToString("yyyyMMdd"), |
|
|
|
scmsend_orderno = exchangeDetailOrder.PoNumber, |
|
|
|
scmsend_loc = exchangeDetailOrder.ToLocationErpCode, |
|
|
|
//scmsend_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"),
|
|
|
|
scmsend_date= DateTime.Now.ToString("yyyyMMdd"), |
|
|
|
scmsend_date = DateTime.Now.ToString("yyyyMMdd"), |
|
|
|
scmsend_qty = exchangeDetailOrder.Qty, |
|
|
|
scmsend_wipd_loc = "", |
|
|
|
scmsend_userid = "WMS" |
|
|
|