2
schangxiang@126.com
2024-07-03 e8cbb2cb2bda1fb0bb60c7a8f29383fcc73eb76c
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 = 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,87 +868,6 @@
        }
        /// <summary>
        /// 计算OP 质量数据是否合格
        /// </summary>
        public QualityState CalcQualityStateForOP(WorkPieceLogMiddle logMiddle, ref QualityNoOkEnum? qualityNoOkEnum)
        {
            QualityState qualityState = QualityState.Suspected;
            if (logMiddle.WorkingProcedure == "OP60")
            {
                decimal _QualityOP60To1 = SystemHelper.GetDecimal(logMiddle.QualityOP60To1);
                decimal _QualityOP60To2 = SystemHelper.GetDecimal(logMiddle.QualityOP60To2);
                var isPass_QualityOP60To1 = false;
                var isPass_QualityOP60To2 = false;
                if (_QualityOP60To1 >= (decimal)53.018 && _QualityOP60To1 <= (decimal)53.030)
                {
                    isPass_QualityOP60To1 = true;
                }
                else
                {
                    qualityNoOkEnum = QualityNoOkEnum.OP60大头孔直径超差;
                }
                if (_QualityOP60To2 >= (decimal)22.005 && _QualityOP60To2 <= (decimal)22.011)
                {
                    isPass_QualityOP60To2 = true;
                }
                else
                {
                    qualityNoOkEnum = QualityNoOkEnum.OP60小头孔直径超差;
                }
                if (isPass_QualityOP60To1 && isPass_QualityOP60To2)
                {
                    qualityState = QualityState.OK;
                }
                else
                {
                    qualityState = QualityState.NG;
                }
                if (_QualityOP60To1 == 0 || _QualityOP60To2 == 0)
                {
                    qualityState = QualityState.Suspected;
                    return qualityState;
                }
                return qualityState;
            }
            else if (logMiddle.WorkingProcedure == "OP10")
            {
                if (logMiddle.QualityState != (int)QualityState.OK)
                {
                    qualityNoOkEnum = QualityNoOkEnum.OP10厚度超差;
                }
                return qualityState;
            }
            else if (logMiddle.WorkingProcedure == "OP20")
            {
                if (logMiddle.QualityState != (int)QualityState.OK)
                {
                    qualityNoOkEnum = QualityNoOkEnum.OP20小头孔直径超差;
                }
                return qualityState;
            }
            else if (logMiddle.WorkingProcedure == "OP35")
            {
                if (logMiddle.QualityState != (int)QualityState.OK)
                {
                    qualityNoOkEnum = QualityNoOkEnum.OP35滚压力不合格;
                }
                return qualityState;
            }
            else if (logMiddle.WorkingProcedure == "OP40")
            {
                if (logMiddle.QualityState != (int)QualityState.OK)
                {
                    qualityNoOkEnum = QualityNoOkEnum.OP40厚度超差;
                }
                return qualityState;
            }
            return qualityState;
        }
    }
}