From c30fcb0b1dbcfcdfc3903cb0d712396e2621cf61 Mon Sep 17 00:00:00 2001 From: zhouhongjun <565221961@qq.com> Date: Fri, 25 Jul 2025 15:47:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=9B=98=E7=82=B9=E6=8F=8F?= =?UTF-8?q?=E8=BF=B0=E5=92=8C=E6=96=B0=E5=A2=9E=E4=BB=BB=E5=8A=A1=E5=8F=B7?= =?UTF-8?q?=E3=80=81=E8=AE=A1=E5=88=92=E5=8D=95=E5=8F=B7=E4=B8=8D=E6=AD=A3?= =?UTF-8?q?=E7=A1=AE=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Jobs/CountJobs/CountJobManager.cs | 38 +++++++++++-------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/CountJobs/CountJobManager.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/CountJobs/CountJobManager.cs index 51fbb63ad..a5036fb9b 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/CountJobs/CountJobManager.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/CountJobs/CountJobManager.cs @@ -310,24 +310,27 @@ public class CountJobManager : SfsJobManagerBase, ICou //var oldDepDetail = entity.DepDetails.FirstOrDefault(r => r.ItemCode == depDetail.ItemCode && r.PackingCode == depDetail.PackingCode && r.LocationCode == depDetail.LocationCode && r.InventoryStage == entity.InventoryStage && r.Lot == depDetail.Lot); var oldDepDetail = entity.DepDetails.FirstOrDefault(r => r.Id == new Guid(depDetail.Id.ToString())); if (depDetail.IsDelete) - { - countCount = -oldDepDetail.CountQty; - entity.DepDetails.Remove(oldDepDetail); - - //移除的扫描记录盘点数量与计划中盘点数量一致,移除计划中的物料 - var planDB = await _planRepository.FindAsync(r => r.Number == input.CountPlanNumber).ConfigureAwait(false); - if (planDB != null) + { + if(oldDepDetail != null) { - var planDetailDB = planDB.Details.FirstOrDefault(r => r.ItemCode == depDetail.ItemCode && r.PackingCode == depDetail.PackingCode && r.LocationCode == depDetail.LocationCode && r.Lot == depDetail.Lot && r.Status == depDetail.Status); - if (planDetailDB != null) + countCount = -oldDepDetail.CountQty; + entity.DepDetails.Remove(oldDepDetail); + + //移除的扫描记录盘点数量与计划中盘点数量一致,移除计划中的物料 + var planDB = await _planRepository.FindAsync(r => r.Number == input.CountPlanNumber).ConfigureAwait(false); + if (planDB != null) { - if(planDetailDB.FinalCountQty == oldDepDetail.CountQty) + var planDetailDB = planDB.Details.FirstOrDefault(r => r.ItemCode == depDetail.ItemCode && r.PackingCode == depDetail.PackingCode && r.LocationCode == depDetail.LocationCode && r.Lot == depDetail.Lot && r.Status == depDetail.Status); + if (planDetailDB != null) { - planDB.Details.Remove(planDetailDB); - await _planRepository.UpdateAsync(planDB).ConfigureAwait(false); + if (planDetailDB.FinalCountQty == oldDepDetail.CountQty) + { + planDB.Details.Remove(planDetailDB); + await _planRepository.UpdateAsync(planDB).ConfigureAwait(false); + } } } - } + } } else { @@ -335,6 +338,7 @@ public class CountJobManager : SfsJobManagerBase, ICou { countCount = depDetail.CountQty - oldDepDetail.CountQty; oldDepDetail.CountQty = depDetail.CountQty; + oldDepDetail.CountDescription = depDetail.CountDescription; } else { @@ -358,14 +362,16 @@ public class CountJobManager : SfsJobManagerBase, ICou jobDetail.ProduceDate = DateTime.Now; jobDetail.ExpireDate = DateTime.Parse("9999-12-31 23:59:59.9999999"); jobDetail.InventoryQty = 0; - var detailNumber = await GetNumber().ConfigureAwait(false); - jobDetail.SetIdAndNumber(GuidGenerator, entity.Id, detailNumber); + + //var detailNumber = await GetNumber().ConfigureAwait(false); + jobDetail.CountPlanNumber = input.CountPlanNumber; + jobDetail.SetIdAndNumber(GuidGenerator, entity.Id, depDetail.Number); jobDetail.CountLabel = GuidGenerator.Create().ToString(); entity.Details.Add(jobDetail); } else { - await entity.SetDetail(detail.Id, detail.SupplierBatch, detail.ArriveDate, detail.ProduceDate, detail.ExpireDate, detail.LocationCode, countCount, detail.CountTime, detail.CountOperator, detail.CountDescription) + await entity.SetDetail(detail.Id, detail.SupplierBatch, detail.ArriveDate, detail.ProduceDate, detail.ExpireDate, detail.LocationCode, countCount, detail.CountTime, detail.CountOperator, depDetail.CountDescription) .ConfigureAwait(false); } }