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

Стройкомплекс РФ – это единая система обеспечения градостроительной деятельности Российской Федерации, которая объединяет на единой платформе всю градостроительную информацию в России. Передача сведений из ГИСОГД регионов в Единую систему осуществляется посредством сервиса для передачи сведений через API Стройкомплекс.РФ.

Целью сервиса является передача сведений из ГИСОГД регионов в ГИС Стройкомплекс.РФ.

Сервис позволяет:

  • передавать размещаемые документы из Diamond и GeoMeta в Стройкомплекс.РФ (API Стройкомплекс.РФ);

  • массово передавать размещенные документы в Стройкомплекс.РФ (API Стройкомплекс.РФ), используя утилиту MassProcessor;

  • отправлять сведения, которые были размещены после размещения документа (векторные данные 5,7 разделов ГИСОГД + градостроительные регламенты со связанными объектами);

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

Важно

Для настройки сервиса необходимо вносить правки в .env файл в каталоге /opt/gisogdrf.

Установка модуля#

  1. Укажите следующее переменные в vars.yml-файле. См. Редактирование vars.yml файла.

В таблице обязательная к изменению переменная отмечена значком треугольник.

Переменные#

Обязательная к изменению

Название переменной

Значение по умолчанию

Описание переменной

gvGISOGDRF_INSTALL_DIR

/opt/GisogdRF

Директория, в которую будет установлен сервис интеграции со Стройкомплекс.РФ (GisogdRF). Рекомендуется не изменять значение данной переменной

gvGISOGDRF_GEOMETA_CONNECTION_STRING

Server={{ gvPOSTGRESQL_SERVER }};Port={{ gvPOSTGRESQL_PORT }};Database={{ gvPOSTGRESQL_IAS_DB_NAME }};User Id={{ gvPOSTGRESQL_IAS_USER }};Password={{ gvPOSTGRESQL_IAS_USER_PASS }};

Строка подключения к БД Geometa. Данная строка формируется автоматически на основе ранее указанных параметров (используется импорт переменных), без необходимости не корректируйте значение данной переменной!

gvGISOGDRF_DIAMOND_CONNECTION_STRINGE

Server={{ gvPOSTGRESQL_SERVER }};Port={{ gvPOSTGRESQL_PORT }};Database={{ gvPOSTGRESQL_IAS_DB_NAME }};User Id={{ gvPOSTGRESQL_IAS_USER }};Password={{ gvPOSTGRESQL_IAS_USER_PASS }};

Строка подключения к БД Diamond. По умолчанию данная строка формируется автоматически на основе ранее указанных параметров (используется импорт переменных)

треугольник

gvGISOGDRF_EXCLUDED_PROJECTS

[]

Список проектов, по которым служба не должна работать. Например, тестовые проекты, демо-проекты и проекты, у которых отсутствует ОКТМО или оно не уникально в разрезе других муниципальных образований проекта. Обратите внимание, что данная переменная принимает в себя лист значений, оформленных через спец. символ „-„ в двойных кавычках с новой строки

треугольник

gvGISOGDRF_MASS_PROC_INTERVAL_SEC

по умолчанию: 14400

Интервал (в секундах) с которым сервис массовой отправки будет пытаться отправлять архивные или не отправленные документы

треугольник

gvGISOGDRF_BASE_ADDRESS

http://testenv

URL-адрес по которому доступна API Стройкомплекс.РФ

треугольник

gvGISOGDRF_API_ROOT

/api/rgmu

Подадрес API Стройкомплекс.РФ (для возможного указанием версии API)

треугольник

gvGISOGDRF_REQUEST_TIMEOUT

15

Таймаут запроса к API Стройкомплекс.РФ

треугольник

gvGISOGDRF_AUTH_ADDRESS

https://{{ gvNGINX_FQDN }}/connect/token

URL-адрес сервиса авторизации API Стройкомплекс.РФ

треугольник

gvGISOGDRF_AUTH_CLIENT_ID

gisogdrf

ID Клиента к API Стройкомплекс.РФ (выдается Регионам по обращению к представителям Стройкомплекс.РФ и Минстроя)

треугольник

gvGISOGDRF_AUTH_CLIENT_SECRET

popopo

Секрет клиента к API Стройкомплекс.РФ (выдается Регионам по обращению к представителям Стройкомплекс.РФ и Минстроя вместе с ID Клиента)

треугольник

gvGISOGDRF_AUTH_SCOPE

api1

Авторизационный Scope API Стройкомплекс.РФ

gvGISOGDRF_CRONTAB_SCHEDULE

по умолчанию 0 23 * * 0-4

Расписание запуска службы опроса аудита обработки документов API Стройкомплекс.РФ в формате CRON

Важно

Если на вашем проекте присутствуют тестовые или демонстрационные схемы, которые копируют продуктовые схемы, их следует исключить из работы сервиса. Для этого необходимо указать перед установкой переменную Ansible gvGISOGDRF_EXCLUDED_PROJECTS. Например:

