Модель потребления
Алиасы: Модель потребления. parents: [consumption-model-diagram].
Модель потребления (сущность) - корневая сущность Модель потребления (модель), которая описывает условия и эффективность потребления Зданием тепловой (ТЭ) и электрической (ЭЭ) энергии. Расчётные атрибуты Модель потребления (сущность) - сводные расчётные параметры по Модель потребления (модель).
Здание может быть связано со зданием в смежной системе АИС ОИА ПЭО. В этом случае для Здания должна бать создана Модель потребления (модель) с признаком Модель потребления (сущность) "Базовая модель" = "Да", она обязана отражать актуальные данные здания в смежной системе. Если признак "Базовая модель" = "Да", часть данных модели, находящаяся в ответственности АИС ОИА ПЭО, не редактируется пользователем. Для её изменения необходимо, вне функциональности Сервис ЭНЗС, внести изменения в АИС ОИА ПЭО и выполнить синхронизацию данных.
Связи
classDiagram
direction LR
class ConsumptionModel {
+Guid id
+String name
+Building building_id
+EnergyEfficiencyClasses energy_efficiency_class_id
+Decimal calc_from_norm_deviation_perc
+Decimal specific_heat_consumption_wt_per_m3c
+Decimal specific_heat_consumption_norm_wt_per_m3c
+Decimal specific_heat_protection_wt_per_m3c
+Decimal specific_internal_heat_gains_wt_per_m3c
+Decimal specific_solar_heat_gains_wt_per_m3c
+Decimal coef_heat_gains_utilization
+Decimal heat_envelope_area_m2
+Decimal heat_envelope_thermal_resistance_m2c_per_wt
+Decimal heat_loss_power_kwt
+Decimal heat_loss_energy_kwt_h
+Decimal ee_consumption_kwt_h
+Decimal te_consumption_kwt_h
+Decimal te_consumption_gcal
+Decimal summary_te_consumption_kwt_h
+Decimal summary_te_consumption_gcal
+Decimal summary_ee_consumption_kwt_h
+String calc_log_json
+String calc_errors_json
+DateTime calc_date
+Boolean is_base_model
+CalcStatus calc_status_id
+CalcKind calc_kind_id
}
class Building
class EnergyEfficiencyClasses
class CalcStatus
class CalcKind
ConsumptionModel "1" --> "1" Building : building_id
ConsumptionModel "0..1" --> "1" EnergyEfficiencyClasses : energy_efficiency_class_id
ConsumptionModel "1" --> "1" CalcStatus : calc_status_id
ConsumptionModel "1" --> "1" CalcKind : calc_kind_id
Структура
| Наименование | Атрибут | Тип | Обязательно для создания | Вычисляемый, методика | ЕИ | Диапазон / формат | Значение по умолчанию | Неизменяемость | Описание |
|---|---|---|---|---|---|---|---|---|---|
| Идентификатор записи | id | Guid | Да | Да | |||||
| Наименование | name | String | Да | "{Здание. Наименование} {дата и время создания}" | |||||
| Здание | building_id | Building | Да | Да | |||||
| Класс энергоэффективности | energy_efficiency_class_id | EnergyEfficiencyClasses | Нет | Да, `te.class_by_deviation` | возможные значения справочника: {E, D, C-, C, C+, B, B+, A, A+, A++} | ||||
| Отклонение расчётной характеристики от нормативной, % | calc_from_norm_deviation_perc | Decimal | Нет | Да, `te.deviation_percent` | `%` | Вещественное [-100; 100] | |||
| Удельная характеристика расхода ТЭ (расчётная), Вт/(м3∙℃) | specific_heat_consumption_wt_per_m3c | Decimal | Нет | Да, `te.calc_specific_characteristic` | `Вт/(м³·°C)` | Вещественное (0; 100] | |||
| Удельная характеристика расхода ТЭ (нормативная), Вт/(м3∙℃) | specific_heat_consumption_norm_wt_per_m3c | Decimal | Нет | Да | `Вт/(м³·°C)` | Вещественное (0; 100] | |||
| Удельная теплозащитная характеристика | specific_heat_protection_wt_per_m3c | Decimal | Нет | Да, `te.spec_heat_protect_char` | `Вт/(м³·°C)` | Вещественное (0; 100] | |||
| Удельная характеристика внутренних теплопоступлений, Вт/(м³·°C) | specific_internal_heat_gains_wt_per_m3c | Decimal | Нет | Да, `te.spec_internal_heat_gain_char` | `Вт/(м³·°C)` | Вещественное (0; 100] | |||
| Удельная характеристика теплопоступлений от солнечной радиации, Вт/(м³·°C) | specific_solar_heat_gains_wt_per_m3c | Decimal | Нет | Да, `te.spec_solar_gain_char` | `Вт/(м³·°C)` | Вещественное (0; 100] | |||
| Коэффициент полезного использования теплопоступлений | coef_heat_gains_utilization | Decimal | Нет | Да, `te.heat_gain_utilization_factor` | Вещественное (0; 100] | ||||
| Площадь теплозащитной оболочки здания, м² | heat_envelope_area_m2 | Decimal | Нет | Да, `te.envelope_area` | `м²` | Вещественное (0; 10000000] | |||
| Приведённое сопротивление теплозащитной оболочки, м²·°C/Вт | heat_envelope_thermal_resistance_m2c_per_wt | Decimal | Нет | Да, `te.envelope_thermal_resistance` | `м²·°C/Вт` | Вещественное (0; 1000] | |||
| Мощность теплопотерь здания, кВт | heat_loss_power_kwt | Decimal | Нет | Да | `кВт` | Вещественное [0; 1000000] | |||
| Энергия теплопотерь здания, кВт·ч | heat_loss_energy_kwt_h | Decimal | Нет | Да | `кВт·ч` | Вещественное [0; 1000000] | |||
| Потребление ЭЭ на хозяйственно-бытовые нужды, кВт·ч | ee_consumption_kwt_h | Decimal | Нет | Да, ee.ee_consumption_kwh | `кВт·ч` | Вещественное [0; 1000000] | |||
| Потребление ТЭ на отопление и вентиляцию, кВт·ч | te_consumption_kwt_h | Decimal | Нет | Да, `te.te_consumption_kwh` | `кВт·ч` | Вещественное [0; 1000000] | |||
| Потребление ТЭ на отопление и вентиляцию, Гкал | te_consumption_gcal | Decimal | Нет | Да, `te.te_consumption_gcal` | `Гкал` | Вещественное [0; 1000000] | |||
| Общее потребление ТЭ зданием, кВт·ч | summary_te_consumption_kwt_h | Decimal | Нет | Да, `summary.te_consumption_kwh` | `кВт·ч` | Вещественное [0; 1000000] | |||
| Общее потребление ТЭ зданием, Гкал | summary_te_consumption_gcal | Decimal | Нет | Да, `summary.te_consumption_gcal` | `Гкал` | Вещественное [0; 1000000] | |||
| Общее потребление ЭЭ зданием, кВт·ч | summary_ee_consumption_kwt_h | Decimal | Нет | Да, `summary.ee_consumption_kwh` | `кВт·ч` | Вещественное [0; 1000000] | |||
| Журнал расчёта | calc_log_json | String | Да | Да | |||||
| Ошибки расчёта | calc_errors_json | String | Да | Да | Ошибки расчёта (CmCalcErrors) в виде JSON | ||||
| Дата выполнения расчёта | calc_date | DateTime | Нет | Да | Дата и время выполнения расчёта | ||||
| Базовая модель | is_base_model | Boolean | Да | Нет | false | ||||
| Статус расчёта | calc_status_id | CalcStatus | Да | Да | Не выполнен | ||||
| Вид расчёта | calc_kind_id | CalcKind | Да | Нет | Строка до 50 символов | Произвольный |
Исходник
public class ConsumptionModel
{
/// <summary>Идентификатор записи</summary>
[DomainField(Alias = "id", RequiredOnCreate = true, Immutable = true)]
public Guid Id { get; set; }
/// <summary>Наименование</summary>
[DomainField(Alias = "name", RequiredOnCreate = true, Default = "\"{Здание. Наименование} {дата и время создания}\"")]
public string? Name { get; set; }
/// <summary>Здание</summary>
[Relation]
[DomainField(Alias = "building_id", RequiredOnCreate = true, Immutable = true)]
public Building? Building { get; set; }
/// <summary>Класс энергоэффективности</summary>
[Relation]
[DomainField(
Alias = "energy_efficiency_class_id",
Calculated = "Да, `te.class_by_deviation`",
Range = "возможные значения справочника: {E, D, C-, C, C+, B, B+, A, A+, A++}"
)]
public EnergyEfficiencyClasses? EnergyEfficiencyClass { get; set; }
/// <summary>Отклонение расчётной характеристики от нормативной, %</summary>
[DomainField(
Alias = "calc_from_norm_deviation_perc",
Calculated = "Да, `te.deviation_percent`",
Unit = "`%`",
Range = "Вещественное [-100; 100]"
)]
public decimal CalcFromNormDeviationPerc { get; set; }
/// <summary>Удельная характеристика расхода ТЭ (расчётная), Вт/(м3∙℃)</summary>
[DomainField(
Alias = "specific_heat_consumption_wt_per_m3c",
Calculated = "Да, `te.calc_specific_characteristic`",
Unit = "`Вт/(м³·°C)`",
Range = "Вещественное (0; 100]"
)]
public decimal SpecificHeatConsumptionWtPerM3c { get; set; }
/// <summary>Удельная характеристика расхода ТЭ (нормативная), Вт/(м3∙℃)</summary>
[DomainField(Alias = "specific_heat_consumption_norm_wt_per_m3c", Calculated = "Да", Unit = "`Вт/(м³·°C)`", Range = "Вещественное (0; 100]")]
public decimal SpecificHeatConsumptionNormWtPerM3c { get; set; }
/// <summary>Удельная теплозащитная характеристика</summary>
[DomainField(
Alias = "specific_heat_protection_wt_per_m3c",
Calculated = "Да, `te.spec_heat_protect_char`",
Unit = "`Вт/(м³·°C)`",
Range = "Вещественное (0; 100]"
)]
public decimal SpecificHeatProtectionWtPerM3c { get; set; }
/// <summary>Удельная характеристика внутренних теплопоступлений, Вт/(м³·°C)</summary>
[DomainField(
Alias = "specific_internal_heat_gains_wt_per_m3c",
Calculated = "Да, `te.spec_internal_heat_gain_char`",
Unit = "`Вт/(м³·°C)`",
Range = "Вещественное (0; 100]"
)]
public decimal SpecificInternalHeatGainsWtPerM3c { get; set; }
/// <summary>Удельная характеристика теплопоступлений от солнечной радиации, Вт/(м³·°C)</summary>
[DomainField(
Alias = "specific_solar_heat_gains_wt_per_m3c",
Calculated = "Да, `te.spec_solar_gain_char`",
Unit = "`Вт/(м³·°C)`",
Range = "Вещественное (0; 100]"
)]
public decimal SpecificSolarHeatGainsWtPerM3c { get; set; }
/// <summary>Коэффициент полезного использования теплопоступлений</summary>
[DomainField(Alias = "coef_heat_gains_utilization", Calculated = "Да, `te.heat_gain_utilization_factor`", Range = "Вещественное (0; 100]")]
public decimal CoefHeatGainsUtilization { get; set; }
/// <summary>Площадь теплозащитной оболочки здания, м²</summary>
[DomainField(Alias = "heat_envelope_area_m2", Calculated = "Да, `te.envelope_area`", Unit = "`м²`", Range = "Вещественное (0; 10000000]")]
public decimal HeatEnvelopeAreaM2 { get; set; }
/// <summary>Приведённое сопротивление теплозащитной оболочки, м²·°C/Вт</summary>
[DomainField(
Alias = "heat_envelope_thermal_resistance_m2c_per_wt",
Calculated = "Да, `te.envelope_thermal_resistance`",
Unit = "`м²·°C/Вт`",
Range = "Вещественное (0; 1000]"
)]
public decimal HeatEnvelopeThermalResistanceM2cPerWt { get; set; }
/// <summary>Мощность теплопотерь здания, кВт</summary>
[DomainField(Alias = "heat_loss_power_kwt", Calculated = "Да", Unit = "`кВт`", Range = "Вещественное [0; 1000000]")]
public decimal HeatLossPowerKwt { get; set; }
/// <summary>Энергия теплопотерь здания, кВт·ч</summary>
[DomainField(Alias = "heat_loss_energy_kwt_h", Calculated = "Да", Unit = "`кВт·ч`", Range = "Вещественное [0; 1000000]")]
public decimal HeatLossEnergyKwtH { get; set; }
/// <summary>Потребление ЭЭ на хозяйственно-бытовые нужды, кВт·ч</summary>
[DomainField(Alias = "ee_consumption_kwt_h", Calculated = "Да, ee.ee_consumption_kwh", Unit = "`кВт·ч`", Range = "Вещественное [0; 1000000]")]
public decimal EeConsumptionKwtH { get; set; }
/// <summary>Потребление ТЭ на отопление и вентиляцию, кВт·ч</summary>
[DomainField(
Alias = "te_consumption_kwt_h",
Calculated = "Да, `te.te_consumption_kwh`",
Unit = "`кВт·ч`",
Range = "Вещественное [0; 1000000]"
)]
public decimal TeConsumptionKwtH { get; set; }
/// <summary>Потребление ТЭ на отопление и вентиляцию, Гкал</summary>
[DomainField(
Alias = "te_consumption_gcal",
Calculated = "Да, `te.te_consumption_gcal`",
Unit = "`Гкал`",
Range = "Вещественное [0; 1000000]"
)]
public decimal TeConsumptionGcal { get; set; }
/// <summary>Общее потребление ТЭ зданием, кВт·ч</summary>
[DomainField(
Alias = "summary_te_consumption_kwt_h",
Calculated = "Да, `summary.te_consumption_kwh`",
Unit = "`кВт·ч`",
Range = "Вещественное [0; 1000000]"
)]
public decimal SummaryTeConsumptionKwtH { get; set; }
/// <summary>Общее потребление ТЭ зданием, Гкал</summary>
[DomainField(
Alias = "summary_te_consumption_gcal",
Calculated = "Да, `summary.te_consumption_gcal`",
Unit = "`Гкал`",
Range = "Вещественное [0; 1000000]"
)]
public decimal SummaryTeConsumptionGcal { get; set; }
/// <summary>Общее потребление ЭЭ зданием, кВт·ч</summary>
[DomainField(
Alias = "summary_ee_consumption_kwt_h",
Calculated = "Да, `summary.ee_consumption_kwh`",
Unit = "`кВт·ч`",
Range = "Вещественное [0; 1000000]"
)]
public decimal SummaryEeConsumptionKwtH { get; set; }
/// <summary>Журнал расчёта</summary>
[DomainField(Alias = "calc_log_json", RequiredOnCreate = true, Calculated = "Да")]
public string? CalcLogJson { get; set; }
/// <summary>Ошибки расчёта</summary>
[DomainField(
Alias = "calc_errors_json",
RequiredOnCreate = true,
Calculated = "Да",
Description = "Ошибки расчёта (`CmCalcErrors`) в виде JSON"
)]
public string? CalcErrorsJson { get; set; }
/// <summary>Дата выполнения расчёта</summary>
[DomainField(Alias = "calc_date", Calculated = "Да", Description = "Дата и время выполнения расчёта")]
public DateTime CalcDate { get; set; }
/// <summary>Базовая модель</summary>
[DomainField(Alias = "is_base_model", RequiredOnCreate = true, Calculated = "Нет", Default = "false")]
public bool IsBaseModel { get; set; }
/// <summary>Статус расчёта</summary>
[Relation]
[DomainField(Alias = "calc_status_id", RequiredOnCreate = true, Calculated = "Да", Default = "Не выполнен")]
public CalcStatus? CalcStatus { get; set; }
/// <summary>Вид расчёта</summary>
[Relation]
[DomainField(Alias = "calc_kind_id", RequiredOnCreate = true, Calculated = "Нет", Range = "Строка до 50 символов", Default = "Произвольный")]
public CalcKind? CalcKind { get; set; }
}Структурные связи
Использует
- Доменная сущность Здание (сущность)
- Доменная сущность Классы энергетической эффективности
- Доменная сущность Справочник "Вид расчёта"
- Доменная сущность Статус расчёта
- Vision Сервис «Эталоны и нормативы расхода ТЭР зданиями и сооружениями» (ЭНЗС)
Используется
- Документ Маппинг доменных данных → InputModel (ТЭ)
- Доменная сущность Вентиляция (сущность)
- Доменная сущность ВОК
- Доменная сущность Зона контакта с грунтом
- Доменная сущность Модель ворот
- Доменная сущность Модель окон
- Доменная сущность Модель освещения (сущность)
- Доменная сущность Модель отопительного периода
- Доменная сущность Модель потребителей ЭЭ (сущность)
- Доменная сущность Стены
- Доменная сущность Условия эксплуатации
- Доменная сущность Форма и габариты
- Доменная сущность Энергопрофиль
- Компонент Блок "Общие сведения о модели потребления
- Компонент Блок "Сведения о модели потребления
- Компонент Вкладка "Климатические условия"
- Компонент Вкладка "Реестр моделей потребления
- Компонент Вкладка «Реестр энергопрофилей»
- Компонент Карточка Здания
- Прикладной сервис Эталоны и нормативы потребления ТЭР зданиями
- Экран Карточка "Энергопрофиль здания