|
|
|
|
@ -11,11 +11,23 @@ namespace SmartAquaViewer.DataAnalysis
|
|
|
|
|
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
|
|
|
|
public int Id { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 측정 시각
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Column("recorded_time")]
|
|
|
|
|
public DateTime RecordedTime { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 저수조
|
|
|
|
|
/// </summary>
|
|
|
|
|
public WaterTank Tank { get; set; } = new();
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 여과 시스템
|
|
|
|
|
/// </summary>
|
|
|
|
|
public FilteringSystem Filtering { get; set; } = new();
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 살균 시스템
|
|
|
|
|
/// </summary>
|
|
|
|
|
public SterilizingSystem Sterilizing { get; set; } = new();
|
|
|
|
|
|
|
|
|
|
public WaterQualityVO() { }
|
|
|
|
|
@ -101,21 +113,35 @@ namespace SmartAquaViewer.DataAnalysis
|
|
|
|
|
[Owned]
|
|
|
|
|
public class WaterTank
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 저수조 번호
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Column("tank_number")]
|
|
|
|
|
public int Number { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Dissolved Oxygen (mg/L)
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Column("tank_do_value")]
|
|
|
|
|
public double DOValue { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// pH (산도)
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Column("tank_ph")]
|
|
|
|
|
public double PH { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 산화환원전위 (mV)
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Column("tank_orp")]
|
|
|
|
|
public double ORP { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 수온 (°C)
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Column("tank_temperature")]
|
|
|
|
|
public double Temperature { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 유량 (m³/s)
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Column("tank_flow_rate")]
|
|
|
|
|
public double FlowRate { get; set; }
|
|
|
|
|
|
|
|
|
|
@ -135,39 +161,75 @@ namespace SmartAquaViewer.DataAnalysis
|
|
|
|
|
[Owned]
|
|
|
|
|
public class FilteringSystem
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 모래여과기 전원 (true: ON, false: OFF)
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Column("filter_sand_filter_power")]
|
|
|
|
|
public bool SandFilterPower { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 섬프탱크 pH (산도)
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Column("filter_sump_ph")]
|
|
|
|
|
public double SumpPH { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 섬프탱크 산화환원전위 (mV)
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Column("filter_sump_orp")]
|
|
|
|
|
public double SumpORP { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 섬프탱크 수위 (m)
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Column("filter_sump_water_level")]
|
|
|
|
|
public double SumpWaterLevel { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 섬프탱크 유량 (m³/s)
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Column("filter_sump_flow_rate")]
|
|
|
|
|
public double SumpFlowRate { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 섬프탱크 수온 (°C)
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Column("filter_sump_temperature")]
|
|
|
|
|
public double SumpTemperature { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 순환펌프 전원 (true: ON, false: OFF)
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Column("filter_circulation_pump_power")]
|
|
|
|
|
public bool CirculationPumpPower { get; set; }
|
|
|
|
|
|
|
|
|
|
[Column("filter_inverter_status")]
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 인버터 제어기 상태
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Column("filter_inverter_controller_status")]
|
|
|
|
|
public string? InverterControllerStatus { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 순환펌프 유량 (m³/s)
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Column("filter_flow_rate")]
|
|
|
|
|
public double FlowRate { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 히트펌프 전원 (true: ON, false: OFF)
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Column("filter_heat_pump_power")]
|
|
|
|
|
public bool HeatPumpPower { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 히트펌프 온도 (°C)
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Column("filter_heat_pump_temperature")]
|
|
|
|
|
public double HeatPumpTemperature { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 에어브로와 전원 (true: ON, false: OFF)
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Column("filter_air_blower_power")]
|
|
|
|
|
public bool AirBlowerPower { get; set; }
|
|
|
|
|
|
|
|
|
|
@ -196,21 +258,39 @@ namespace SmartAquaViewer.DataAnalysis
|
|
|
|
|
[Owned]
|
|
|
|
|
public class SterilizingSystem
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 오존 발생기 전원 (true: ON, false: OFF)
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Column("ster_ozone_generator_power")]
|
|
|
|
|
public bool OzoneGeneratorPower { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 자외선 살균기 ID
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Column("ster_uv_sterilizer_id")]
|
|
|
|
|
public string UVSterilizerId { get; set; } = string.Empty;
|
|
|
|
|
public string UVSterilizerId { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 자외선 살균기 전원 (true: ON, false: OFF)
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Column("ster_uv_sterilizer_power")]
|
|
|
|
|
public bool UVSterilizerPower { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 오존용해장치 전원 (true: ON, false: OFF)
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Column("ster_ozone_dissolver_power")]
|
|
|
|
|
public bool OzoneDissolverPower { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 오존용해장치 압력 (kPa)
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Column("ster_ozone_dissolver_pressure")]
|
|
|
|
|
public double OzoneDissolverPressure { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 배오존장치 전원 (true: ON, false: OFF)
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Column("ster_excess_ozone_destroyer_power")]
|
|
|
|
|
public bool ExcessOzoneDestroyerPower { get; set; }
|
|
|
|
|
|
|
|
|
|
|