gvGISOGDRF_EXCLUDED_PROJECTS        :
                              - "test_go"
                              - "demo_region"
  1. Установите сертификаты Министерства цифрового развития:

  1. Скачайте 2 файла с сертификатами по адресу https://www.gosuslugi.ru/crt, выбрав нужную ОС.

  2. Перенесите сертификаты на сервер, где установлен Diamond.

  1. Скопируйте сертификаты в папку /usr/local/share/ca-certificates/.

  2. Выполните команду:

    sudo update-ca-certificates
    
  1. Скопируйте сертификаты в папку /etc/pki/ca-trust/source/anchors/.

  2. Выполните команду:

    update-ca-trust
    
  1. Проверьте доступ к сервисам Стройкомплекс.РФ с помощью команд и убедитесь, что соединение установлено:

    wget https://id.gisogd.gov.ru/oidc/connect/token
    
    wget https://admin.gisogd.gov.ru
    
  2. Установите функционал средствами Ansible, используя тег install_gisogdrf (См. Обновление и установка Системы с использованием Ansible).

Сервис будет запущен сразу после установки.

Логирование#

Сервис логирует отправку документов в таблицах, тем самым дает возможность отслеживать статус отправки сведений в Стройкомплекс.РФ.

Логирование ведется в таблицах БД Diamond – gisogd_schema: gisogd_schema.gisogd_rf_log_document_bucket и gisogd_schema.gisogd_rf_log_document_bucket_elements.

Таблица gisogd_schema.gisogd_rf_log_document_bucket#

Таблица содержит информацию об успешности\неуспешности отправки пакета данных документа целиком:

../../../_images/document_bucket.png

Столбцы содержат в себе информацию:

  • id – идентификационный номер документа в таблице;

  • scheme – наименование схемы проекта;

  • gisogd_registration_number – регистрационный номер документа;

  • send_date – время и дата направления в ГИСОГД;

  • success – отметка успешной\неуспешной отправки (true\false);

  • error_text – текст ошибки при неудачной отправке документа в Стройкомплекс.РФ;

  • service_name – наименование сервиса, которым был отправлен документ (service\massProcessor);

  • last_send_date – дата последней отправки документа в Стройкомплекс.РФ;

  • attemp_count – количество попыток отправки документа в Стройкомплекс.РФ.

Таблица gisogd_schema.gisogd_rf_log_document_bucket_elements#

Таблица содержит информацию об отправке частей пакета данных каждого документа, то есть сведения об отправке всех составляющих объектов документа:

../../../_images/document_bucket_elementst.png

Столбцы содержат в себе информацию:

  • bucket_id – идентификационный номер пакета в таблице;

  • xml_type – наименование типа объекта;

  • guid – уникальный идентификационный номер объекта в составе пакета;

  • send_date – время и дата отправки в Стройкомплекс.РФ;

  • success – отметка успешной\неуспешной отправки (true\false);

  • xml – содержимое xml, отправленного в Стройкомплекс.РФ;

  • error_text – текст ошибки при неудачной отправке в Стройкомплекс.РФ.

В случае ошибок отправки в таблицах заполняется поле в столбце error_text.

В таблице gisogd_schema.v_gisogd_rf_errors_from_api отображается информация о тех запросах в API Стройкомплекс.РФ, данные которых отправить не удалось.

В таблице error_text gisogd_rf_log_document_bucket отображается информация, если есть ошибка формирования пакета:

  • извлечение данных из БД;

  • валидация данных на корректность.

В ходе логирования формируются файлы лога в папках: /var/log/gems/gisogd-rf/service и /var/log/gems/gisogd-rf/massprocessor.

При получении результата отправки документа в Стройкомплекс.РФ, сервис производит поиск записи о последней неуспешной попытке отправки этого документа в логах в таблице gisogd_rf_log_document_bucket, после чего сервис:

  1. увеличивает счетчик попыток отправки на единицу в столбце attempt_count;

  2. проставляет актуальный статус результата отправки вместо неуспешного в столбце success;

  3. удаляет записи обо всех элементах старой отправки и переписывает их элементами этой отправки;

  4. проставляет текущее время как время последней попытки отправки в столбце last_send_date;

  5. перезаписывает текст ошибки и название сервиса если оно отличается.

Если запись о последней неуспешной попытке отправки не найдена – будет создана стандартная запись лога.

Как посмотреть информацию о статусе отправки#

Посмотреть информацию о статусе отправки конкретного документа по регистрационному номеру ГИСОГД, в том числе об объектах, входящих в его состав, можно с помощью запроса:

select b.scheme,
    b.gisogd_registration_number,
    b.success as all_success,
    b.error_text as make_package_error,
    e.send_date,
    e.xml_type,
    e.guid,
    e.xml,
    e.success as request_success,
    e.error_text as request_error,
    b.service_name
from gisogd_schema.gisogd_rf_log_document_bucket b
left join gisogd_schema.gisogd_rf_log_document_bucket_elements e
on e.bucket_id = b.id
where b.gisogd_registration_number = '05657000-10-2022-54' - номер документа
order by e.send_date desc;

Часто задаваемые вопросы#

Если документ ГИСОГД не отправляется в Стройкомплекс.РФ и не отображается ни в аудите, ни в списке документов Стройкомплекс.РФ в технологическом окне, на это может быть ряд причин.

Сценарии передачи сведений в Стройкомплекс.РФ#