using Rugrid.Sdaid.Notation.Documents;
namespace Rugrid.Sdaid.Epas.Ntr.Ui.Pages
{
/// <summary>
/// Перенесено дословно из ntr-01/ui/energy-profile-card.md.
/// </summary>
public class DOC_EnergyProfileCard : IPageDocument, 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.EnergyProfileCollectionTaskModel.DOC_EnergyProfileCollectionTask>(),
Rel.Uses<Rugrid.Sdaid.Epas.Ntr.Domain.EnergyProfileModel.DOC_EnergyProfile>(),
Rel.Uses<Rugrid.Sdaid.Epas.Ntr.Domain.Reference.SysReference.DOC_EnergyProfileStatus>(),
Rel.Uses<Rugrid.Sdaid.Epas.Ntr.Domain.Reference.SysReference.DOC_ModelConsistencyStatus>(),
Rel.Uses<Rugrid.Sdaid.Epas.Ntr.Ui.Componetns.DOC_ColorBadge>(),
};
public static string _refName = "Карточка \"Энергопрофиль здания";
public string Name => "Карточка \"Энергопрофиль здания";
public string Description => "Алиасы: Карточка \"Энергопрофиль здания. parents: [main-page].";
public string Version => "1.0";
public string Status => "accepted";
public string[] Comments => new string[0];
/// <summary>Макет экрана: страница прототипа Сервиса, состав полей — из описания полей ниже.</summary>
public static string Wireframe = $""""
## Макет
{SdaidHtml.IframeOf<DOC_EnergyProfileCard>("energy-profile-card.html", 620)}
{SdaidHtml.LinkTo<DOC_EnergyProfileCard>("energy-profile-card.html", "Открыть макет в отдельной вкладке")}
"""";
public static string Body = """"
Карточка "Энергопрофиль здания" предназначена для отображения свойств [[../ntr-01/domain/energy-profile-model/energy-profile|энергопрофиля]] здания и доступа к операциям с энергопрофилем.
Карточка открывается в режиме редактирования.
**Элементы:**
- Кнопки вызова операций:
- Сохранить;
- Отменить;
- Проверить.
- Поля свойств энергопрофиля.
**Описание полей свойств энергопрофиля:**
| Название поля (колонка) | Способ заполнения | Обязательно для заполнения | Редактируемое | Тип поля | Маска / формат | Примечания |
| ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------- | ------------------------------------------------------------ | ---------------------- | -------------- | ---------- |
| Наименование | Вычисляется при чтении / на UI; не хранится.<br>Формула: "{FK → [[../ntr-01/domain/building-model/building\|Здание]]. Наименование} ({FK → [[../ntr-01/domain/energy-profile-collection-task-model/energy-profile-collection-task\|Задание на сбор энергопрофилей]]. Год начала отчётного периода}-{[[../ntr-01/domain/energy-profile-collection-task-model/energy-profile-collection-task\|Задание на сбор энергопрофилей]]. Год окончания отчётного периода})"<br><br>Пример:<br><br>Гараж №1 (2026-2026) | | Нет | Поле только для чтения | | |
| Модель вида расчёта. Нормативный | [[../ntr-01/domain/energy-profile-model/energy-profile\|Энергопрофиль]]. Модель нормативного расчёта -> [[../ntr-01/domain/consumption-model/consumption-model\|Модель потребления]]. Наименование<br><br>Выбирается из списка моделей здания: <br>- не включённых в энергопрофиль;<br>- для модели установлен соответствующий вид расчёта. | | Да | Выпадающий список | | |
| Модель вида расчёта. Эталонный | [[../ntr-01/domain/energy-profile-model/energy-profile\|Энергопрофиль]]. Модель эталонного расчёта -> [[../ntr-01/domain/consumption-model/consumption-model\|Модель потребления]]. Наименование<br><br>Выбирается из списка моделей здания: <br>- не включённых в энергопрофиль;<br>- для модели установлен соответствующий вид расчёта. | | Да | Выпадающий список | | |
| Модель вида расчёта. Технологический | [[../ntr-01/domain/energy-profile-model/energy-profile\|Энергопрофиль]]. Модель технологического расчёта -> [[../ntr-01/domain/consumption-model/consumption-model\|Модель потребления]]. Наименование<br><br>Выбирается из списка моделей здания: <br>- не включённых в энергопрофиль;<br>- для модели установлен соответствующий вид расчёта. | | Да | Выпадающий список | | |
| Модель вида расчёта. Произвольный | [[../ntr-01/domain/energy-profile-model/energy-profile\|Энергопрофиль]]. Модель произвольного расчёта -> [[../ntr-01/domain/consumption-model/consumption-model\|Модель потребления]]. Наименование<br><br>Выбирается из списка моделей здания: <br>- не включённых в энергопрофиль;<br>- для модели установлен соответствующий вид расчёта. | | Да | Выпадающий список | | |
| Статус энергопрофиля | [[../ntr-01/domain/energy-profile-model/energy-profile\|Энергопрофиль]] → [[../ntr-01/domain/reference/sys-reference/energy-profile-status\|Статус энергопрофиля]]. Наименование | | Да, если `Статус выполнения условий расчётов` == `Выполнены` | Выпадающий список | | |
| Статус выполнения условий расчётов | Бейдж с наименованием и цветом:<br><br>[[../ntr-01/domain/energy-profile-model/energy-profile\|Энергопрофиль]] → [[../ntr-01/domain/reference/sys-reference/model_consistency_status\|Статус выполнения условий расчётов]]. Наименование<br>Цвет: [[color-badge\|Цвета бейджей]] | | Нет | Бейдж | | |
**Поведение на форме:**
- Если статус `Статус выполнения условий расчётов` != `Выполнены`, значение `Статус энергопрофиля` недоступно для изменения.
- **Сохранить:**
- данные формы отправляются на проверку, выполняется операция `Проверить энергопрофиль`, по результатам проверки в форме устанавливается `Статус выполнения условий расчётов` = `Выполнены` или `Статус выполнения условий расчётов` = `Не выполнены` и размещается ссылка на журнал ошибок в карточке энергопрофиля, сообщить об установлении статуса.
- Если `Статус выполнения условий расчётов` = `Выполнены`, сохранить энергопрофиль, сообщить об успешном сохранении в статусе энергопрофиля, вернуться в реестр энергопрофилей.
- Если `Статус выполнения условий расчётов` = `Не выполнены`: отобразить окно операции: сообщить "Условия расчётов не выполняются, в карточке энергопрофиля размещена ссылка на журнал ошибок, энергопрофиль может быть сохранён в статусе `Формируется`", предложить: Отменить, Выполнить.
- Отменить - закрыть окно операции, остаться в карточке редактирования энергопрофиля.
- Выполнить:
- Если пользователем установлен `Статус энергопрофиля` = `Сформирован`, сбросить в `Формируется`, сохранить энергопрофиль, сообщить об успешном сохранении в статусе энергопрофиля, вернуться в реестр энергопрофилей.
- Если пользователем установлен `Статус энергопрофиля` = `Формируется`, сохранить энергопрофиль, сообщить об успешном сохранении в статусе энергопрофиля, вернуться в реестр энергопрофилей.
- **Проверить:** данные формы отправляются на проверку, выполняется операция `Проверить энергопрофиль`, по результатам проверки в форме устанавливается `Статус выполнения условий расчётов` = `Выполнены` или `Статус выполнения условий расчётов` = `Не выполнены` и размещается ссылка на журнал ошибок в карточке энергопроифля.
- **Отменить** - возврат в реестр энергопрофилей.
"""";
}
}