⟨/⟩ Ntr/65_Ui/Componetns/ModelCardHeatingPeriod.cs

80 строк · в начало

using Rugrid.Sdaid.Notation.Documents;

namespace Rugrid.Sdaid.Epas.Ntr.Ui.Componetns
{
    /// <summary>
    /// Перенесено дословно из ntr-01/ui/model-card-heating-period.md.
    /// </summary>
    public class DOC_ModelCardHeatingPeriod : IUiComponentDocument, IHasStructuralLinks, IFolder<NtrUiFolder>
    {
        public SdaidLink[] Links => new[]
        {
            Rel.Uses<Rugrid.Sdaid.Epas.Ntr.Domain.BuildingModel.DOC_Building>(),
            Rel.Uses<Rugrid.Sdaid.Epas.Ntr.Domain.ConsumptionModel.DOC_ConsumptionModel>(),
            Rel.Uses<Rugrid.Sdaid.Epas.Ntr.Domain.ConsumptionModel.DOC_HeatingPeriodModel>(),
            Rel.Uses<Rugrid.Sdaid.Epas.Ntr.Domain.OrgObjectModel.DOC_Substation>(),
            Rel.Uses<Rugrid.Sdaid.Epas.Ntr.Domain.Reference.DOC_ClimateRegion>(),
            Rel.Uses<Rugrid.Sdaid.Epas.Ntr.Domain.Reference.SysReference.DOC_HeatingPeriodConditionsSrc>(),
        };

        public static string _refName = "Вкладка \"Климатические условия\"";

        public string Name => "Вкладка \"Климатические условия\"";

        public string Description => "Алиасы: Вкладка \"Условия отопительного периода\". parents: [model-card].";

        public string Version => "1.1";
        public string Status => "changed";

        public string[] Comments => new[]
        {
            "2026-09-03, CR 2026-09-03 «Обработка источников климатических данных»: вкладка переименована из «Условия отопительного периода»; источник климатических данных выбирается из трёх наборов, добавлены блок данных климатического района подстанции и широта.",
        };

        /// <summary>Макет экрана: страница прототипа Сервиса, состав полей — из описания полей ниже.</summary>
        public static string Wireframe = $""""
## Макет

{SdaidHtml.IframeOf<DOC_ModelCardHeatingPeriod>("model-card-heating-period.html", 620)}

{SdaidHtml.LinkTo<DOC_ModelCardHeatingPeriod>("model-card-heating-period.html", "Открыть макет в отдельной вкладке")}
"""";

