Руководство по установке#

Модуль «Управление портом» предназначен для обеспечения эффективного управления операциями швартовки судов, управления складскими площадками, мониторинга и размещения ж/д вагонов и погрузочной техники в порту, а также мониторинга метеорологической ситуации в порту.

Система планируется к использованию различными ролями пользователей: судовые диспетчеры, складские сотрудники, диспетчеры ж/д путей, механики и начальники производства.

В Системе модуль представлен:

  • модулем для автоматического создания геометрии объектов на основе семантических атрибутов;

  • каталогом с разными картами под определенную задачу, которые включают в себя виды объектов (вагоны, суда, техника, складские ячейки), соответствующие названию карты.

Установка#

  1. Подключите в метаданные проекта подсистему ..\Подсистемы\Управление портом.

  2. Обновите метаданные на проекте.

  3. Убедитесь в наличии модулей Module.NMTP.Meteo, Gems.NMTP.Meteo.ScheduleRunner, Module.NMTP.Behaviours. Модуль уже присутствует, если вы получили пакет с дистрибутивами для проекта.

  4. Обновите основное приложение Geometa с помощью тега install_ias.

Настройка#

  1. Добавьте в Систему стили/слои/карты с помощью утилиты Мультитул и вспомогательных файлов из метаданных по пути ..\Подсистемы\Управление портом\Установка\Мультитул.

  2. Добавьте в Систему справочные значения, роль и каталог с реестрами для модуля с помощью скриптов из метаданных по пути ..\Подсистемы\Управление портом\Установка.

Подключение пользователей#

Назначьте пользователям, которые будут работать с модулем, роли в зависимости от их АРМ:

  • для работы с каталогами судового диспетчера используется – armVesselDispatch;

  • для работы с каталогами Ж/Д диспетчера используется – armRailwayDispatch;

  • для работы с каталогами механической техники используется – armMechanicsDispatch;

  • для работы с каталогами складского сотрудника используется – armWarehouseEmployee.

Для разграничения ролей в зависимости от принадлежности к типу причала можно использовать:

  • для работы с причалами сухих грузов – armMainDocks;

  • для работы с причалами Шесхарис – armOilDocks;

  • для работы с причалами 4,5 пристаней – armOtherDocks.

Настройка сервиса «Метеорологическая сводка»#

Архитектура программного комплекса#

Информационная система состоит из трёх основных частей:

  • Gems.NMTP.Meteo.ScheduleRunner – приложение, позволяющее отправлять запросы к сервису заказчика для получения актуальных метеоданных согласно установленному расписанию. Далее эти данные будут перенаправлены модулю Module.NMTP.Meteo, относящемуся к сервису Application Server. Приложение работает в фоновом режиме.

  • Module.NMTP.Meteo – модуль, отвечающий за отображение метеоданных в интерфейсе Geometa.

  • Сервис заказчика, предоставляющий всю необходимую информацию по метеорологической обстановке в порту.

Обмен данных между сервисами осуществляется в формате json:

{
  "forecast": {
    "datetime": "2024-09-12 06:00",
    "value": "текст прогноза"
  },

  "stormAlert": {
    "datetime": "2024-09-12 07:00",
    "value": "текст штормового предупреждения"
  },

  "actual": [
    {
      "datetime": "2024-09-12 08:00",
      "value": "данные первого измерения погодных условий"
    },
    {
      "datetime": "2024-09-12 08:10",
      "value": "данные второго измерения погодных условий"
    }
  ]
}

Процесс настройки сервиса Gems.NMTP.Meteo.ScheduleRunner#

В момент выполнения задачи первым шагом происходит отправка запроса на получение актуальных метеоданных к сервису заказчика. Все настройки по обмену данных, включая адрес ресурса и авторизация в системе, указываются в файле appsettings в секции «Meteo: API»:

"Meteo": {
  "Api": {
    "Address": "https://address/resource/",
    "Authorization": {
      "Address": "http://address/resource/connect/token"
    },
    "RequestTimeout": 15
  }
}

После получения данных осуществляется отправка POST запроса к Application Server, а именно на контроллер ApiController модуля Module.NMTP.Meteo. Для корректной работы необходимо настроить конфигурацию http клиента Geometa в секции «Geometa: API»:

"Geometa": {
  "Api": {
    "BaseAddress": "http://localhost:5001",
    "Authorization": {
      "Address": "http://localhost:5002/connect/token",
      "ClientId": "clientId ",
      "ClientSecret": "clientSecret ",
      "Scope": [
        "api1"
      ]
    },
    "RequestTimeout": 15
  }
}

Необходимо указать подключение к базе данных Geometa:

"ConnectionStrings": {
  "DefaultConnection": "Server= 1.2.3.4;Port=1234;Database=database;User Id=userId;Password=password123;ApplicationName=ApplicationName;"
}