From 680b8eba0ef5645a88f02632fa00c9a9fe9cdc5f Mon Sep 17 00:00:00 2001 From: tongfei <244188119@qq.com> Date: Wed, 6 Dec 2023 17:44:52 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/WMS.Web.Domain/Services/InStockService.cs | 32 +++++++++++-------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/src/WMS.Web.Domain/Services/InStockService.cs b/src/WMS.Web.Domain/Services/InStockService.cs index a2af1798..51528c52 100644 --- a/src/WMS.Web.Domain/Services/InStockService.cs +++ b/src/WMS.Web.Domain/Services/InStockService.cs @@ -245,23 +245,27 @@ namespace WMS.Web.Domain.Services return Result.ReFailure(ResultCodes.DateWriteError); //同步金蝶后,反写任务单的已交数量 - var taskId = dto.Details.GroupBy(x => x.TaskId).Select(x => x.Key).FirstOrDefault(); - var task = await _inStockTaskRepositories.Get(taskId); - if (task != null) + var taskIds = dto.Details.GroupBy(x => x.TaskId).Select(x => x.Key).ToList(); + var tasks = await _inStockTaskRepositories.GetList(taskIds); + if (tasks != null && tasks.Count!=0) { - task.Details.ForEach(x => + foreach (var task in tasks) { - var current_entityDets = dto.Details.Where(t => t.ErpDetailId == x.ErpDetailId).ToList(); - if (current_entityDets != null && current_entityDets.Count != 0 && x.ErpDetailId == current_entityDets.FirstOrDefault().ErpDetailId) + task.Details.ForEach(x => { - var current_entityDet_matQty = current_entityDets.Sum(x => x.Qty); - x.DeliveredQty = x.ReceiveQty; - x.RealityQty = x.RealityQty + current_entityDet_matQty; - } - }); - task.Shelf(loginInfo.UserInfo.StaffId); - task = await _inStockTaskRepositories.Update(task, isTransaction); - if (task == null) + var current_entityDets = dto.Details.Where(t => t.ErpDetailId == x.ErpDetailId).ToList(); + if (current_entityDets != null && current_entityDets.Count != 0 && x.ErpDetailId == current_entityDets.FirstOrDefault().ErpDetailId) + { + var current_entityDet_matQty = current_entityDets.Sum(x => x.Qty); + x.DeliveredQty = x.ReceiveQty; + x.RealityQty = x.RealityQty + current_entityDet_matQty; + } + }); + task.Shelf(loginInfo.UserInfo.StaffId); + } + + var isSuccess = await _inStockTaskRepositories.UpdateRange(tasks, isTransaction); + if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError); }