schangxiang@126.com
2024-09-05 16e188758b164ed959090dd5149d109b7a9adb92
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/QualityStateHelper.cs
@@ -14,6 +14,71 @@
    /// </summary>
    public class QualityStateHelper
    {
        /// <summary>
        /// 重置不合格原因,当新建工序时
        /// </summary>
        /// <param name="new_process"></param>
        public static void ResetQualityNoOkForNewProcess(ref WorkPieceProcess new_process)
        {
            new_process.QualityNoOk = null;
            new_process.QualityNoOkReason = "";
        }
        /// <summary>
        /// OP80专门获取某些点位,配置质量状态
        /// </summary>
        /// <param name="logMiddle"></param>
        /// <param name="info"></param>
        /// <param name="pro"></param>
        public static void SetQualityStateForOP80(WorkPieceLogMiddle logMiddle, ref WorkPieceInfo info, ref WorkPieceProcess pro)
        {
            QualityStateEnum setQualityState = QualityStateEnum.OK;
            QualityNoOkEnum? qualityNoOkEnum = null;
            if (logMiddle.St3_Means_OK == false)
            {
                qualityNoOkEnum = QualityNoOkEnum.OP80测量不合格;
                setQualityState = QualityStateEnum.NG;
            }
            else if (logMiddle.St4_Weight_OK == false)
            {
                qualityNoOkEnum = QualityNoOkEnum.OP80称重不合格;
                setQualityState = QualityStateEnum.NG;
            }
            //去掉这个验证,为了让机床计数和数据采集计数相同  【Edityby shaocx,2024-09-04】
            /*
            if (logMiddle.St5_Mark_OK == false)
            {
                qualityNoOkEnum = QualityNoOkEnum.OP80打标不合格;
                setQualityState = QualityState.NG;
            }
            else if (logMiddle.ST6_Camera_OK == false)
            {
                qualityNoOkEnum = QualityNoOkEnum.OP80打标识别不合格;
                setQualityState = QualityState.NG;
            }
            //*/
            info.QualityState = (int)setQualityState;
            if (qualityNoOkEnum != null)
            {
                info.QualityNoOk = (int)qualityNoOkEnum;
                info.QualityNoOkReason = qualityNoOkEnum.ToString();
            }
            pro.QualityState = (int)setQualityState;
            if (qualityNoOkEnum != null)
            {
                pro.QualityNoOk = (int)qualityNoOkEnum;
                pro.QualityNoOkReason = qualityNoOkEnum.ToString();
            }
        }
        /// <summary>
        /// NOOK推出时,更新质量状态 【Editby shaocx,2024-08-23】
        /// </summary>
@@ -23,7 +88,7 @@
        {
            try
            {
                QualityState setQualityState = QualityState.NG;
                QualityStateEnum setQualityState = QualityStateEnum.NG;
                QualityNoOkEnum? qualityNoOkEnum = null;
                info.QualityState = (int)setQualityState;
@@ -90,7 +155,7 @@
            }
            else if (logMiddle.WorkingProcedureCurrent == "OP35")
            {
                qualityNoOkEnum = QualityNoOkEnum.OP35滚压力不合格;
                qualityNoOkEnum = QualityNoOkEnum.OP35滚压力超差;
                return;
            }
            else if (logMiddle.WorkingProcedureCurrent == "OP40")