From e8cbb2cb2bda1fb0bb60c7a8f29383fcc73eb76c Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周三, 03 7月 2024 09:32:06 +0800 Subject: [PATCH] 2 --- DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/OP80QualityDataHandler.cs | 135 ++++++++++++++++++++++++-------------------- 1 files changed, 73 insertions(+), 62 deletions(-) diff --git a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/OP80QualityDataHandler.cs b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/OP80QualityDataHandler.cs index e14097d..544f483 100644 --- a/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/OP80QualityDataHandler.cs +++ b/DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/OP80QualityDataHandler.cs @@ -167,21 +167,21 @@ Log4NetHelper.WriteInfoLog(logType, $"OP80涓嬬嚎瀹屾垚璇诲彇鍒版枃浠秢file.Name}锛屾槸鎸囧畾鐨勫伐浠秢pieceProcess.WorkPieceID}"); - WorkPieceLogMiddle wplog = new WorkPieceLogMiddle(); - wplog.WorkPieceID = pieceProcess.WorkPieceID; - wplog.WorkingProcedure = query_WorkingProcedureCurrent; - wplog.Id = Yitter.IdGenerator.YitIdHelper.NextId(); - wplog.EquipmentID = _dataCaptureConfig.EquipmentID; ; - wplog.Remarks = wplog.WorkingProcedure; - wplog.MonitoringPoint = _DataCapturePointCode; - wplog.CreatedTime = DateTimeHelper.GetDateTime(); - wplog.CreatedUserName = _DataCapturePointCode; - wplog.UpdatedTime = DateTimeHelper.GetDateTime(); - wplog.UpdatedUserName = Environment.MachineName + "鑷姩" + Thread.CurrentThread.ManagedThreadId.ToString(); - wplog.IsDeleted = false; + WorkPieceLogMiddle logMiddle = new WorkPieceLogMiddle(); + logMiddle.WorkPieceID = pieceProcess.WorkPieceID; + logMiddle.WorkingProcedure = query_WorkingProcedureCurrent; + logMiddle.Id = Yitter.IdGenerator.YitIdHelper.NextId(); + logMiddle.EquipmentID = _dataCaptureConfig.EquipmentID; ; + logMiddle.Remarks = logMiddle.WorkingProcedure; + logMiddle.MonitoringPoint = _DataCapturePointCode; + logMiddle.CreatedTime = DateTimeHelper.GetDateTime(); + logMiddle.CreatedUserName = _DataCapturePointCode; + logMiddle.UpdatedTime = DateTimeHelper.GetDateTime(); + logMiddle.UpdatedUserName = Environment.MachineName + "鑷姩" + Thread.CurrentThread.ManagedThreadId.ToString(); + logMiddle.IsDeleted = false; WorkPieceLog loginfo2 = new WorkPieceLog(); - loginfo2 = EntityPropHelper.Mapper<WorkPieceLog, WorkPieceLogMiddle>(wplog); + loginfo2 = EntityPropHelper.Mapper<WorkPieceLog, WorkPieceLogMiddle>(logMiddle); var datatable = CSVHelper.ReadCSVList(file.FullName); List<string> rowFirst = new List<string>(); @@ -243,93 +243,100 @@ { if (oP80Info.OP80ItemStatusInfolist.Any(o => !o.鐘舵��.Equals("OK"))) { - wplog.QualityStateStr = "NG"; + logMiddle.QualityStateStr = "NG"; } else { - wplog.QualityStateStr = "OK"; + logMiddle.QualityStateStr = "OK"; } } else { - wplog.QualityStateStr = "OK"; + logMiddle.QualityStateStr = "OK"; } - wplog.OP80QualityFilePath = file.FullName; - wplog.OP80NewCode = oP80Info.鎵瑰彿?.Replace("#", ""); + logMiddle.OP80QualityFilePath = file.FullName; + logMiddle.OP80NewCode = oP80Info.鎵瑰彿?.Replace("#", ""); //澶уご閲嶉噺 - wplog.QualityOP80To1 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Weight Big End")).FirstOrDefault()?.缁濆鍊�; + logMiddle.QualityOP80To1 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Weight Big End")).FirstOrDefault()?.缁濆鍊�; //灏忓ご閲嶉噺 - wplog.QualityOP80To2 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Weight Small End")).FirstOrDefault()?.缁濆鍊�; + logMiddle.QualityOP80To2 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Weight Small End")).FirstOrDefault()?.缁濆鍊�; //鎬婚噸 - wplog.QualityOP80To3 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Total Weight")).FirstOrDefault()?.缁濆鍊�; + logMiddle.QualityOP80To3 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Total Weight")).FirstOrDefault()?.缁濆鍊�; //寮洸 - wplog.QualityOP80To4 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Bend to A")).FirstOrDefault()?.缁濆鍊�; + logMiddle.QualityOP80To4 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Bend to A")).FirstOrDefault()?.缁濆鍊�; //鎵害 - wplog.QualityOP80To5 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Twist to A")).FirstOrDefault()?.缁濆鍊�; + logMiddle.QualityOP80To5 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Twist to A")).FirstOrDefault()?.缁濆鍊�; //澶уご鍨傜洿搴� - wplog.QualityOP80To6 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Big_End_C_Squareness")).FirstOrDefault()?.缁濆鍊�; + logMiddle.QualityOP80To6 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Big_End_C_Squareness")).FirstOrDefault()?.缁濆鍊�; //灏忓ご鍨傜洿搴� - wplog.QualityOP80To10 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Sma_End_C_Squareness")).FirstOrDefault()?.缁濆鍊�; + logMiddle.QualityOP80To10 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Sma_End_C_Squareness")).FirstOrDefault()?.缁濆鍊�; //澶уご瀛斿垎缁勭骇鍒� - wplog.QualityOP80To7 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Dime Big_End Class")).FirstOrDefault()?.鐘舵��; + logMiddle.QualityOP80To7 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Dime Big_End Class")).FirstOrDefault()?.鐘舵��; //灏忓ご瀛斿垎缁勭骇鍒� - wplog.QualityOP80To8 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Dime Small_End Class")).FirstOrDefault()?.鐘舵��; + logMiddle.QualityOP80To8 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Dime Small_End Class")).FirstOrDefault()?.鐘舵��; //閲嶉噺缁勫埆 - wplog.QualityOP80To9 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Weight Class")).FirstOrDefault()?.鐘舵��; + logMiddle.QualityOP80To9 = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Weight Class")).FirstOrDefault()?.鐘舵��; //wplog.Remarks = (wplog.Remarks ?? "") + $"OP80涓嬬嚎瀹屾垚璇诲彇鏂囦欢{file.FullName},鏁版嵁銆恵wplog.OP80NewCode??"绌�"}銆戙�恵wplog.QualityOP80To1 ?? "绌�"}銆戙�恵wplog.QualityOP80To2 ?? "绌�"}銆戙�恵wplog.QualityOP80To3 ?? "绌�"}銆戙�恵wplog.QualityOP80To4 ?? "绌�"}銆戙�恵wplog.QualityOP80To5 ?? "绌�"}銆�"; //鏂板OP80鐨勪竴浜涜川閲忔暟鎹� 銆怑ditby shaocx,2024-06-13銆� - wplog.QualityOP80_Houdu = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Big_End_Thickness")).FirstOrDefault()?.缁濆鍊�; - wplog.QualityOP80_ZXJ = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Distance of Two Head")).FirstOrDefault()?.缁濆鍊�; - wplog.QualityOP80_DTKYZD = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Big_End_Cylindricity")).FirstOrDefault()?.缁濆鍊�; - wplog.QualityOP80_XTSMYD = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Small_End_Top_Roundn")).FirstOrDefault()?.缁濆鍊�; - wplog.QualityOP80_XTXMYD = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Small_End_Bot_Roundn")).FirstOrDefault()?.缁濆鍊�; + logMiddle.QualityOP80_Houdu = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Big_End_Thickness")).FirstOrDefault()?.缁濆鍊�; + logMiddle.QualityOP80_ZXJ = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Distance of Two Head")).FirstOrDefault()?.缁濆鍊�; + logMiddle.QualityOP80_DTKYZD = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Big_End_Cylindricity")).FirstOrDefault()?.缁濆鍊�; + logMiddle.QualityOP80_XTSMYD = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Small_End_Top_Roundn")).FirstOrDefault()?.缁濆鍊�; + logMiddle.QualityOP80_XTXMYD = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Small_End_Bot_Roundn")).FirstOrDefault()?.缁濆鍊�; - wplog.QualityOP80_D_S_X = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Big_End_Top_X_Dia.")).FirstOrDefault()?.缁濆鍊�; - wplog.QualityOP80_D_S_Y = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Big_End_Top_Y_Dia.")).FirstOrDefault()?.缁濆鍊�; - wplog.QualityOP80_D_X_X = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Big_End_Bot_X_Dia.")).FirstOrDefault()?.缁濆鍊�; - wplog.QualityOP80_D_X_Y = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Big_End_Bot_Y_Dia.")).FirstOrDefault()?.缁濆鍊�; + logMiddle.QualityOP80_D_S_X = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Big_End_Top_X_Dia.")).FirstOrDefault()?.缁濆鍊�; + logMiddle.QualityOP80_D_S_Y = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Big_End_Top_Y_Dia.")).FirstOrDefault()?.缁濆鍊�; + logMiddle.QualityOP80_D_X_X = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Big_End_Bot_X_Dia.")).FirstOrDefault()?.缁濆鍊�; + logMiddle.QualityOP80_D_X_Y = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Big_End_Bot_Y_Dia.")).FirstOrDefault()?.缁濆鍊�; //璁$畻澶уご瀛旂洿寰�,澶уご瀛旂洿寰�=锛堝ぇ澶翠笂闈鏂瑰悜鐩村緞+澶уご涓婇潰Y鏂瑰悜鐩村緞+澶уご涓嬮潰X鏂瑰悜鐩村緞+澶уご涓嬮潰Y鏂瑰悜鐩村緞锛�/4 List<decimal> valueList = new List<decimal>() { - SystemHelper.GetDecimal(wplog.QualityOP80_D_S_X), - SystemHelper.GetDecimal(wplog.QualityOP80_D_S_Y), - SystemHelper.GetDecimal(wplog.QualityOP80_D_X_X), - SystemHelper.GetDecimal(wplog.QualityOP80_D_X_Y), + SystemHelper.GetDecimal(logMiddle.QualityOP80_D_S_X), + SystemHelper.GetDecimal(logMiddle.QualityOP80_D_S_Y), + SystemHelper.GetDecimal(logMiddle.QualityOP80_D_X_X), + SystemHelper.GetDecimal(logMiddle.QualityOP80_D_X_Y), }; - wplog.QualityOP80_D_TKZJ = SystemHelper.CalcDecimalAvg(valueList, 3); + logMiddle.QualityOP80_D_TKZJ = SystemHelper.CalcDecimalAvg(valueList, 3); - wplog.QualityOP80_X_S_X = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Small_End_Top_X_Dia.")).FirstOrDefault()?.缁濆鍊�; - wplog.QualityOP80_X_S_Y = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Small_End_Top_Y_Dia.")).FirstOrDefault()?.缁濆鍊�; - wplog.QualityOP80_X_X_X = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Small_End_Bot_X_Dia.")).FirstOrDefault()?.缁濆鍊�; - wplog.QualityOP80_X_X_Y = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Small_End_Bot_Y_Dia.")).FirstOrDefault()?.缁濆鍊�; + logMiddle.QualityOP80_X_S_X = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Small_End_Top_X_Dia.")).FirstOrDefault()?.缁濆鍊�; + logMiddle.QualityOP80_X_S_Y = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Small_End_Top_Y_Dia.")).FirstOrDefault()?.缁濆鍊�; + logMiddle.QualityOP80_X_X_X = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Small_End_Bot_X_Dia.")).FirstOrDefault()?.缁濆鍊�; + logMiddle.QualityOP80_X_X_Y = oP80Info.OP80ItemInfolist.Where(o => o.鍚嶇О.Equals("Small_End_Bot_Y_Dia.")).FirstOrDefault()?.缁濆鍊�; //璁$畻灏忓ご瀛旂洿寰�,灏忓ご瀛旂洿寰�=锛堝皬澶翠笂闈鏂瑰悜鐩村緞+灏忓ご涓婇潰Y鏂瑰悜鐩村緞+灏忓ご涓嬮潰X鏂瑰悜鐩村緞+灏忓ご涓嬮潰Y鏂瑰悜鐩村緞锛�/4 valueList = new List<decimal>(); valueList = new List<decimal>() { - SystemHelper.GetDecimal(wplog.QualityOP80_X_S_X), - SystemHelper.GetDecimal(wplog.QualityOP80_X_S_Y), - SystemHelper.GetDecimal(wplog.QualityOP80_X_X_X), - SystemHelper.GetDecimal(wplog.QualityOP80_X_X_Y), + SystemHelper.GetDecimal(logMiddle.QualityOP80_X_S_X), + SystemHelper.GetDecimal(logMiddle.QualityOP80_X_S_Y), + SystemHelper.GetDecimal(logMiddle.QualityOP80_X_X_X), + SystemHelper.GetDecimal(logMiddle.QualityOP80_X_X_Y), }; - wplog.QualityOP80_X_TKZJ = SystemHelper.CalcDecimalAvg(valueList, 3); + logMiddle.QualityOP80_X_TKZJ = SystemHelper.CalcDecimalAvg(valueList, 3); } else { - wplog.Remarks = (wplog.Remarks ?? "") + $"OP80涓嬬嚎瀹屾垚璇诲彇鏂囦欢{file.FullName}寮傚父锛岃鏁颁笉鏄�2琛�"; + logMiddle.Remarks = (logMiddle.Remarks ?? "") + $"OP80涓嬬嚎瀹屾垚璇诲彇鏂囦欢{file.FullName}寮傚父锛岃鏁颁笉鏄�2琛�"; } //鏇存柊WorkPieceInfo琛ㄤ互鍙婃彃鍏orkPieceLog琛ㄥ拰WorkPieceInfoLog琛� - info.OP80NewCode = wplog.OP80NewCode;//鏇存柊鎴愬搧鍚� + info.OP80NewCode = logMiddle.OP80NewCode;//鏇存柊鎴愬搧鍚� - info.QualityState = (int)((wplog.QualityStateStr.Equals("OK") || wplog.QualityStateStr.Equals("0K")) ? QualityState.OK : QualityState.NG); - wplog.QualityState = info.QualityState; - info.QualityStateUpdateUser = wplog.UpdatedUserName; - info.QualityStateUpdateTime = wplog.UpdatedTime.Value.LocalDateTime; + info.QualityState = (int)((logMiddle.QualityStateStr.Equals("OK") || logMiddle.QualityStateStr.Equals("0K")) ? QualityState.OK : QualityState.NG); + logMiddle.QualityState = info.QualityState; + //鏍规嵁璐ㄩ噺鏁版嵁鍒ゆ柇鏄惁鍚堟牸/涓嶅悎鏍� 銆怑ditby shaocx,2024-06-25銆� + WorkPieceInfoManager.SetLogMiddleForQuality(ref logMiddle); + + //璧嬪�间笉鍚堟牸鍘熷洜 + //TODO:闇�瑕侀厤缃甇P80璐ㄩ噺涓嶅悎鏍肩殑鍘熷洜鏄暐锛燂紵 + WorkPieceInfoManager.SetQualityNoOk_WorkPieceInfo(logMiddle, ref info); + + info.QualityStateUpdateUser = logMiddle.UpdatedUserName; + info.QualityStateUpdateTime = logMiddle.UpdatedTime.Value.LocalDateTime; info.QualityStateUpdateMode = QualityStateUpdateMode.Auto.ToString(); //var qualityData = db.QualityDataInfo.Where(o => o.WorkPieceID == wplog.WorkPieceID).FirstOrDefault(); @@ -339,24 +346,24 @@ // db.QualityDataInfo.Add(GetAddQualityDataInfo(qualityData)); //} //淇敼QualityDataInfo琛� //閲嶅鏀跺埌璐ㄩ噺淇℃伅锛屼細瑕嗙洊涔嬪墠鐨� - EntityPropHelper<WorkPieceLogMiddle, QualityDataInfo>.CopyProp(wplog, qualityData, WorkPieceInfoManager.GetQualityDataInfoUpdate(wplog.WorkingProcedure, wplog.MonitoringPoint));//鎸囧畾淇敼瀛楁 + EntityPropHelper<WorkPieceLogMiddle, QualityDataInfo>.CopyProp(logMiddle, qualityData, WorkPieceInfoManager.GetQualityDataInfoUpdate(logMiddle, logMiddle.WorkingProcedure, logMiddle.MonitoringPoint));//鎸囧畾淇敼瀛楁 qualityData.EquipmentID = _EquipmentId; qualityData.QualityStateUpdateUser = info.UpdatedUserName; qualityData.QualityReceiveTime = info.UpdatedTime.Value.LocalDateTime; qualityData.QualityStateUpdateMode = info.QualityStateUpdateMode; - qualityData.OP80QualityState = wplog.QualityState.HasValue ? wplog.QualityState.Value.ToString() : "3"; + qualityData.OP80QualityState = logMiddle.QualityState.HasValue ? logMiddle.QualityState.Value.ToString() : "3"; qualityData.OP80QualityReceiveTime = DateTimeHelper.GetDateTime(); - qualityData.OP80QualityFilePath = wplog.OP80QualityFilePath; + qualityData.OP80QualityFilePath = logMiddle.OP80QualityFilePath; long op80id = qualityData.Id; if (op80id > 0) { pieceProcess.QualityDataInfoID = op80id; } - loginfo2.Remarks = (loginfo2.Remarks ?? "") + $"璐ㄩ噺锛歿wplog.QualityStateStr ?? "绌�"}"; + loginfo2.Remarks = (loginfo2.Remarks ?? "") + $"璐ㄩ噺锛歿logMiddle.QualityStateStr ?? "绌�"}"; if (!info.QualityState.Equals(((int)QualityState.OK).ToString())) { - info.QualityErrorInfo = $"{wplog.WorkingProcedure}宸ュ簭璐ㄩ噺閲囬泦鏁版嵁涓嶅悎鏍�"; + info.QualityErrorInfo = $"{logMiddle.WorkingProcedure}宸ュ簭璐ㄩ噺閲囬泦鏁版嵁涓嶅悎鏍�"; } else { @@ -367,6 +374,10 @@ pieceProcess.GetQcDataFlag_Remark = "鎵惧埌鏂囦欢"; pieceProcess.GetQcDataFlag = 1; pieceProcess.QualityState = info.QualityState.HasValue ? info.QualityState.Value : (int)QualityState.OK; + //璧嬪�间笉鍚堟牸鍘熷洜 + //TODO:闇�瑕侀厤缃甇P80璐ㄩ噺涓嶅悎鏍肩殑鍘熷洜鏄暐锛燂紵 + WorkPieceInfoManager.SetQualityNoOk_WorkPieceProcess(logMiddle, ref pieceProcess); + pieceProcess.EndTime = file.LastWriteTime;//涓嬬嚎鏃堕棿鏀逛负 鏂囦欢鏈�鍚庝慨鏀规椂闂� 銆怑ditby shaocx,2024-06-17銆� db.WorkPieceLog.Add(WorkPieceInfoManager.GetAddWorkPieceLog(loginfo2));//鎻掑叆宸ヤ欢閲囬泦鏃ュ織琛� -- Gitblit v1.9.3