Руководство по установке#
Модуль «Управление портом» предназначен для обеспечения эффективного управления операциями швартовки судов, управления складскими площадками, мониторинга и размещения ж/д вагонов и погрузочной техники в порту, а также мониторинга метеорологической ситуации в порту.
Система планируется к использованию различными ролями пользователей: судовые диспетчеры, складские сотрудники, диспетчеры ж/д путей, механики и начальники производства.
В Системе модуль представлен:
модулем для автоматического создания геометрии объектов на основе семантических атрибутов;
каталогом с разными картами под определенную задачу, которые включают в себя виды объектов (вагоны, суда, техника, складские ячейки), соответствующие названию карты.
Установка#
Подключите в метаданные проекта подсистему ..\Подсистемы\Управление портом.
Обновите метаданные на проекте.
Убедитесь в наличии модулей
Module.NMTP.Meteo
,Gems.NMTP.Meteo.ScheduleRunner
,Module.NMTP.Behaviours
. Модуль уже присутствует, если вы получили пакет с дистрибутивами для проекта.Обновите основное приложение Geometa с помощью тега
install_ias
.
Настройка#
Добавьте в Систему стили/слои/карты с помощью утилиты Мультитул и вспомогательных файлов из метаданных по пути ..\Подсистемы\Управление портом\Установка\Мультитул.
Добавьте в Систему справочные значения, роль и каталог с реестрами для модуля с помощью скриптов из метаданных по пути ..\Подсистемы\Управление портом\Установка.
Подключение пользователей#
Назначьте пользователям, которые будут работать с модулем, роли в зависимости от их АРМ:
для работы с каталогами судового диспетчера используется – 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;"
}