110 lines
2.9 KiB
C#
110 lines
2.9 KiB
C#
|
||
using System;
|
||
using System.ComponentModel;
|
||
using System.Drawing.Design;
|
||
|
||
namespace DH.Commons.Enums
|
||
{
|
||
|
||
/// <summary>
|
||
/// 标准配置
|
||
/// </summary>
|
||
public class Spec
|
||
{
|
||
[Category("通用配置")]
|
||
[Description("标准代码")]
|
||
public virtual string Code { get; set; }
|
||
|
||
[Category("通用配置")]
|
||
[Description("启用状态,true:启用;false:禁用")]
|
||
[DisplayName("启用状态")]
|
||
public bool IsEnabled { get; set; }
|
||
|
||
[Category("标准配置")]
|
||
[Description("标准值")]
|
||
[DisplayName("标准值")]
|
||
public double StandardValue { get; set; }
|
||
|
||
[Category("标准配置")]
|
||
[Description("正公差")]
|
||
[DisplayName("正公差")]
|
||
public double Tolrenance_Positive { get; set; }
|
||
|
||
[Category("标准配置")]
|
||
[Description("负公差")]
|
||
[DisplayName("负公差")]
|
||
public double Tolrenance_Negative { get; set; }
|
||
|
||
protected double? actualValue = null;
|
||
[Browsable(false)]
|
||
|
||
public virtual double? ActualValue
|
||
{
|
||
get
|
||
{
|
||
return actualValue;
|
||
}
|
||
set
|
||
{
|
||
//if (actualValue != value && value != null)
|
||
if (value != null)
|
||
{
|
||
if (value.Value >= (StandardValue - Tolrenance_Negative) && value.Value <= (StandardValue + Tolrenance_Positive))
|
||
{
|
||
MeasureResult = true;
|
||
}
|
||
else
|
||
{
|
||
MeasureResult = false;
|
||
}
|
||
}
|
||
|
||
actualValue = value;
|
||
}
|
||
}
|
||
|
||
[Browsable(false)]
|
||
|
||
public bool? MeasureResult { get; set; } = null;
|
||
|
||
|
||
public Spec Copy()
|
||
{
|
||
Spec spec = new Spec();
|
||
|
||
spec.Code = this.Code;
|
||
spec.IsEnabled = this.IsEnabled;
|
||
spec.StandardValue = this.StandardValue;
|
||
spec.Tolrenance_Positive = this.Tolrenance_Positive;
|
||
spec.Tolrenance_Negative = this.Tolrenance_Negative;
|
||
|
||
return spec;
|
||
}
|
||
}
|
||
|
||
|
||
|
||
public class IndexedSpec : Spec
|
||
{
|
||
[Category("数据源配置")]
|
||
[Description("数据源输出索引")]
|
||
[DisplayName("数据源输出索引")]
|
||
public int OutputIndex { get; set; }
|
||
|
||
public new IndexedSpec Copy()
|
||
{
|
||
IndexedSpec spec = new IndexedSpec();
|
||
|
||
spec.Code = this.Code;
|
||
spec.IsEnabled = this.IsEnabled;
|
||
spec.StandardValue = this.StandardValue;
|
||
spec.Tolrenance_Positive = this.Tolrenance_Positive;
|
||
spec.Tolrenance_Negative = this.Tolrenance_Negative;
|
||
|
||
spec.OutputIndex = this.OutputIndex;
|
||
|
||
return spec;
|
||
}
|
||
}
|
||
}
|