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 695ae1c38..bb7a60b7e 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 @@ -90,10 +90,12 @@ public class MesOutConverter : IIncomingConverter wmsProductReceiptNoteDetail.WarehouseCode = "T8"; wmsProductReceiptNoteDetail.LocationArea = ""; wmsProductReceiptNoteDetail.LocationGroup = ""; - var loc = await _locationAppService.GetListByTypesAndErpCodeAsync(types, wmsProductReceiptNoteDetail.LocationErpCode).ConfigureAwait(false); + var loc = await _locationAppService.GetListByTypesAndErpCodeAsync(types, wmsProductReceiptNoteDetail.LocationErpCode, wmsProductReceiptNoteDetail.LocationErpCode).ConfigureAwait(false); if (loc != null) { wmsProductReceiptNoteDetail.LocationCode = loc[0].Code; + wmsProductReceiptNoteDetail.LocationArea = loc[0].AreaCode; + wmsProductReceiptNoteDetail.LocationGroup = loc[0].LocationGroupCode; } diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/MesOutReader.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/MesOutReader.cs index 63b9d0c06..def88e103 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/MesOutReader.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/MesOutReader.cs @@ -95,7 +95,7 @@ public class MesOutReader : IReader continue; } List types = new List { EnumLocationType.FG, EnumLocationType.WIP }; - var loc = await _locationAppService.GetListByTypesAndErpCodeAsync(types, item.Mesout_loc).ConfigureAwait(false); + var loc = await _locationAppService.GetListByTypesAndErpCodeAsync(types, item.Mesout_loc, item.Mesout_loc).ConfigureAwait(false); if (loc.Count == 0) { mesoutnbr.Add(item.Mesout_ref_nbr); diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Locations/ILocationAppService.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Locations/ILocationAppService.cs index 2e2f7f1b9..a46e86f0a 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Locations/ILocationAppService.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/Locations/ILocationAppService.cs @@ -30,4 +30,7 @@ public interface ILocationAppService Task> GetListByManyCodes(List codes); Task> GetListByTypesAndErpCodeAsync(List types, string erpCode); + Task> GetListByTypesAndErpCodeAsync(List types, string erpCode,string locCode); + + } diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Locations/LocationAppService.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Locations/LocationAppService.cs index 70123d34f..61e0db700 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Locations/LocationAppService.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Locations/LocationAppService.cs @@ -164,6 +164,15 @@ public class LocationAppService var dtos = ObjectMapper.Map, List>(locations); return dtos; } + [HttpGet("list/by-types-and-erp-code")] + public virtual async Task> GetListByTypesAndErpCodeAsync(List types, string erpCode,string locCode) + { + var locations = await _repository.GetListAsync(c => types.Contains(c.Type) && c.ErpLocationCode == erpCode&&c.Code==locCode).ConfigureAwait(false); + var dtos = ObjectMapper.Map, List>(locations); + return dtos; + } + + [HttpGet("list/by-location-group-code-and-location-type")] public virtual async Task> GeListByLocationGroupCodeAndLocationType(List locationGroupCodes, List locationTypes)