diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/TransferNoteConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/TransferNoteConverter.cs
index ea522406e..f242ee776 100644
--- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/TransferNoteConverter.cs
+++ b/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
///
///
///
- 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 = "",