DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs
@@ -2234,11 +2234,29 @@ return loginfo; } /// <summary> /// 设置中间变量的质量数据 /// </summary> /// <param name="logMiddle"></param> public static void SetLogMiddleForQuality(ref WorkPieceLogMiddle logMiddle) { //根据质量数据判断是否合格/不合格 【Editby shaocx,2024-06-25】 QualityNoOkEnum? qualityNoOkEnum = null; QualityState qualityState = WorkPieceInfoManager.CalcQualityStateForOP(logMiddle, ref qualityNoOkEnum); logMiddle.QualityState = (int)qualityState; logMiddle.QualityStateStr = qualityState.ToString(); if (qualityNoOkEnum != null) { logMiddle.QualityNoOk = (int)qualityNoOkEnum; logMiddle.QualityNoOkReason = qualityNoOkEnum.ToString(); } } /// <summary> /// 计算OP 质量数据是否合格 /// </summary> public static QualityState CalcQualityStateForOP(WorkPieceLogMiddle logMiddle, ref QualityNoOkEnum? qualityNoOkEnum) private static QualityState CalcQualityStateForOP(WorkPieceLogMiddle logMiddle, ref QualityNoOkEnum? qualityNoOkEnum) { QualityState qualityState = QualityState.Suspected; if (logMiddle.WorkingProcedure == "OP60") DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/DataCaptureHandler_02.cs
@@ -453,7 +453,7 @@ } op60QualityTime = op60Infos[0].datetimeHandle; break; } @@ -609,14 +609,8 @@ } //根据质量数据判断是否合格/不合格 【Editby shaocx,2024-06-25】 QualityNoOkEnum? qualityNoOkEnum = null; QualityState qualityState = WorkPieceInfoManager.CalcQualityStateForOP(logMiddle, ref qualityNoOkEnum); logMiddle.QualityState = (int)qualityState; if (qualityNoOkEnum != null) { logMiddle.QualityNoOk = (int)qualityNoOkEnum; logMiddle.QualityNoOkReason = qualityNoOkEnum.ToString(); } WorkPieceInfoManager.SetLogMiddleForQuality(ref logMiddle); //更新WorkPieceInfo表以及插入WorkPieceLog表和WorkPieceInfoLog表 WorkPieceInfoManager.QualityInfoComplete(logMiddle, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure)); threadStatusMonitor.Threadstatue = 1; @@ -874,6 +868,6 @@ } } } DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/DataCaptureHandlerV2/OP80QualityDataHandler.cs
@@ -329,13 +329,8 @@ info.QualityState = (int)((logMiddle.QualityStateStr.Equals("OK") || logMiddle.QualityStateStr.Equals("0K")) ? QualityState.OK : QualityState.NG); logMiddle.QualityState = info.QualityState; //根据质量数据判断是否合格/不合格 【Editby shaocx,2024-06-25】 QualityNoOkEnum? qualityNoOkEnum = null; QualityState qualityState = WorkPieceInfoManager.CalcQualityStateForOP(logMiddle, ref qualityNoOkEnum); if (qualityNoOkEnum != null) { logMiddle.QualityNoOk = (int)qualityNoOkEnum; logMiddle.QualityNoOkReason = qualityNoOkEnum.ToString(); } WorkPieceInfoManager.SetLogMiddleForQuality(ref logMiddle); //赋值不合格原因 //TODO:需要配置OP80质量不合格的原因是啥?? WorkPieceInfoManager.SetQualityNoOk_WorkPieceInfo(logMiddle, ref info); DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_Test/UnitTest1.cs
@@ -88,14 +88,8 @@ ; string WorkingProcedure = logMiddle.WorkingProcedure; //根据质量数据判断是否合格/不合格 【Editby shaocx,2024-06-25】 QualityNoOkEnum? qualityNoOkEnum = null; QualityState qualityState = WorkPieceInfoManager.CalcQualityStateForOP(logMiddle, ref qualityNoOkEnum); logMiddle.QualityState = (int)qualityState; if (qualityNoOkEnum != null) { logMiddle.QualityNoOk = (int)qualityNoOkEnum; logMiddle.QualityNoOkReason = qualityNoOkEnum.ToString(); } WorkPieceInfoManager.SetLogMiddleForQuality(ref logMiddle); //更新WorkPieceInfo表以及插入WorkPieceLog表和WorkPieceInfoLog表 WorkPieceInfoManager.QualityInfoComplete(logMiddle, PLCManger.GetLogTypeForWorkingProcedure(WorkingProcedure));