From 64c8e516d5b38358c2b24343b1cc71a3fe829ba0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A6=20=E8=B5=B5?= <89237069@qq.com> Date: Fri, 18 Oct 2024 11:47:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UnplannedIssueJobAppService.cs | 59 ++++--------------- 1 file changed, 12 insertions(+), 47 deletions(-) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs index 4c1446576..a4563d5c0 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs @@ -114,7 +114,7 @@ public class UnplannedIssueJobAppService - private async Task> DeductInventory(List inventory, decimal quantityToDeduct) + private async Task> DeductInventory(List inventory, decimal quantityToDeduct, EnumLocationType enumLocationType) { List balanceDTOs = new List(); decimal totalDeducted = 0; @@ -128,46 +128,18 @@ public class UnplannedIssueJobAppService { var locationDto = await _locationAppService.GetByCodeAsync(item.LocationCode).ConfigureAwait(false); BalanceDTO dto = new BalanceDTO(); - switch (locationDto.Type) + if (enumLocationType == EnumLocationType.RAW) { - case EnumLocationType.RAW: - dto.InjectFrom(item); - dto.Qty = availableToDeduct; - balanceDTOs.Add(dto); - break; - case EnumLocationType.FG: - dto.InjectFrom(item); - balanceDTOs.Add(dto); - break; - case EnumLocationType.DimensionalStorehouse: - dto.InjectFrom(item); - balanceDTOs.Add(dto); - break; - case EnumLocationType.CUST: - dto.InjectFrom(item); - balanceDTOs.Add(dto); - break; - case EnumLocationType.KittingWip: - dto.InjectFrom(item); - balanceDTOs.Add(dto); - break; - case EnumLocationType.OUTSIDE: - dto.InjectFrom(item); - balanceDTOs.Add(dto); - break; - case EnumLocationType.SEMI: - dto.InjectFrom(item); - balanceDTOs.Add(dto); - break; - case EnumLocationType.WIP: - dto.InjectFrom(item); - balanceDTOs.Add(dto); - break; - case EnumLocationType.THIRDPARTY: - dto.InjectFrom(item); - balanceDTOs.Add(dto); - break; - } + dto.InjectFrom(item); + dto.Qty = availableToDeduct; + balanceDTOs.Add(dto); + } + else + { + dto.InjectFrom(item); + balanceDTOs.Add(dto); + } + } // 如果已经扣减达到所需数量,退出循环 if (totalDeducted >= quantityToDeduct) @@ -190,18 +162,11 @@ public class UnplannedIssueJobAppService { var locationCodes = await _locationAppService.GetListByErpLocationCodes(new StringList(requestDtoDetail.LocationErpCode)).ConfigureAwait(false);//获取存放库位 - - - - if (locationCodes.Count == 0) { throw new UserFriendlyException("ERP库位没有对应WMS库位!"); } - - - var first=locationCodes.FirstOrDefault(); var locationDto = await _locationAppService.GetByCodeAsync(first.Code).ConfigureAwait(false); var input = new RecommendBalanceRequestInput();