        public static string Body = """"
Вкладка показывает климатические данные, по которым ведётся расчёт, и даёт выбрать, какой набор использовать. Источник подменяет отображаемый блок данных: показывается тот набор, который выбран.

**Описание полей:**

| Название поля | Способ заполнения | Обязательно для заполнения | Редактируемое в режиме редактирования | Правила валидации | Тип поля | Маска / Формат | Значение по умолчанию | Примечания | Группа полей |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
|  |  |  |  |  |  |  |  |  | **Исходные данные** |
| Источник климатических данных | [[../ntr-01/domain/consumption-model/heating-period-model\|Модель отопительного периода]] --> [[../ntr-01/domain/reference/sys-reference/heating-period-conditions-src\|Источник условий ОП]]. Наименование | Да | Да |  | Выпадающий список. Выбор из [[../ntr-01/domain/reference/sys-reference/heating-period-conditions-src\|Справочник "Источник условий ОП"]] |  | см. примечание | Определяет, какой набор климатических данных используется в расчёте. Значение "Климатический район подстанции" доступно только для зданий, размещённых на территории подстанции. Умолчание при создании модели: климатический район здания, если он задан; иначе климатический район подстанции, если здание размещено на её территории |  |
|  |  |  |  |  |  |  |  |  | **Климатический район здания** |
| Климатический район здания | [[../ntr-01/domain/building-model/building\|Здание]] --> [[../ntr-01/domain/reference/climate-region\|Климатический район]]. Наименование | Нет | Нет |  | Поле только для чтения |  |  | Незаполненное значение показывается прочерком | Климатический район здания |
| Широта, ° | [[../ntr-01/domain/building-model/building\|Здание]] --> [[../ntr-01/domain/reference/climate-region\|Климатический район]]. Широта | Нет | Нет |  | Поле только для чтения | {99} ° |  | Определяет выборку записей справочника солнечной радиации | Климатический район здания |
| Продолжительность отопительного периода, сут. | [[../ntr-01/domain/building-model/building\|Здание]] --> [[../ntr-01/domain/reference/climate-region\|Климатический район]]. Продолжительность отопительного периода | Нет | Нет |  | Поле только для чтения | {999} сут. |  |  | Климатический район здания |
| Средняя температура наружного воздуха, °C | [[../ntr-01/domain/building-model/building\|Здание]] --> [[../ntr-01/domain/reference/climate-region\|Климатический район]]. Средняя температура наружного воздуха за отопительный период | Нет | Нет |  | Поле только для чтения | {99,99} °C |  |  | Климатический район здания |
| Средняя скорость ветра, м/с | [[../ntr-01/domain/building-model/building\|Здание]] --> [[../ntr-01/domain/reference/climate-region\|Климатический район]]. Средняя скорость ветра за отопительный период | Нет | Нет |  | Поле только для чтения | {999,99} м/с |  |  | Климатический район здания |
|  |  |  |  |  |  |  |  |  | **Климатический район подстанции** |
| Климатический район подстанции | [[../ntr-01/domain/org-object-model/substation\|Подстанция]] --> [[../ntr-01/domain/reference/climate-region\|Климатический район]]. Наименование | Нет | Нет |  | Поле только для чтения |  |  | Группа выводится только для зданий, размещённых на территории подстанции | Климатический район подстанции |
| Широта, ° | [[../ntr-01/domain/org-object-model/substation\|Подстанция]] --> [[../ntr-01/domain/reference/climate-region\|Климатический район]]. Широта | Нет | Нет |  | Поле только для чтения | {99} ° |  |  | Климатический район подстанции |
| Продолжительность отопительного периода, сут. | [[../ntr-01/domain/org-object-model/substation\|Подстанция]] --> [[../ntr-01/domain/reference/climate-region\|Климатический район]]. Продолжительность отопительного периода | Нет | Нет |  | Поле только для чтения | {999} сут. |  |  | Климатический район подстанции |
| Средняя температура наружного воздуха, °C | [[../ntr-01/domain/org-object-model/substation\|Подстанция]] --> [[../ntr-01/domain/reference/climate-region\|Климатический район]]. Средняя температура наружного воздуха за отопительный период | Нет | Нет |  | Поле только для чтения | {99,99} °C |  |  | Климатический район подстанции |
| Средняя скорость ветра, м/с | [[../ntr-01/domain/org-object-model/substation\|Подстанция]] --> [[../ntr-01/domain/reference/climate-region\|Климатический район]]. Средняя скорость ветра за отопительный период | Нет | Нет |  | Поле только для чтения | {999,99} м/с |  |  | Климатический район подстанции |
|  |  |  |  |  |  |  |  |  | **Данные пользователя** |
| Широта (данные пользователя), ° | [[../ntr-01/domain/consumption-model/heating-period-model\|Модель отопительного периода]]. Широта (данные пользователя) | Нет | Да, если "Источник климатических данных" = "Данные пользователя" | Целое [-90; 90] | Целое | {99} ° |  | Целые градусы: записи справочника солнечной радиации ключуются целым градусом | Данные пользователя |
| Продолжительность отопительного периода (данные пользователя), сут. | [[../ntr-01/domain/consumption-model/heating-period-model\|Модель отопительного периода]]. Продолжительность отопительного периода (данные пользователя), сут. | Нет | Да, если "Источник климатических данных" = "Данные пользователя" | Целое [0, 366] | Целое | {999} сут. |  |  | Данные пользователя |
| Средняя температура наружного воздуха (данные пользователя), °C | [[../ntr-01/domain/consumption-model/heating-period-model\|Модель отопительного периода]]. cust_ext_air_temp_c | Нет | Да, если "Источник климатических данных" = "Данные пользователя" | Вещественное [-70; 70] | Вещественное | {99,99} °C |  |  | Данные пользователя |
| Средняя скорость ветра (данные пользователя), м/с | [[../ntr-01/domain/consumption-model/heating-period-model\|Модель отопительного периода]]. cust_avg_wind_speed_m_per_second | Нет | Да, если "Источник климатических данных" = "Данные пользователя" | Вещественное [0; 100] | Вещественное | {999,99} м/с |  |  | Данные пользователя |
|  |  |  |  |  |  |  |  |  | **Результаты расчёта** |
| Градусо-сутки отопительного периода, ℃·сут. | [[../ntr-01/domain/consumption-model/heating-period-model\|Модель отопительного периода]]. Градусо-сутки отопительного периода, ℃·сут. | Нет | Нет |  | Вещественное [0; 10000] | {9 999,99} |  | Вычисляемое | |

- Выбор `Источник климатических данных` подменяет отображаемый блок данных: показывается группа полей выбранного источника, остальные скрываются.
	- `Климатический район здания`, `Климатический район подстанции`: показываются данные соответствующего района, поля только для чтения;
	- `Данные пользователя`: показывается группа полей `Данные пользователя`, поля доступны для ввода.
- Значение `Климатический район подстанции` доступно в списке только для зданий, размещённых на территории подстанции.
- Незаполненное значение показывается прочерком. Скрывать строку нельзя: скрытая строка неотличима от отсутствующего поля, и незаданную широту становится невозможно заметить.
"""";
    }
}