From bb8afa8cc79b9139641bc353e8e44069c46b8dff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=A2=E6=B1=9F=E6=B5=B7?= <18360817963@163.com> Date: Mon, 24 Mar 2025 13:47:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=93=E5=AD=98=E8=A1=A8=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/wms/WmPolishInventoryService.cs | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/ZR.Service/mes/wms/WmPolishInventoryService.cs b/ZR.Service/mes/wms/WmPolishInventoryService.cs index 8232655b..a9f7201e 100644 --- a/ZR.Service/mes/wms/WmPolishInventoryService.cs +++ b/ZR.Service/mes/wms/WmPolishInventoryService.cs @@ -297,15 +297,25 @@ namespace ZR.Service.mes.wms ) .ToList(); //TODO 取出库存表 wm_polish_inventory 最小CreatedTime时间 - - //TODO 根据时间范围取出所有记录数据 + var wmPolishInventory = Context.Queryable().ToList(); + DateTime mindatetime = wmPolishInventory.Select(o => o.CreatedTime.Value).Min(); - // TODO 匹配记录(partnumber零件号,时间范围) - foreach (WmPolishInventoryDto item in list) + //TODO 根据时间范围取出所有记录数据 + List wmPolishRecords = Context + .Queryable() + .Where(it => it.Code == "自动") + .Where(it => it.ActionTime >= mindatetime ) + .ToList(); + + // TODO 匹配记录(partnumber零件号,时间范围) + foreach (WmPolishInventoryDto item in list) { // TODO 获取实际库存 item.quantity(盘点开始数量) + recourd 记录的入库数量 - 出库数量(筛选条件是 时间区间【item.CreatedTime】 + partnumber[item.partnumber]) - item.RealQuantity = 0; + int? runum = wmPolishRecords.Where(o => o.ActionTime >= item.CreatedTime && o.Partnumber == item.Partnumber && o.ChangeType == 1).Select(o => o.ChangeQuantity).Sum(); + int? chunum= wmPolishRecords.Where(o => o.ActionTime >= item.CreatedTime && o.Partnumber == item.Partnumber && o.ChangeType == 2).Select(o => o.ChangeQuantity).Sum(); + + item.RealQuantity = item.Quantity.Value+(runum.Value-chunum.Value); /*List partnumbers = new() { item.Partnumber }; Dictionary dict = GetBatchPolishRealPartNum(partnumbers);*/