Зона контакта с грунтом
Алиасы: Зона контакта с грунтом, Зона контакта с грунтом (сущность). parents: [consumption-model-diagram].
Связи
classDiagram
direction LR
class GroundContact {
+Guid id
+ConsumptionModel consumption_model_id
+Boolean is_basement
+BasementAtticHeatingTypes basement_heating_type_id
+Decimal basement_height_m
+Decimal basement_floor_level_m
+Decimal custom_ground_contact_area_m2
+Decimal heat_loss_energy_k_kwt_h
+Decimal heat_loss_power_kwt
+Decimal thermal_resistance_m2c_per_wt
+Decimal ground_contact_area_m2
+Decimal basement_wall_area_m2
+Decimal ground_floor_area_m2
+Decimal cover_area_m2
+Decimal zone_i_area_m2
+Decimal zone_ii_area_m2
+Decimal zone_iii_area_m2
+Decimal zone_iv_area_m2
}
class ConsumptionModel
class BasementAtticHeatingTypes
GroundContact "1" --> "1" ConsumptionModel : consumption_model_id
GroundContact "0..1" --> "1" BasementAtticHeatingTypes : basement_heating_type_id
Структура
| Наименование | Атрибут | Тип | Обязательно для создания | Требуется для расчёта | Вычисляемый, методика | ЕИ | Диапазон / формат | Значение по умолчанию | Неизменяемость | Описание |
|---|---|---|---|---|---|---|---|---|---|---|
| Идентификатор записи | id | Guid | Да | UUID | Да | |||||
| Модель потребления | consumption_model_id | ConsumptionModel | Да | Да | ||||||
| Наличие подвала | is_basement | Boolean | Да | Да | false | |||||
| Вид отопления подвала | basement_heating_type_id | BasementAtticHeatingTypes | Нет | Да, если Наличие подвала=Да | ||||||
| Высота подвала | basement_height_m | Decimal | Нет | Да, если Наличие подвала=Да | вещественное > 0 | |||||
| Уровень пола подвала | basement_floor_level_m | Decimal | Нет | Да, если Наличие подвала=Да | ||||||
| Площадь контакта при произвольной форме здания, м² | custom_ground_contact_area_m2 | Decimal | Нет | Да, если Форма и габариты (сущность) Форма здания=Другая | м² | вещественное ≥ 0 | ||||
| Энергия теплопотерь, кВт·ч | heat_loss_energy_k_kwt_h | Decimal | Нет | Да | кВт·ч | вещественное > 0 | ||||
| Мощность теплопотерь, кВт | heat_loss_power_kwt | Decimal | Нет | Да | кВт | вещественное > 0 | ||||
| Приведённое сопротивление теплопередаче ЗКГ, м²·°C/Вт | thermal_resistance_m2c_per_wt | Decimal | Нет | Да | Да | м²·°C/Вт | вещественное > 0 | |||
| Площадь контакта с грунтом, м² | ground_contact_area_m2 | Decimal | Нет | Да | Да | м² | вещественное > 0 | |||
| Площадь стен подвала, м² | basement_wall_area_m2 | Decimal | Нет | Да, если Наличие подвала=Да | Да | м² | вещественное > 0 | |||
| Площадь пола, м² | ground_floor_area_m2 | Decimal | Нет | Да | Да | м² | вещественное > 0 | |||
| Площадь пола, м² | cover_area_m2 | Decimal | Нет | Да | м² | Колонка есть в БД, значение не заполняется: сеттер в домене не вызывается | ||||
| Площадь зоны I | zone_i_area_m2 | Decimal | Нет | Да | Да | м² | вещественное > 0 | |||
| Площадь зоны II | zone_ii_area_m2 | Decimal | Нет | Да, если ... | Да | м² | вещественное ≥ 0 | |||
| Площадь зоны III | zone_iii_area_m2 | Decimal | Нет | Да, если ... | Да | м² | вещественное ≥ 0 | |||
| Площадь зоны IV | zone_iv_area_m2 | Decimal | Нет | Да, если ... | Да | м² | вещественное ≥ 0 |
Исходник
public class GroundContact
{
/// <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, Immutable = true)]
public ConsumptionModel? ConsumptionModel { get; set; }
/// <summary>Наличие подвала</summary>
[DomainField(Alias = "is_basement", RequiredOnCreate = true, RequiredForCalc = "Да", Default = "false")]
public bool IsBasement { get; set; }
/// <summary>Вид отопления подвала</summary>
[Relation]
[DomainField(Alias = "basement_heating_type_id", RequiredForCalc = "Да, если Наличие подвала=Да")]
public BasementAtticHeatingTypes? BasementHeatingType { get; set; }
/// <summary>Высота подвала</summary>
[DomainField(Alias = "basement_height_m", RequiredForCalc = "Да, если Наличие подвала=Да", Range = "вещественное > 0")]
public decimal BasementHeightM { get; set; }
/// <summary>Уровень пола подвала</summary>
[DomainField(Alias = "basement_floor_level_m", RequiredForCalc = "Да, если Наличие подвала=Да")]
public decimal BasementFloorLevelM { get; set; }
/// <summary>Площадь контакта при произвольной форме здания, м²</summary>
[DomainField(
Alias = "custom_ground_contact_area_m2",
RequiredForCalc = "Да, если Форма и габариты (сущность) Форма здания=Другая",
Unit = "м²",
Range = "вещественное ≥ 0"
)]
public decimal CustomGroundContactAreaM2 { get; set; }
/// <summary>Энергия теплопотерь, кВт·ч</summary>
[DomainField(Alias = "heat_loss_energy_k_kwt_h", Calculated = "Да", Unit = "кВт·ч", Range = "вещественное > 0")]
public decimal HeatLossEnergyKKwtH { get; set; }
/// <summary>Мощность теплопотерь, кВт</summary>
[DomainField(Alias = "heat_loss_power_kwt", Calculated = "Да", Unit = "кВт", Range = "вещественное > 0")]
public decimal HeatLossPowerKwt { get; set; }
/// <summary>Приведённое сопротивление теплопередаче ЗКГ, м²·°C/Вт</summary>
[DomainField(
Alias = "thermal_resistance_m2c_per_wt",
RequiredForCalc = "Да",
Calculated = "Да",
Unit = "м²·°C/Вт",
Range = "вещественное > 0"
)]
public decimal ThermalResistanceM2cPerWt { get; set; }
/// <summary>Площадь контакта с грунтом, м²</summary>
[DomainField(Alias = "ground_contact_area_m2", RequiredForCalc = "Да", Calculated = "Да", Unit = "м²", Range = "вещественное > 0")]
public decimal GroundContactAreaM2 { get; set; }
/// <summary>Площадь стен подвала, м²</summary>
[DomainField(
Alias = "basement_wall_area_m2",
RequiredForCalc = "Да, если Наличие подвала=Да",
Calculated = "Да",
Unit = "м²",
Range = "вещественное > 0"
)]
public decimal BasementWallAreaM2 { get; set; }
/// <summary>Площадь пола, м²</summary>
[DomainField(Alias = "ground_floor_area_m2", RequiredForCalc = "Да", Calculated = "Да", Unit = "м²", Range = "вещественное > 0")]
public decimal GroundFloorAreaM2 { get; set; }
/// <summary>Площадь пола, м²</summary>
[DomainField(
Alias = "cover_area_m2",
Calculated = "Да",
Unit = "м²",
Description = "Колонка есть в БД, значение не заполняется: сеттер в домене не вызывается"
)]
public decimal CoverAreaM2 { get; set; }
/// <summary>Площадь зоны I</summary>
[DomainField(Alias = "zone_i_area_m2", RequiredForCalc = "Да", Calculated = "Да", Unit = "м²", Range = "вещественное > 0")]
public decimal ZoneIAreaM2 { get; set; }
/// <summary>Площадь зоны II</summary>
[DomainField(Alias = "zone_ii_area_m2", RequiredForCalc = "Да, если ...", Calculated = "Да", Unit = "м²", Range = "вещественное ≥ 0")]
public decimal ZoneIiAreaM2 { get; set; }
/// <summary>Площадь зоны III</summary>
[DomainField(Alias = "zone_iii_area_m2", RequiredForCalc = "Да, если ...", Calculated = "Да", Unit = "м²", Range = "вещественное ≥ 0")]
public decimal ZoneIiiAreaM2 { get; set; }
/// <summary>Площадь зоны IV</summary>
[DomainField(Alias = "zone_iv_area_m2", RequiredForCalc = "Да, если ...", Calculated = "Да", Unit = "м²", Range = "вещественное ≥ 0")]
public decimal ZoneIvAreaM2 { get; set; }
}Структурные связи
Использует
- Доменная сущность Модель потребления
- Доменная сущность Тип отопления чердака/подвала
- Доменная сущность Форма и габариты
Используется
- Документ Маппинг доменных данных → InputModel (ТЭ)
- Компонент Блок "Сведения о модели потребления
- Компонент Вкладка "Зона контакта с грунтом