赵新宇 6 months ago
parent
commit
5b063ad0e7
  1. 25
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/TransferNoteConverter.cs

25
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/TransferNoteConverter.cs

@ -5,6 +5,7 @@ using System.Text.Json;
using System.Threading.Tasks;
using Volo.Abp.ObjectMapping;
using Win_in.Sfs.Auth.Application.Contracts;
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.Fawtyg.Tyrp;
@ -23,18 +24,22 @@ public class TransferNoteConverter : IOutgoingConverter
private readonly IOutgoingToExternalManager _outgoingToExternalManager;
private readonly IDepartmentAppService _departmentAppService;
private readonly IObjectMapper _objectMapper;
private readonly IErpLocationAppService _erpLocationAppService;
public TransferNoteConverter(
IOutgoingFromWmsManager outgoingFromWmsManager
, IOutgoingToExternalManager outgoingToExternalManager
, IDepartmentAppService departmentAppService
, IObjectMapper objectMapper
, IErpLocationAppService erpLocationAppService
)
{
_outgoingFromWmsManager = outgoingFromWmsManager;
_outgoingToExternalManager = outgoingToExternalManager;
_departmentAppService = departmentAppService;
_objectMapper = objectMapper;
_erpLocationAppService = erpLocationAppService;
}
@ -71,6 +76,8 @@ public class TransferNoteConverter : IOutgoingConverter
DestinationSystem = EnumSystemType.ERP.ToString(),
DestinationDataId = "",
};
var stat = "1";
outgoingToExternal.SetEffectiveDate(outgoingFromWms.EffectiveDate);
outgoingToExternal.SourceDataContent = JsonSerializer.Serialize(exchangeReceipt);
string dt_w = DateTime.Now.ToString("yyyyMMdd HH:mm:ss");
@ -86,7 +93,17 @@ public class TransferNoteConverter : IOutgoingConverter
else
{
outgoingToExternal.DataType = EnumOutgoingDataType.TransferForCustom.ToString();
var putawayNoteWmsoutm = BuildWmsoutmDataInterface(exchangeReceipt, departmentCode, dt_w, tyrpNumber);
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;
var putawayNoteWmsoutm = BuildWmsoutmDataInterface(exchangeReceipt, departmentCode, dt_w, tyrpNumber,location);
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();
@ -191,7 +208,7 @@ public class TransferNoteConverter : IOutgoingConverter
/// </summary>
/// <param name="exchangeOrder"></param>
/// <returns></returns>
private Wmsoutm BuildWmsoutmDataInterface(TransferNoteExchangeDto exchangeOrder, string departmentCode, string dt_w,string tyrpNumber)
private Wmsoutm BuildWmsoutmDataInterface(TransferNoteExchangeDto exchangeOrder, string departmentCode, string dt_w,string tyrpNumber,string location)
{
var ret = new Wmsoutm()
{
@ -201,11 +218,11 @@ public class TransferNoteConverter : IOutgoingConverter
wmsoutm_stat = "Y",
wmsoutm_tyrp_dt = "",
wmsoutm_user = "WMS",
wmsoutm_dept = departmentCode,//根据Worker从UserDepartment中获取
wmsoutm_dept = "450900",//根据Worker从UserDepartment中获取
wmsoutm_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"),
wmsoutm_cust = "",
wmsoutm_shm_nbr = "",
wmsoutm_cust_loc = "",
wmsoutm_cust_loc =location,
wmsoutm_stock_stat = "1",
wmsoutm_open_part = "",
wmsoutm_open_loc = "",

Loading…
Cancel
Save