using Rugrid.Sdaid.Notation.Documents;
using Rugrid.Sdaid.Epas.Nts.Domain;
namespace Rugrid.Sdaid.Epas.Nts.Ui
{
/// <summary>
/// Страница импорта данных из АИС ОИА ПЭО: запуск, статусы и история запусков.
/// </summary>
public class DOC_NtsAisImportPage : IPageDocument, IHasStructuralLinks, IFolder<NtsUiFolder>
{
public SdaidLink[] Links => new[]
{
Rel.Uses<Rugrid.Sdaid.Epas.Nts.Infrastructure.AisOiaPeo.DOC_NtsAisImport>(),
Rel.Uses<DOC_NtsImportRun>(),
Rel.Uses<DOC_NtsImportRunStatus>(),
Rel.Uses<DOC_Vehicle>(),
Rel.Uses<DOC_VehicleKind>(),
Rel.Uses<DOC_FuelKind>(),
Rel.Uses<DOC_VehicleFunction>(),
Rel.Uses<DOC_VehicleCard>(),
};
public static string _refName = "Импорт данных из АИС ОИА ПЭО";
public string Name => "Импорт данных из АИС ОИА ПЭО";
public string Description =>
@"Запуск импорта реестра ТС и справочников из АИС ОИА ПЭО, контроль статусов и история запусков.";
public string Version => "0.1";
public string Status => "draft";
public string[] Comments => new string[0];
/// <summary>Макет экрана: запуск импорта и история запусков.</summary>
public static string Wireframe = $""""
## Макет
{SdaidHtml.IframeOf<DOC_NtsAisImportPage>("ais-import.html", 620)}
{SdaidHtml.LinkTo<DOC_NtsAisImportPage>("ais-import.html", "Открыть макет в отдельной вкладке")}
"""";
public static string Structure = $""""
## Структура экрана
Страница запуска и контроля импорта данных из АИС ОИА ПЭО. Импорт загружает реестр
транспортных средств и справочники, перечисленные в контракте
{SdaidAnchors.RefTo<Rugrid.Sdaid.Epas.Nts.Infrastructure.AisOiaPeo.DOC_NtsAisImport>()}.
### Список запусков
| Колонка | Содержание |
|---|---|
| Дата и время | Начало запуска импорта |
| Инициатор | Пользователь, запустивший импорт |
| Источник | Пакетный импорт или обновление ТС из карточки |
| Статус | Выполняется; успешно; с ошибками |
| Результат | Количество принятых записей по наборам |
| Ошибки | Текст ошибки или ссылка на журнал |
### Поведение
- «Запустить импорт» запускает пакетный приём от корневой компании (ПАО «Россети») —
все ТС компании и её подчинённых объектов; выбора организационного объекта на экране
нет — параметры процедуры см. {SdaidAnchors.RefTo<Rugrid.Sdaid.Epas.Nts.Infrastructure.AisOiaPeo.DOC_NtsAisImport>()}
(раздел «Состав наборов»).
- Обновление одного ТС из карточки тоже попадает в историю — с источником «обновление ТС»;
точечный запуск здесь не выполняется — см. {SdaidAnchors.RefTo<DOC_VehicleCard>()}.
- Во время выполнения статус запуска обновляется.
- При ошибках показывается их причина; повторный запуск создаёт новую запись истории.
- Состав загружаемых наборов и правила сопоставления задаёт контракт импорта.
"""";
}
}