From bcbe4d47dbdbace41081fe6e4b7e967f60c73e17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E6=AD=A3=E6=98=93?= Date: Mon, 24 Mar 2025 14:27:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=9B=E5=85=89=E8=AE=B0=E5=BD=95=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E7=94=9F=E6=88=90=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/wms/WmPolishInventoryController.cs | 2 +- ZR.Model/MES/wms/Dto/WmPolishInventoryDto.cs | 1 + .../wms/IService/IWmPolishInventoryService.cs | 1 + .../mes/wms/WmPolishInventoryService.cs | 65 ++++++++++++------- ZR.Service/mes/wms/WmPolishRecordService.cs | 55 ++++++++-------- 5 files changed, 69 insertions(+), 55 deletions(-) diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmPolishInventoryController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmPolishInventoryController.cs index e39cd48b..b5358bd3 100644 --- a/ZR.Admin.WebApi/Controllers/mes/wms/WmPolishInventoryController.cs +++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmPolishInventoryController.cs @@ -42,7 +42,7 @@ namespace ZR.Admin.WebApi.Controllers // [ActionPermissionFilter(Permission = "business:wmpolishinventory:list")] public IActionResult QueryWmPolishInventory([FromQuery] WmPolishInventoryQueryDto parm) { - var response = _WmPolishInventoryService.GetList(parm); + var response = _WmPolishInventoryService.GetListNew(parm); return SUCCESS(response); } diff --git a/ZR.Model/MES/wms/Dto/WmPolishInventoryDto.cs b/ZR.Model/MES/wms/Dto/WmPolishInventoryDto.cs index a0fa6fdf..528b2be1 100644 --- a/ZR.Model/MES/wms/Dto/WmPolishInventoryDto.cs +++ b/ZR.Model/MES/wms/Dto/WmPolishInventoryDto.cs @@ -68,6 +68,7 @@ namespace ZR.Model.MES.wms.Dto public int StocktakingTotal { get; set; } public int QuantitySum { get; set; } public int RealQuantitySum { get; set; } + public DateTime? MinStocktakingTime { get; set; } public List Result { get; set; } } diff --git a/ZR.Service/mes/wms/IService/IWmPolishInventoryService.cs b/ZR.Service/mes/wms/IService/IWmPolishInventoryService.cs index a339ab7a..9ef5540f 100644 --- a/ZR.Service/mes/wms/IService/IWmPolishInventoryService.cs +++ b/ZR.Service/mes/wms/IService/IWmPolishInventoryService.cs @@ -11,6 +11,7 @@ namespace ZR.Service.mes.wms.IService public interface IWmPolishInventoryService : IBaseService { WmPolishInventoryTableDto GetList(WmPolishInventoryQueryDto parm); + WmPolishInventoryTableDto GetListNew(WmPolishInventoryQueryDto parm); /// /// 获取导出数据 diff --git a/ZR.Service/mes/wms/WmPolishInventoryService.cs b/ZR.Service/mes/wms/WmPolishInventoryService.cs index a9f7201e..68a3d325 100644 --- a/ZR.Service/mes/wms/WmPolishInventoryService.cs +++ b/ZR.Service/mes/wms/WmPolishInventoryService.cs @@ -297,29 +297,40 @@ namespace ZR.Service.mes.wms ) .ToList(); //TODO 取出库存表 wm_polish_inventory 最小CreatedTime时间 - var wmPolishInventory = Context.Queryable().ToList(); - DateTime mindatetime = wmPolishInventory.Select(o => o.CreatedTime.Value).Min(); + DateTime minDateTime = + Context + .Queryable() + .OrderBy(it => it.CreatedTime) + .Select(it => it.CreatedTime) + .First() ?? DateTime.Now; + //TODO 根据时间范围取出所有记录数据 + List wmPolishRecords = Context + .Queryable() + //.Where(it => it.Code == "自动") + .Where(it => it.ActionTime >= minDateTime) + .ToList(); - - //TODO 根据时间范围取出所有记录数据 - List wmPolishRecords = Context - .Queryable() - .Where(it => it.Code == "自动") - .Where(it => it.ActionTime >= mindatetime ) - .ToList(); - - // TODO 匹配记录(partnumber零件号,时间范围) - foreach (WmPolishInventoryDto item in list) + // TODO 匹配记录(partnumber零件号,时间范围) + foreach (WmPolishInventoryDto item in list) { // TODO 获取实际库存 item.quantity(盘点开始数量) + recourd 记录的入库数量 - 出库数量(筛选条件是 时间区间【item.CreatedTime】 + partnumber[item.partnumber]) - 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);*/ - // item.RealQuantity = dict.TryGetValue(item.Partnumber, out int value) ? value : 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 = list.Where(it => it.RealQuantity != 0 || it.Quantity != 0) @@ -342,6 +353,7 @@ namespace ZR.Service.mes.wms StocktakingTotal = StocktakingTotal, QuantitySum = QuantitySum, RealQuantitySum = RealQuantitySum, + MinStocktakingTime = minDateTime, Result = list.Skip((parm.PageNum - 1) * parm.PageSize) .Take(parm.PageSize) .ToList(), @@ -833,11 +845,14 @@ namespace ZR.Service.mes.wms .Select(it => it.CreatedTime) .First() ?? new DateTime(2024, 11, 16, 12, 0, 0); CommonFQCService commonFQCService = new(); - // 获取报表数据 - // 抛光计算后库存 = 盘点库存 + 产线抛光 + 后道反抛 + GP12反抛 - 抛光投入 - //return commonFQCService.GetBatchPolishPartRealStock(partnumbers, checkTime.Value); - return commonFQCService.GetBatchPolishPartRealStockNew(partnumbers, checkTime.Value); - } + // 获取报表数据 + // 抛光计算后库存 = 盘点库存 + 产线抛光 + 后道反抛 + GP12反抛 - 抛光投入 + //return commonFQCService.GetBatchPolishPartRealStock(partnumbers, checkTime.Value); + return commonFQCService.GetBatchPolishPartRealStockNew( + partnumbers, + checkTime.Value + ); + } catch (Exception e) { throw; diff --git a/ZR.Service/mes/wms/WmPolishRecordService.cs b/ZR.Service/mes/wms/WmPolishRecordService.cs index abc1b522..672102bc 100644 --- a/ZR.Service/mes/wms/WmPolishRecordService.cs +++ b/ZR.Service/mes/wms/WmPolishRecordService.cs @@ -40,10 +40,10 @@ namespace ZR.Service.mes.wms ) .AndIF(!string.IsNullOrEmpty(parm.Remark), it => it.Remark.Contains(parm.Remark)) .AndIF(!string.IsNullOrEmpty(parm.Code), it => it.Code.Contains(parm.Code)) - .AndIF( + /*.AndIF( !string.IsNullOrEmpty(parm.FkInventoryId), it => it.FkInventoryId == parm.FkInventoryId - ) + )*/ .AndIF(!string.IsNullOrEmpty(parm.Id), it => it.Id == parm.Id) .AndIF(parm.ChangeType > -1, it => it.ChangeType == parm.ChangeType) .AndIF(startTime > DateTime.MinValue, it => startTime <= it.ActionTime) @@ -112,13 +112,7 @@ namespace ZR.Service.mes.wms /// public int GenerateWmPolishRecord(WmPolishRecordGenerateDto parm) { - if ( - parm == null - || parm.StartTime == null - || parm.EndTime == null - || parm.StartTime.Value == DateTime.MinValue - || parm.EndTime.Value == DateTime.MinValue - ) + if (parm == null || parm.StartTime == null || parm.StartTime.Value == DateTime.MinValue) { return -1; } @@ -133,7 +127,7 @@ namespace ZR.Service.mes.wms !string.IsNullOrEmpty(parm.Partnumber), it => it.FinishedPartNumber == parm.Partnumber ) - .Where(it => it.StartTime >= parm.StartTime && it.StartTime <= parm.EndTime) + .Where(it => it.StartTime >= parm.StartTime) .Where(it => it.PaoguangTotal > 0) .ToList(); @@ -144,7 +138,7 @@ namespace ZR.Service.mes.wms !string.IsNullOrEmpty(parm.Partnumber), it => it.Partnumber == parm.Partnumber ) - .Where(it => it.StartTime >= parm.StartTime && it.StartTime <= parm.EndTime) + .Where(it => it.StartTime >= parm.StartTime) .Where(it => it.PaoguangTotal > 0) .ToList(); @@ -155,7 +149,7 @@ namespace ZR.Service.mes.wms !string.IsNullOrEmpty(parm.Partnumber), it => it.PartNumber == parm.Partnumber ) - .Where(it => it.StartTime >= parm.StartTime && it.StartTime <= parm.EndTime) + .Where(it => it.StartTime >= parm.StartTime) .Where(it => it.GroupSort == 1) .Where(it => it.PolishNumber > 0) .ToList(); @@ -167,7 +161,7 @@ namespace ZR.Service.mes.wms !string.IsNullOrEmpty(parm.Partnumber), it => it.Partnumber == parm.Partnumber ) - .Where(it => it.StartTime >= parm.StartTime && it.StartTime <= parm.EndTime) + .Where(it => it.StartTime >= parm.StartTime) .Where(it => it.PaoguangTotal > 0) .ToList(); @@ -178,16 +172,20 @@ namespace ZR.Service.mes.wms !string.IsNullOrEmpty(parm.Partnumber), it => it.Partnumber == parm.Partnumber ) - .Where(it => it.StartTime >= parm.StartTime && it.StartTime <= parm.EndTime) + .Where(it => it.StartTime >= parm.StartTime) .ToList(); #endregion - int totalcount = qcQualityStatisticsFirsts.Count + wmPolishQualityStatistics.Count + qcGp12ServiceStatistics.Count + wmGp12QualityStatistics.Count + int totalcount = + qcQualityStatisticsFirsts.Count + + wmPolishQualityStatistics.Count + + qcGp12ServiceStatistics.Count + + wmGp12QualityStatistics.Count + wmPolishWorkQualityStatistics.Count; - #region 组装 WmPolishRecord 实体 - // 组装 WmPolishRecord 实体 - List wmPolishRecords = new List(); + #region 组装 WmPolishRecord 实体 + // 组装 WmPolishRecord 实体 + List wmPolishRecords = new List(); foreach (var item in qcQualityStatisticsFirsts) { @@ -202,7 +200,7 @@ namespace ZR.Service.mes.wms ChangeQuantity = item.PaoguangTotal, ActionTime = item.StartTime, Status = 1, - Remark = "产线报表 根据日期范围 去取产线抛光的数据" + Remark = "产线触摸屏报表抛光件自动入库" } ); } @@ -220,7 +218,7 @@ namespace ZR.Service.mes.wms ChangeQuantity = item.PaoguangTotal, ActionTime = item.StartTime, Status = 1, - Remark = "后道报表 根据日期范围 去取后道反抛光的数据" + Remark = "后道手填报表抛光件自动入库" } ); } @@ -231,14 +229,14 @@ namespace ZR.Service.mes.wms new WmPolishRecord { Id = SnowFlakeSingle.Instance.NextId().ToString(), - FkInventoryId = item.Id, - Code = "自动", + FkInventoryId = item.Id, + Code = "自动", Partnumber = item.PartNumber, ChangeType = 1, ChangeQuantity = item.PolishNumber, ActionTime = item.StartTime, Status = 1, - Remark = " GP12报表(new) 根据日期范围 去取gp12反抛光的数据" + Remark = " GP12触摸屏报表抛光件自动入库" } ); } @@ -249,14 +247,14 @@ namespace ZR.Service.mes.wms new WmPolishRecord { Id = SnowFlakeSingle.Instance.NextId().ToString(), - FkInventoryId = item.Id, - Code = "自动", + FkInventoryId = item.Id, + Code = "自动", Partnumber = item.Partnumber, ChangeType = 1, ChangeQuantity = item.PaoguangTotal, ActionTime = item.StartTime, Status = 1, - Remark = " GP12报表(old) 根据日期范围 去取gp12反抛光的数据" + Remark = " GP12手填报表抛光件自动入库" } ); } @@ -274,7 +272,7 @@ namespace ZR.Service.mes.wms ChangeQuantity = item.RequireNumber, ActionTime = item.StartTime, Status = 1, - Remark = " 根据日期范围 去取抛光操作出库的数据" + Remark = "抛光手填报表自动出库" } ); } @@ -286,10 +284,9 @@ namespace ZR.Service.mes.wms List delwmPolishRecords = Context .Queryable() .Where(it => it.Code == "自动") - .Where(it => it.ActionTime >= parm.StartTime && it.ActionTime <= parm.EndTime) + .Where(it => it.ActionTime >= parm.StartTime) .ToList(); Context.Deleteable(delwmPolishRecords).ExecuteCommand(); - if (wmPolishRecords.Any()) { Context.Insertable(wmPolishRecords).ExecuteCommand();