From ce6bb542fa6d8db5283dbd263cfeb171f2f68972 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E6=AD=A3=E6=98=93?= Date: Tue, 4 Nov 2025 13:10:24 +0800 Subject: [PATCH] =?UTF-8?q?GP12=E6=89=8B=E5=A1=AB=E6=8A=A5=E8=A1=A8?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ZR.Service/mes/wms/WmOneTimeRecordService.cs | 48 +++++++++++++++-- ZR.Service/mes/wms/WmPolishRecordService.cs | 57 ++++++++++++++++---- 2 files changed, 90 insertions(+), 15 deletions(-) diff --git a/ZR.Service/mes/wms/WmOneTimeRecordService.cs b/ZR.Service/mes/wms/WmOneTimeRecordService.cs index c49ef844..adc27e64 100644 --- a/ZR.Service/mes/wms/WmOneTimeRecordService.cs +++ b/ZR.Service/mes/wms/WmOneTimeRecordService.cs @@ -307,7 +307,7 @@ namespace ZR.Service.mes.wms .Where(it => it.StartTime >= parm.StartTime) .ToList(); - // 出库条件1 GP12 (新) 触摸屏 qc_gp12_service_statistics 投入数 + // 出库条件1.1 GP12 (新) 触摸屏 qc_gp12_service_statistics 投入数 List qcGp12ServiceStatistics = Context .Queryable() .WhereIF( @@ -318,7 +318,17 @@ namespace ZR.Service.mes.wms .Where(it => it.GroupSort == 1) .ToList(); - // 出库条件2 后道 wm_polish_quality_statistics 投入数 除W04直接出库 + // 出库条件1.2 GP12旧手填报表出库 + List wmGp12QualityStatistics = Context + .Queryable() + .WhereIF( + !string.IsNullOrEmpty(parm.Partnumber), + it => it.Partnumber == parm.Partnumber + ) + .Where(it => it.StartTime >= parm.StartTime) + .ToList(); + + // 出库条件2 后道触摸屏 投入数 除W04直接出库 List qcBackEndQualityStatistics = Context .Queryable() .WhereIF( @@ -345,7 +355,7 @@ namespace ZR.Service.mes.wms .Where(it => it.GroupSort == 1) .ToList(); - + // 手填后道出库报表 List wmPolishQualityStatistics = Context .Queryable() .WhereIF( @@ -440,6 +450,33 @@ namespace ZR.Service.mes.wms ); } + foreach (var item in wmGp12QualityStatistics) + { + // TODO 零件号二次处理 + string partNumber = item.Partnumber; + // 使用正则表达式匹配并移除特殊后缀 + string processedPartnumber = Regex.Replace( + partNumber, + @"-(FL|FR|RR|RL)$", + "", + RegexOptions.IgnoreCase + ); + wmOneTimeRecords.Add( + new WmOneTimeRecord + { + Id = SnowFlakeSingle.Instance.NextId().ToString(), + FkInventoryId = item.Id, + Code = "自动", + Partnumber = processedPartnumber, + ChangeType = 2, + ChangeQuantity = item.RequireNumber, + ActionTime = item.StartTime, + Status = 1, + Remark = "GP12手填-报表投入自动出库" + } + ); + } + foreach (var item in qcBackEndQualityStatistics) { // TODO 零件号二次处理 @@ -485,7 +522,8 @@ namespace ZR.Service.mes.wms Code = "自动", Partnumber = processedPartnumber, ChangeType = 2, - ChangeQuantity = item.PolishNumber + item.DamoNumber + item.BaofeiNumber, + ChangeQuantity = + item.PolishNumber + item.DamoNumber + item.BaofeiNumber, ActionTime = item.StartTime, Status = 1, Remark = "后道触摸屏-非直接出库-报表内损耗自动出库" @@ -515,7 +553,7 @@ namespace ZR.Service.mes.wms ChangeQuantity = item.RequireNumber, ActionTime = item.StartTime, Status = 1, - Remark = "后道报表-手填报表出库" + Remark = "后道手填报表-报表出库" } ); } diff --git a/ZR.Service/mes/wms/WmPolishRecordService.cs b/ZR.Service/mes/wms/WmPolishRecordService.cs index 7dfb4725..5ff3e4ae 100644 --- a/ZR.Service/mes/wms/WmPolishRecordService.cs +++ b/ZR.Service/mes/wms/WmPolishRecordService.cs @@ -1,9 +1,9 @@ -using Infrastructure.Attribute; -using JinianNet.JNTemplate; -using SqlSugar; using System; using System.Linq; using System.Text.RegularExpressions; +using Infrastructure.Attribute; +using JinianNet.JNTemplate; +using SqlSugar; using ZR.Model; using ZR.Model.Business; using ZR.Model.MES.qc; @@ -315,7 +315,7 @@ namespace ZR.Service.mes.wms { #region 查询需要的数据 //三入 - // 产线报表 根据日期范围 去取产线抛光的数据 qc_quality_statistics_first + // (入库)产线报表 根据日期范围 去取产线抛光的数据 qc_quality_statistics_first // 去除倒车雷达 List qcQualityStatisticsFirsts = Context .Queryable() @@ -329,7 +329,7 @@ namespace ZR.Service.mes.wms .Where(it => it.Remark == "抛光") .ToList(); - // 后道报表 根据日期范围 去取后道反抛光的数据 wm_polish_quality_statistics (XXX-20250613触摸屏数据+后道报表数据) + // (入库)后道报表 根据日期范围 去取后道反抛光的数据 wm_polish_quality_statistics (XXX-20250613触摸屏数据+后道报表数据) List qcBackEndQualityStatistics = Context .Queryable() .WhereIF( @@ -350,7 +350,7 @@ namespace ZR.Service.mes.wms .Where(it => it.PaoguangTotal > 0) .ToList(); - // GP12报表 根据日期范围 去取gp12反抛光的数据 qc_gp12_service_statistics GP12(new) wm_gp12_quality_statistics(old) + // (入库)GP12报表 根据日期范围 去取gp12反抛光的数据 qc_gp12_service_statistics GP12(new) wm_gp12_quality_statistics(old) List qcGp12ServiceStatistics = Context .Queryable() .WhereIF( @@ -361,7 +361,18 @@ namespace ZR.Service.mes.wms .Where(it => it.GroupSort == 1) .Where(it => it.PolishNumber > 0) .ToList(); - //二出(同一张表)wm_polish_work_quality_statistics 根据日期范围 去取抛光操作出库的数据 + + // (入库)GP12手填报表 抛光数据 + List wmGp12QualityStatistics = Context + .Queryable() + .WhereIF( + !string.IsNullOrEmpty(parm.Partnumber), + it => it.Partnumber == parm.Partnumber + ) + .Where(it => it.StartTime >= parm.StartTime) + .Where(it => it.PaoguangTotal > 0) + .ToList(); + //(出库)二出(同一张表)wm_polish_work_quality_statistics 根据日期范围 去取抛光操作出库的数据 List wmPolishWorkQualityStatistics = Context .Queryable() .WhereIF( @@ -376,7 +387,7 @@ namespace ZR.Service.mes.wms qcQualityStatisticsFirsts.Count + qcBackEndQualityStatistics.Count + qcGp12ServiceStatistics.Count - //+ wmGp12QualityStatistics.Count + + wmGp12QualityStatistics.Count + wmPolishWorkQualityStatistics.Count; #region 组装 WmPolishRecord 实体 @@ -489,6 +500,32 @@ namespace ZR.Service.mes.wms } ); } + foreach (var item in wmGp12QualityStatistics) + { + // TODO 零件号二次处理 + string partNumber = item.Partnumber; + // 使用正则表达式匹配并移除特殊后缀 + string processedPartnumber = Regex.Replace( + partNumber, + @"-(FL|FR|RR|RL)$", + "", + RegexOptions.IgnoreCase + ); + wmPolishRecords.Add( + new WmPolishRecord + { + Id = SnowFlakeSingle.Instance.NextId().ToString(), + FkInventoryId = item.Id, + Code = "自动", + Partnumber = processedPartnumber, + ChangeType = 1, + ChangeQuantity = item.PolishNumber, + ActionTime = item.StartTime, + Status = 1, + Remark = " GP12手填报表-报表抛光件自动入库" + } + ); + } foreach (var item in wmPolishWorkQualityStatistics) { @@ -523,7 +560,8 @@ namespace ZR.Service.mes.wms Context.Ado.BeginTran(); // 批量插入到 wm_polish_record 表 //如果有这个时间段的数据,要删除 - Context.Deleteable() + Context + .Deleteable() .Where(it => it.Code == "自动") .Where(it => it.ActionTime >= parm.StartTime) .ExecuteCommand(); @@ -540,7 +578,6 @@ namespace ZR.Service.mes.wms Context.Ado.RollbackTran(); throw; } - } } }