⟨/⟩ Nts/65_Ui/NtsAisImportPage.cs

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

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>()}.
        - Во время выполнения статус запуска обновляется.
        - При ошибках показывается их причина; повторный запуск создаёт новую запись истории.
        - Состав загружаемых наборов и правила сопоставления задаёт контракт импорта.
        """";
    }
}