| | |
| | | } |
| | | op60QualityTime = op60Infos[0].datetimeHandle; |
| | | |
| | | |
| | | |
| | | |
| | | break; |
| | | } |
| | |
| | | } |
| | | |
| | | //根据质量数据判断是否合格/不合格 【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; |
| | |
| | | } |
| | | |
| | | |
| | | /// <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; |
| | | } |
| | | |
| | | |
| | | } |
| | | } |