using iWare_SCADA_Model; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace iWare_SCADA_BusinessLogical.Utils { /// /// 质量状态变更帮助类 /// public class QualityStateHelper { /// /// NOOK推出时,更新质量状态 【Editby shaocx,2024-08-23】 /// /// /// public static void SetQualityStateForNoOk(ref WorkPieceInfo info, ref WorkPieceProcess pro, ref QualityDataInfo qualityData) { try { QualityNoOkEnum? qualityNoOkEnum = null; info.QualityState = (int)QualityState.NG; if (info.QualityNoOk == null) { SetQualityNoOkEnum(info, ref qualityNoOkEnum); if (qualityNoOkEnum != null) { info.QualityNoOk = (int)qualityNoOkEnum; info.QualityNoOkReason = qualityNoOkEnum.ToString(); } } if (pro != null) { pro.QualityState = (int)QualityState.NG; if (qualityNoOkEnum != null) { info.QualityNoOk = (int)qualityNoOkEnum; info.QualityNoOkReason = qualityNoOkEnum.ToString(); } } if (qualityData != null) { qualityData.QualityState = (int)QualityState.NG; } } catch (Exception ex) { } } /// /// 获取不合格原因 /// private static void SetQualityNoOkEnum(WorkPieceInfo logMiddle, ref QualityNoOkEnum? qualityNoOkEnum) { qualityNoOkEnum = null; if (logMiddle.WorkingProcedureCurrent == "OP60") { return; } else if (logMiddle.WorkingProcedureCurrent == "OP80") { return; } else if (logMiddle.WorkingProcedureCurrent == "OP10") { qualityNoOkEnum = QualityNoOkEnum.OP10厚度超差; return; } else if (logMiddle.WorkingProcedureCurrent == "OP20") { qualityNoOkEnum = QualityNoOkEnum.OP20小头孔直径超差; return; } else if (logMiddle.WorkingProcedureCurrent == "OP30") { return; } else if (logMiddle.WorkingProcedureCurrent == "OP35") { qualityNoOkEnum = QualityNoOkEnum.OP35滚压力不合格; return; } else if (logMiddle.WorkingProcedureCurrent == "OP40") { qualityNoOkEnum = QualityNoOkEnum.OP40厚度超差; return; } return; } } }