Модель отопительного периода
Алиасы: Модель отопительного периода. 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
Структура
| Наименование | Атрибут | Тип | Обязательно для создания | Требуется для расчёта | Вычисляемый, методика | ЕИ | Диапазон / формат | Значение по умолчанию | Неизменяемость |
|---|---|---|---|---|---|---|---|---|---|
| Идентификатор записи | id | Guid | Да | UUID | Да | ||||
| Модель потребления | consumption_model_id | ConsumptionModel | Да | ||||||
| Источник данных | heating_period_conditions_src_id | HeatingPeriodConditionsSrc | Да | Да | "Справочные данные" | ||||
| Продолжительность отопительного периода (данные пользователя), сут. | cust_heating_period_duration_days | Int32 | Нет | Да | Нет | сут. | [0, 366] | ||
| Средняя температура наружного воздуха (данные пользователя), °C | cust_ext_air_temp_c | Decimal | Нет | Да | Нет | °C | [-50; 50] | ||
| Широта (данные пользователя), ° | cust_latitude | Int32 | Нет | Да, если Источник климатических данных = "Данные пользователя" | Нет | ° | Целое [-90; 90] | ||
| Средняя скорость ветра (данные пользователя), м/с | cust_avg_wind_speed_m_per_second | Decimal | Нет | Да | Нет | м/с | [0; 50] | ||
| Средняя скорость ветра (данные АИС), м/с | avg_wind_speed_m_per_second | Decimal | Нет | Да | Нет | м/с | [0; 50] | ||
| Средняя температура наружного воздуха (данные АИС), °C | ext_air_temp_c | Decimal | Нет | Да | Нет | °C | [-50; 50] | ||
| Продолжительность отопительного периода (данные АИС), сут. | heating_period_duration_days | Int32 | Нет | Да | Нет | сут. | [0, 366] | ||
| Градусо-сутки отопительного периода, ℃·сут. | degree_days | Decimal | Нет | Да | Да | ℃·сут. | [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; }
}Структурные связи
Использует
- Доменная сущность Источник условий ОП
- Доменная сущность Модель потребления
Используется
- Документ Маппинг доменных данных → InputModel (ТЭ)
- Доменная сущность Условия отопительного периода
- Запрос на изменение Нельзя ввести отрицательную среднюю температуру наружного воздуха
- Запрос на изменение Обработка источников климатических данных
- Компонент Вкладка "Климатические условия"