Массовый запрос к СМЭВ#

Отправить массовый запрос к СМЭВ можно по следующим видам:

  • запрос ЕГРН ЗУ (egrnZu);

  • запрос ЕГРН ОКС (egrnOks);

  • запрос ЕГРН ЗОУИТ (egrnZouit);

  • запрос КПТ (kpt).

Для того чтобы отправить массовый запрос:

  1. Создайте таблицу public.table_f_smevrequest_properties.

../../../_images/table4.png

Где,

  • [scheme] – название схемы;

  • [typeRequest] – тип запроса (egrnZouit, kpt, egrnOks, egrnZu);

  • [queueLength] – максимальный размер одновременно выполняющихся запросов к СМЭВ, по умолчанию 200;

  • [start_date] – дата начала текущей массовой загрузки, по умолчанию 1 января 1900 года;

  • [queryText] – запрос для массового запроса из другой таблицы, по умолчанию берет из базовых таблиц.

  • [is_active] – запущен ли массовый запрос сейчас. По умолчанию 0 (не запущен).

Важно

По рекомендации Росреестра необходимо настроить расписание и размер очереди массового запроса так, чтобы за сутки в Росреестр не отправлялось более 1500 запросов.

  1. Создайте в базе данных функцию public.f_smevrequest() с помощью скрипта, расположенного по адресу: …\Подсистемы\Межведомственные запросы\СМЭВ. Массовый запрос к СМЭВ\Массовый запрос СМЭВ.sql.

Функция public.f_smevrequest() берет информацию из таблицы public.table_f_smevrequest_properties и запускает скрипт на каждую схему и каждый вид запроса.

  1. Установите функцию на выполнение в cron.

Для этого выполните на сервере базы данных следующие действия:

3.1. Создайте папку cron_scripts в папке ..//home//user//. Расположите в cron_scripts файл из папки …\Подсистемы\Межведомственные запросы\СМЭВ. Массовый запрос к СМЭВ\для cron.

3.2. В файле egrn_auto.sh измените подключение к базе данных в строке sql.

3.3. Установите запуск функции в cron по расписанию (в примере запуск функции раз в 30 минут).

  • версия для …\etc\crontab:

*/30 * * * * root /bin/bash /home/user/cron_scripts/egrn_auto.sh >> /home/user/cron_scripts/egrn.log
  • версия для cronta -e:

*/30 * * * * /bin/bash /home/user/cron_scripts/egrn_auto.sh >> /home/user/cron_scripts/egrn.log

3.4. Удостоверьтесь, что в файле pg_hba.conf, который находится в папке, куда установлен Postgres, добавлена возможность выполнять команды локально от пользователя, указанного в файле egrn_auto.sh. Для этого скопируйте первую строку и измените Postgres на другое имя пользователя базы данных.

Содержимое файла pg_hba.conf:

../../../_images/pg_hba1.png

Как использовать функцию для массового запроса#

При необходимости запустить массовый запрос, нужно изменить в схеме и виде запроса, которые нужно загрузить, следующее:

  • start_date на сегодняшнее число;

  • is_active на 1.

Пример:

update  public.table_f_smevrequest_properties set start_date = Now(), is_active = 1 where scheme = 'НУЖНАЯ СХЕМА' and typeRequest = 'НУЖНЫЙ ЗАПРОС'

В СМЭВ будут отправлены те данные, которые еще не запрашивались с указанной даты.

Использование поля queryText#

Для того, чтобы отправить запросы СМЭВ из другого источника данных, запрос к другому источнику вставляется в поле [queryText]. Важно называть поля определенным образом, чтобы скрипт мог забрать эти данные.

Для массового запроса КПТ:

'select kn from table'

Где,

  • table - таблица с произвольными данными;

  • kn - кадастровые номера кварталов.

Для массового запроса ЕГРН ЗУ:

'select kn from table'

Где,

  • table - таблица с произвольными данными;

  • kn - кадастровые номера ЗУ.

Для массового запроса ЕГРН ОКС:

'select kn, kind_oks from table'

Где,

  • table - таблица с произвольными данными;

  • kn - кадастровые номера ОКС;

  • kind_oks - название типа ОКС (Здание, Помещение и т.д.).

Для массового запроса ЕГРН ЗОУИТ:

'select kn, kind_zone from table'

Где,

  • table - таблица с произвольными данными;

  • kn - кадастровые номера кварталов;

  • kind_zone - название Зоны по классификатору (Водоохранные зоны и т.д.).

Важно

[queryText] всегда используется для запроса, если поле не пустое. Чтобы выполнить запрос из стандартного источника, в поле необходимо указать NULL.

Возможность пользователей выполнять массовые запросы КПТ/ ЗОУИТ#

  1. Убедитесь в наличии модуля Module.SqlTasks.Runner (см. sql).

  2. В папке ..\Gems.Module.SqlTasks.Runner\SQL расположите содержимое папки: \Подсистемы\Межведомственные запросы\СМЭВ. Массовый запрос к СМЭВ\Скрипт для SQLTasks.Runner.

  3. В таблице «Запросы СМЭВ» в разделе «Еще» появятся дополнительные кнопки:

    • Отправить запрос ЕГРН (ЗОУИТ) на все зоны;

    • Отправить запрос ЕГРН (КПТ) на все кадастровые кварталы.

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

Результат отработки функции отображается в таблице public.table_f_SMEVRequest_log.

../../../_images/table21.png

Где,

  • [scheme] – название схемы;

  • [inserted_rows_count] – количество строк, отправленных в СМЭВ;

  • [in_queue] – сколько строк осталось в очереди на отправку;

  • [type] – тип запроса СМЭВ.

Если было вставлено 0 строк и в очереди на отправку 0 строк, запись в лог не формируется.