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;
}
}
}