|
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
|
{
|
/// <summary>
|
/// 质量状态变更帮助类
|
/// </summary>
|
public class QualityStateHelper
|
{
|
/// <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, ref QualityDataInfo qualityData)
|
{
|
try
|
{
|
QualityState setQualityState = QualityState.NG;
|
QualityNoOkEnum? qualityNoOkEnum = null;
|
info.QualityState = (int)setQualityState;
|
|
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)setQualityState;
|
|
if (qualityNoOkEnum != null)
|
{
|
info.QualityNoOk = (int)qualityNoOkEnum;
|
info.QualityNoOkReason = qualityNoOkEnum.ToString();
|
}
|
}
|
|
if (qualityData != null)
|
{
|
qualityData.QualityState = (int)setQualityState;
|
}
|
}
|
catch (Exception ex)
|
{
|
|
}
|
}
|
|
|
/// <summary>
|
/// 获取不合格原因
|
/// </summary>
|
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;
|
}
|
|
}
|
}
|