using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
|
namespace M423project
|
{
|
//检测状态,初始为未检测
|
public enum MeasureState { OK, NG, UNKNOWN, NA }
|
|
/// <summary>
|
/// 检测长宽结果类型
|
/// </summary>
|
public struct MeasureSize
|
{
|
public double Length, Width, CellWidth; //分别为长、宽、格子宽度
|
|
public MeasureState Result;
|
public MeasureState LengthResult;
|
public MeasureState WidthResult;
|
public override string ToString()
|
{
|
return string.Format("L:{0:F4} W:{1:F4} CW:{2:F4} R:{3:F4}",
|
Length, Width, CellWidth, Result);
|
}
|
}
|
/// <summary>
|
/// 检测高度结果类型
|
/// </summary>
|
public struct MeasureHeight
|
{
|
public double Height, CellHeight; //分别为高度、格子高度
|
public MeasureState HeightResult;
|
public MeasureState CellHeightResult;
|
|
public override string ToString()
|
{
|
return string.Format("H:{0:F4} CH:{1:F4} R:{2}",
|
Height, CellHeight, HeightResult);
|
}
|
}
|
|
/// <summary>
|
/// 测量结果,包含产品代码、尺寸(长、宽)、高度
|
/// </summary>
|
public class ProductMeasureResult
|
{
|
public MeasureSize measureSize;
|
public MeasureHeight measureHeight;
|
public MeasureState productNoResult;
|
|
private string productNo;
|
|
public int DetectID { get; set; }
|
public string ProductNo
|
{
|
get
|
{
|
return productNo;
|
}
|
set
|
{
|
productNo = value;
|
}
|
}
|
|
public DateTime DetectTime { get; set; }
|
public int PlateID { get; set; }
|
|
public string ProductNoResult
|
{
|
get { return productNoResult.ToString(); }
|
set { productNoResult = (MeasureState)Enum.Parse(typeof(MeasureState), value); }
|
}
|
|
public double Height { get { return measureHeight.Height; } set { measureHeight.Height = value; } }
|
public double CellHeight { get { return measureHeight.CellHeight; } set { measureHeight.CellHeight = value; } }
|
public string HeightResult
|
{
|
get { return measureHeight.HeightResult.ToString(); }
|
set { measureHeight.HeightResult = (MeasureState)Enum.Parse(typeof(MeasureState), value); }
|
}
|
|
public string CellHeightResult
|
{
|
get { return measureHeight.CellHeightResult.ToString(); }
|
set { measureHeight.CellHeightResult = (MeasureState)Enum.Parse(typeof(MeasureState), value); }
|
|
}
|
|
public double Length { get { return measureSize.Length; } set { measureSize.Length = value; } }
|
public string LengthResult
|
{
|
get { return measureSize.LengthResult.ToString(); }
|
set { measureSize.LengthResult = (MeasureState)Enum.Parse(typeof(MeasureState), value); }
|
}
|
public double Width { get { return measureSize.Width; } set { measureSize.Width = value; } }
|
public string WidthResult
|
{
|
get { return measureSize.WidthResult.ToString(); }
|
set { measureSize.WidthResult = (MeasureState)Enum.Parse(typeof(MeasureState), value); }
|
}
|
//public double CellWidth { get { return measureSize.CellWidth; } set { measureSize.CellWidth = value; } }
|
//public string SizeResult
|
//{
|
// get { return measureSize.Result.ToString(); }
|
// set { measureSize.Result = (MeasureState)Enum.Parse(typeof(MeasureState), value); }
|
// }
|
|
/// <summary>
|
/// 是否是抽檢數據
|
/// </summary>
|
public bool IsSpotCheck { get; set; }
|
|
public string ProductResult
|
{
|
get; set;
|
}
|
public ProductMeasureResult(string _productNo, int _detectID)
|
{
|
productNo = _productNo;
|
DetectID = _detectID;
|
measureSize.Result = MeasureState.UNKNOWN;
|
measureSize.LengthResult = MeasureState.UNKNOWN;
|
measureSize.WidthResult = MeasureState.UNKNOWN;
|
measureSize.CellWidth = 0;
|
measureSize.Length = 0;
|
measureSize.Width = 0;
|
measureHeight.HeightResult = MeasureState.UNKNOWN;
|
measureHeight.CellHeight = 0;
|
measureHeight.Height = 0;
|
measureHeight.CellHeight = 0;
|
measureHeight.CellHeightResult = MeasureState.UNKNOWN;
|
productNoResult = MeasureState.UNKNOWN;
|
DetectTime = DateTime.Now;
|
ProductResult = MeasureState.UNKNOWN.ToString();
|
PlateID = 0;
|
}
|
|
public override string ToString()
|
{
|
|
return string.Format("{0} L:{1:F4},W:{2:F4}, CW:{3:F4}, R:{4} H:{5:F4},CH:{6:F4}, R:{7}",
|
productNo, measureSize.Length, measureSize.Width, measureSize.CellWidth, measureSize.Result,
|
measureHeight.Height, measureHeight.CellHeight, measureHeight.HeightResult);
|
}
|
}
|
|
[Serializable]
|
public class MeasureResultTTL
|
{
|
public int ProductQuntity { get; set; }
|
public int PassQuntity { get; set; }
|
public int FailQuntity { get; set; }
|
|
public int EmptyQuantity { get; set; }
|
public string PassRate
|
{
|
get
|
{
|
double v = 0.0;
|
if (ProductQuntity != 0)
|
v = (double)PassQuntity / (double)(ProductQuntity - EmptyQuantity);
|
return string.Format("{0:P2}", v);
|
}
|
}
|
public int HeightPassQuntity { get; set; }
|
public int HeightFailQuntity { get; set; }
|
public int SizePassQuantity { get; set; }
|
public int SizeFailQuantity { get; set; }
|
public int ProductNoFailQuantity { get; set; }
|
|
public void Clear()
|
{
|
ProductQuntity = 0;
|
PassQuntity = 0;
|
FailQuntity = 0;
|
HeightPassQuntity = 0;
|
HeightFailQuntity = 0;
|
SizePassQuantity = 0;
|
SizeFailQuantity = 0;
|
ProductNoFailQuantity = 0;
|
EmptyQuantity = 0;
|
}
|
|
public MeasureResultTTL()
|
{
|
Clear();
|
}
|
|
public override string ToString()
|
{
|
return string.Format("检测产品总数:{0}, 合格数:{1}, 不合格数:{2}, 合格率:{3};其中高度合格数为{4},不合格数为{5}, 尺寸合格数为{6}, 不合格数为{7})",
|
ProductQuntity, PassQuntity, FailQuntity, PassRate, HeightPassQuntity, HeightFailQuntity, SizePassQuantity, SizeFailQuantity);
|
}
|
}
|
|
}
|