From 89fead2b90eb3218e59900f5003cd1c0b3ded337 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A6=20=E8=B5=B5?= <89237069@qq.com> Date: Mon, 21 Oct 2024 14:01:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=BA=93=E5=AD=98=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UnplannedIssueJobAppService.cs | 34 ++++++++++++++----- 1 file changed, 25 insertions(+), 9 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 5912a1bf6..1e0a02ce0 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 @@ -113,10 +113,12 @@ public class UnplannedIssueJobAppService //} - - private async Task> DeductInventory(List inventory, decimal quantityToDeduct, EnumLocationType enumLocationType) + + private async Task,List>> DeductInventory(List inventory, decimal quantityToDeduct, EnumLocationType enumLocationType) { + List balanceDTOs = new List(); + List unbalanceDTOs = new List(); decimal totalDeducted = 0; foreach (var item in inventory) @@ -128,16 +130,25 @@ public class UnplannedIssueJobAppService { var locationDto = await _locationAppService.GetByCodeAsync(item.LocationCode).ConfigureAwait(false); BalanceDTO dto = new BalanceDTO(); + BalanceDTO undto = new BalanceDTO(); + dto.InjectFrom(item); + dto.Qty = availableToDeduct; + balanceDTOs.Add(dto); if (enumLocationType == EnumLocationType.RAW) { - dto.InjectFrom(item); - dto.Qty = availableToDeduct; - balanceDTOs.Add(dto); + + undto.InjectFrom(item); + unbalanceDTOs.Add(dto); + } else { - dto.InjectFrom(item); - balanceDTOs.Add(dto); + + undto.InjectFrom(item); + undto.Qty = availableToDeduct; + unbalanceDTOs.Add(dto); + + } } @@ -147,6 +158,10 @@ public class UnplannedIssueJobAppService break; } } + + Tuple, List> tuple = new Tuple, List>( balanceDTOs,unbalanceDTOs); + + // 返回实际扣减的库存数量 return balanceDTOs; } @@ -277,8 +292,9 @@ public class UnplannedIssueJobAppService //实际要用库存 List useBalances = new List(); var returnlist=await DeductInventory(usableList, requestDtoDetail.Qty, locationDto.Type).ConfigureAwait(false); - useBalances.AddRange(returnlist); - useBalancesOut.AddRange(returnlist); + + useBalances.AddRange(returnlist.Item1); + useBalancesOut.AddRange(returnlist.Item2);