schangxiang@126.com
2024-08-28 b249dbdaefbe42bc054533c9ebfbfd58fab33885
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/Utils/QualityStateHelper.cs
@@ -14,17 +14,68 @@
    /// </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)
        {
            QualityState setQualityState = QualityState.OK;
            QualityNoOkEnum? qualityNoOkEnum = null;
            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>
        /// <param name="value"></param>
        /// <returns></returns>
        public static void SetQualityStateForNoOk(ref WorkPieceInfo info, ref WorkPieceProcess pro)
        public static void SetQualityStateForNoOk(ref WorkPieceInfo info, ref WorkPieceProcess pro, ref QualityDataInfo qualityData)
        {
            try
            {
                QualityState setQualityState = QualityState.NG;
                QualityNoOkEnum? qualityNoOkEnum = null;
                info.QualityState = (int)QualityState.NG;
                info.QualityState = (int)setQualityState;
                if (info.QualityNoOk == null)
                {
@@ -38,7 +89,7 @@
                if (pro != null)
                {
                    pro.QualityState = (int)QualityState.NG;
                    pro.QualityState = (int)setQualityState;
                    if (qualityNoOkEnum != null)
                    {
@@ -46,6 +97,11 @@
                        info.QualityNoOkReason = qualityNoOkEnum.ToString();
                    }
                }
                if (qualityData != null)
                {
                    qualityData.QualityState = (int)setQualityState;
                }
            }
            catch (Exception ex)
            {