diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/MesOutConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/MesOutConverter.cs index bb7a60b7e..0910e4add 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/MesOutConverter.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/MesOutConverter.cs @@ -12,6 +12,7 @@ using Win_in.Sfs.Shared.Domain.Shared; using Win_in.Sfs.Wms.DataExchange.Domain; using Win_in.Sfs.Wms.DataExchange.WMS.ProductReceiptNote; using Win_in.Sfs.Wms.Store.Application.Contracts; +using Win_in.Sfs.Wms.Store.Domain; namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent; @@ -96,25 +97,41 @@ public class MesOutConverter : IIncomingConverter wmsProductReceiptNoteDetail.LocationCode = loc[0].Code; wmsProductReceiptNoteDetail.LocationArea = loc[0].AreaCode; wmsProductReceiptNoteDetail.LocationGroup = loc[0].LocationGroupCode; - } + wmsProductReceiptNoteDetail.LocationErpCode = loc[0].ErpLocationCode; + + wmsProductReceiptNoteDetail.HandledToLocationCode = loc[0].Code; + wmsProductReceiptNoteDetail.HandledToLocationArea = loc[0].AreaCode; + wmsProductReceiptNoteDetail.HandledToLocationGroup = loc[0].LocationGroupCode; + wmsProductReceiptNoteDetail.HandledToLocationErpCode = loc[0].ErpLocationCode; + wmsProductReceiptNoteDetail.RecommendToLocationCode = loc[0].Code; + wmsProductReceiptNoteDetail.RecommendToLocationArea = loc[0].AreaCode; + wmsProductReceiptNoteDetail.RecommendToLocationGroup = loc[0].LocationGroupCode; + wmsProductReceiptNoteDetail.RecommendToLocationErpCode = loc[0].ErpLocationCode; + } var item = await _itemBasicAppService.GetByCodeAsync(wmsProductReceiptNoteDetail.ItemCode).ConfigureAwait(false); - if (item != null) - { + if (item != null) + { wmsProductReceiptNoteDetail.ItemName = !string.IsNullOrEmpty(item.Name) ? item.Name : ""; wmsProductReceiptNoteDetail.ItemDesc1 = !string.IsNullOrEmpty(item.Desc1) ? item.Desc1 : ""; wmsProductReceiptNoteDetail.ItemDesc2 = !string.IsNullOrEmpty(item.Desc2) ? item.Desc2 : ""; wmsProductReceiptNoteDetail.Uom = !string.IsNullOrEmpty(item.BasicUom) ? item.BasicUom : ""; - } - else - { + + wmsProductReceiptNoteDetail.ProduceDate = incomingFromExternal.EffectiveDate; + wmsProductReceiptNoteDetail.ArriveDate = incomingFromExternal.EffectiveDate; + wmsProductReceiptNoteDetail.ExpireDate = wmsProductReceiptNoteDetail.ProduceDate.AddDays(item.GetValidateDays()); + + } + else + { + //todo 这里不应该做完工 没有零件 wmsProductReceiptNoteDetail.ItemName = ""; wmsProductReceiptNoteDetail.ItemDesc1 = ""; wmsProductReceiptNoteDetail.ItemDesc2 = ""; wmsProductReceiptNoteDetail.Uom = ""; - } - wmsProductReceiptNote.Details.Add(wmsProductReceiptNoteDetail); + } + wmsProductReceiptNote.Details.Add(wmsProductReceiptNoteDetail); } incomingToWms.DataContent = JsonSerializer.Serialize(wmsProductReceiptNote); incomingToWmsList.Add(incomingToWms); diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/ProductReceiptNoteEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/ProductReceiptNoteEventHandler.cs index d20477238..e000b4e8a 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/ProductReceiptNoteEventHandler.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/ProductReceiptNoteEventHandler.cs @@ -77,15 +77,6 @@ public class ProductReceiptNoteEventHandler var transaction = ObjectMapper.Map(detail); var itemBasicDto= await _itemBasicAppService.GetByCodeAsync(detail.ItemCode).ConfigureAwait(false); - var locationDtos = await _locationAppService.GetListByTypesAndErpCodeAsync( - new List { EnumLocationType.WIP }, - detail.LocationErpCode).ConfigureAwait(false); - - if (locationDtos == null||locationDtos.Count<1) - { - throw new UserFriendlyException( - $"Erp储位为【{detail.LocationErpCode}】,库位类型为{EnumLocationType.WIP.GetDisplayName()}的库位不存在。"); - } if (itemBasicDto == null) { @@ -97,11 +88,6 @@ public class ProductReceiptNoteEventHandler detail.ItemDesc2 = itemBasicDto.Desc2; detail.ItemName=itemBasicDto.Name; detail.StdPackQty=itemBasicDto.StdPackQty; - var erpLocationDto = locationDtos.First(); - detail.LocationArea = erpLocationDto.Code; - detail.LocationGroup = erpLocationDto.LocationGroupCode; - detail.LocationErpCode= erpLocationDto.Code; - detail.LocationCode= erpLocationDto.Code; transaction.TransType = TransType; transaction.TransInOut = TransInOut;