Модель отопительного периода

Доменная сущность Версия: 1.1 changed

Алиасы: Модель отопительного периода. parents: [consumption-model-diagram].

⟨/⟩ Исходник

Связи

classDiagram
    direction LR
    class HeatingPeriodModel {
        +Guid id
        +ConsumptionModel consumption_model_id
        +HeatingPeriodConditionsSrc heating_period_conditions_src_id
        +Int32 cust_heating_period_duration_days
        +Decimal cust_ext_air_temp_c
        +Int32 cust_latitude
        +Decimal cust_avg_wind_speed_m_per_second
        +Decimal avg_wind_speed_m_per_second
        +Decimal ext_air_temp_c
        +Int32 heating_period_duration_days
        +Decimal degree_days
    }
    class ConsumptionModel
    class HeatingPeriodConditionsSrc
    HeatingPeriodModel "1" --> "1" ConsumptionModel : consumption_model_id
    HeatingPeriodModel "1" --> "1" HeatingPeriodConditionsSrc : heating_period_conditions_src_id

Структура

НаименованиеАтрибутТипОбязательно для созданияТребуется для расчётаВычисляемый, методикаЕИДиапазон / форматЗначение по умолчаниюНеизменяемость
Идентификатор записиidGuidДаUUIDДа
Модель потребленияconsumption_model_idConsumptionModelДа
Источник данныхheating_period_conditions_src_idHeatingPeriodConditionsSrcДаДа"Справочные данные"
Продолжительность отопительного периода (данные пользователя), сут.cust_heating_period_duration_daysInt32НетДаНетсут.[0, 366]
Средняя температура наружного воздуха (данные пользователя), °Ccust_ext_air_temp_cDecimalНетДаНет°C[-50; 50]
Широта (данные пользователя), °cust_latitudeInt32НетДа, если Источник климатических данных = "Данные пользователя"Нет°Целое [-90; 90]
Средняя скорость ветра (данные пользователя), м/сcust_avg_wind_speed_m_per_secondDecimalНетДаНетм/с[0; 50]
Средняя скорость ветра (данные АИС), м/сavg_wind_speed_m_per_secondDecimalНетДаНетм/с[0; 50]
Средняя температура наружного воздуха (данные АИС), °Cext_air_temp_cDecimalНетДаНет°C[-50; 50]
Продолжительность отопительного периода (данные АИС), сут.heating_period_duration_daysInt32НетДаНетсут.[0, 366]
Градусо-сутки отопительного периода, ℃·сут.degree_daysDecimalНетДаДа℃·сут.[0; 10000]

Исходник

    public class HeatingPeriodModel
    {
        /// <summary>Идентификатор записи</summary>
        [DomainField(Alias = "id", RequiredOnCreate = true, Range = "UUID", Immutable = true)]
        public Guid Id { get; set; }

        /// <summary>Модель потребления</summary>
        [Relation]
        [DomainField(Alias = "consumption_model_id", RequiredOnCreate = true)]
        public ConsumptionModel? ConsumptionModel { get; set; }

        /// <summary>Источник данных</summary>
        [Relation]
        [DomainField(Alias = "heating_period_conditions_src_id", RequiredOnCreate = true, RequiredForCalc = "Да", Default = "\"Справочные данные\"")]
        public HeatingPeriodConditionsSrc? HeatingPeriodConditionsSrc { get; set; }

        /// <summary>Продолжительность отопительного периода (данные пользователя), сут.</summary>
        [DomainField(Alias = "cust_heating_period_duration_days", RequiredForCalc = "Да", Calculated = "Нет", Unit = "сут.", Range = "[0, 366]")]
        public int CustHeatingPeriodDurationDays { get; set; }

        /// <summary>Средняя температура наружного воздуха (данные пользователя), °C</summary>
        [DomainField(Alias = "cust_ext_air_temp_c", RequiredForCalc = "Да", Calculated = "Нет", Unit = "°C", Range = "[-50; 50]")]
        public decimal CustExtAirTempC { get; set; }

        /// <summary>Широта (данные пользователя), °</summary>
        [DomainField(Alias = "cust_latitude", RequiredForCalc = "Да, если Источник климатических данных = \"Данные пользователя\"", Calculated = "Нет", Unit = "°", Range = "Целое [-90; 90]")]
        public int? CustLatitude { get; set; }

        /// <summary>Средняя скорость ветра (данные пользователя), м/с</summary>
        [DomainField(Alias = "cust_avg_wind_speed_m_per_second", RequiredForCalc = "Да", Calculated = "Нет", Unit = "м/с", Range = "[0; 50]")]
        public decimal CustAvgWindSpeedMPerSecond { get; set; }

        /// <summary>Средняя скорость ветра (данные АИС), м/с</summary>
        [DomainField(Alias = "avg_wind_speed_m_per_second", RequiredForCalc = "Да", Calculated = "Нет", Unit = "м/с", Range = "[0; 50]")]
        public decimal AvgWindSpeedMPerSecond { get; set; }

        /// <summary>Средняя температура наружного воздуха (данные АИС), °C</summary>
        [DomainField(Alias = "ext_air_temp_c", RequiredForCalc = "Да", Calculated = "Нет", Unit = "°C", Range = "[-50; 50]")]
        public decimal ExtAirTempC { get; set; }

        /// <summary>Продолжительность отопительного периода (данные АИС), сут.</summary>
        [DomainField(Alias = "heating_period_duration_days", RequiredForCalc = "Да", Calculated = "Нет", Unit = "сут.", Range = "[0, 366]")]
        public int HeatingPeriodDurationDays { get; set; }

        /// <summary>Градусо-сутки отопительного периода, ℃·сут.</summary>
        [DomainField(Alias = "degree_days", RequiredForCalc = "Да", Calculated = "Да", Unit = "℃·сут.", Range = "[0; 10000]")]
        public decimal DegreeDays { get; set; }
    }