Files
VacuumPressureMembranePoreS…/Helpers/ITestRecord.cs
2026-03-31 20:17:17 +08:00

141 lines
4.7 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
public interface ITestRecord
{
/// <summary>主键ID自增</summary>
int Id { get; set; }
/// <summary>工位编号1~3</summary>
int StationId { get; set; }
/// <summary>测试日期时间</summary>
DateTime TestDate { get; set; }
/// <summary>测试人员姓名</summary>
string Tester { get; set; }
// 公共字段
}
/// <summary>
/// 泡点法测试记录实体,用于数据库存储。
/// 对应 GB/T 32361-2015 标准中的最大孔径测试记录。
/// </summary>
public class BubblePointEntity : ITestRecord
{
/// <summary>主键ID自增</summary>
public int Id { get; set; }
/// <summary>工位编号1~3</summary>
public int StationId { get; set; }
/// <summary>测试日期时间</summary>
public DateTime TestDate { get; set; }
/// <summary>测试人员姓名</summary>
public string? Tester { get; set; }
/// <summary>膜类型(平板膜/中空纤维膜)</summary>
public string? SampleType { get; set; }
/// <summary>样品规格(如直径、厚度等)</summary>
public string? SampleSpec { get; set; }
/// <summary>测试时室温°C</summary>
public double? RoomTemperature { get; set; }
/// <summary>膜在测试液体中的浸润时间(小时)</summary>
public double? SoakingTime { get; set; }
/// <summary>测试液体名称(如“水”、“乙醇”等)</summary>
public string? LiquidName { get; set; }
/// <summary>测试液体的表面张力mN/m25°C</summary>
public double? LiquidSurfaceTension { get; set; }
/// <summary>测试液体生产厂家(可选)</summary>
public string? LiquidManufacturer { get; set; }
/// <summary>泡点压力数值</summary>
public double? BubblePointPressure { get; set; }
/// <summary>泡点压力单位Pa / cmHg / psi</summary>
public string? PressureUnit { get; set; }
/// <summary>计算得出的最大孔径μm</summary>
public double? MaxPoreSize { get; set; }
}
/// <summary>
/// 孔分布测试记录实体,用于数据库存储。
/// 对应 GB/T 32361-2015 标准中的平均流量法测试记录。
/// </summary>
public class PoreDistributionEntity : ITestRecord
{
/// <summary>主键ID自增</summary>
public int Id { get; set; }
/// <summary>工位编号1~3</summary>
public int StationId { get; set; }
/// <summary>测试日期时间</summary>
public DateTime TestDate { get; set; }
/// <summary>测试人员姓名</summary>
public string Tester { get; set; }
/// <summary>膜类型(平板膜/中空纤维膜)</summary>
public string SampleType { get; set; }
/// <summary>样品规格(如直径、厚度等)</summary>
public string SampleSpec { get; set; }
/// <summary>测试时室温°C</summary>
public double RoomTemperature { get; set; }
/// <summary>膜在测试液体中的浸润时间(小时)</summary>
public double SoakingTime { get; set; }
/// <summary>测试液体名称(如“水”、“乙醇”等)</summary>
public string LiquidName { get; set; }
/// <summary>测试液体的表面张力mN/m25°C</summary>
public double LiquidSurfaceTension { get; set; }
/// <summary>测试液体生产厂家(可选)</summary>
public string LiquidManufacturer { get; set; }
/// <summary>压力单位Pa / cmHg / psi</summary>
public string PressureUnit { get; set; }
/// <summary>泡点压力(可选,用于记录)</summary>
public double BubblePointPressure { get; set; }
/// <summary>计算得出的平均孔径μm</summary>
public double AveragePoreSize { get; set; }
/// <summary>导航属性:该测试记录对应的所有压力-流量数据点</summary>
public List<DataPointEntity> DataPoints { get; set; }
}
/// <summary>
/// 孔分布测试的数据点实体,存储每个压力点对应的湿膜和干膜流量。
/// 与 PoreDistributionEntity 构成一对多的关系。
/// </summary>
public class DataPointEntity
{
/// <summary>主键ID自增</summary>
public int Id { get; set; }
/// <summary>关联的孔分布测试记录ID</summary>
public int PoreDistributionId { get; set; }
/// <summary>测试压力值,单位由所属记录的 PressureUnit 决定</summary>
public double Pressure { get; set; }
/// <summary>湿膜流量L/min</summary>
public double WetFlow { get; set; }
/// <summary>干膜流量L/min</summary>
public double DryFlow { get; set; }
/// <summary>导航属性:所属的孔分布测试记录</summary>
public PoreDistributionEntity PoreDistribution { get; set; }
}