Загрузка данных
BEGIN;
DO $check$
BEGIN
IF NOT EXISTS (
SELECT 1
FROM report.conf_scheduler_sfr
WHERE id = 40
AND is_active = false
) THEN
RAISE EXCEPTION
'Регламент №40 должен быть выключен перед изменением настроек';
END IF;
IF (
SELECT count(*)
FROM smev.smev_report_create_register_processes_bak_20261031
WHERE id_etl = 40
) <> 12 THEN
RAISE EXCEPTION
'В резервной копии ожидаются 12 шагов регламента №40';
END IF;
END;
$check$;
-- 1. Отбор данных и запуск цикла.
-- Пустые даты означают вчера и сегодня.
UPDATE smev.smev_report_create_register_processes
SET process_type = 4,
load_post_process = 'J6JzujYq',
process_description = 'Отбор данных для отдельных XML ФНС',
load_id_var = ARRAY[
ROW('start_date_app', 'String', '')::smev.ctx_var,
ROW('end_date_app', 'String', '')::smev.ctx_var,
ROW('isChecked', 'Boolean', 'true')::smev.ctx_var,
ROW('contract_activity_type', 'String', 'ALL')::smev.ctx_var
],
active_task = true
WHERE id_etl = 40
AND id_process = 1;
-- 2. Прежняя проверка больше не используется.
UPDATE smev.smev_report_create_register_processes
SET active_task = false
WHERE id_etl = 40
AND id_process = 2;
-- Шаги 3 и 4: существующие генераторы ИД и GUID.
-- 5. Создание отдельного реестра с нумерацией,
-- используемой в действующем ручном формировании.
UPDATE smev.smev_report_create_register_processes
SET load_id_var = ARRAY[
ROW('registerId', 'Integer', 'step=3+id')::smev.ctx_var,
ROW('registerType', 'String', 'ФНС-ВЧТ')::smev.ctx_var,
ROW('guid', 'String', 'step=4+guid')::smev.ctx_var,
ROW(
'registrationNumberSequence',
'String',
'report.fns_vcht_number_sequence'
)::smev.ctx_var,
ROW('viewCode', 'String', 'n3mSokEw')::smev.ctx_var
],
active_task = true
WHERE id_etl = 40
AND id_process = 5;
-- 6. Формирование XML для текущего человека и договора.
UPDATE smev.smev_report_create_register_processes
SET process_type = 3,
load_post_process = 'CscIW8M0',
process_description = 'Формирование отдельного XML ФНС',
load_id_var = ARRAY[
ROW('id', 'Integer', 'step=1+start_b')::smev.ctx_var,
ROW('fl_Id', 'Integer', 'step=1+start_b')::smev.ctx_var,
ROW('contract_id', 'Integer', 'step=1+end_b')::smev.ctx_var,
ROW('agent_id', 'Integer', 'step=1+agent_id')::smev.ctx_var,
ROW('registerId', 'Integer', 'step=3+id')::smev.ctx_var,
ROW('service_name_v', 'String', 'SMEF FNS')::smev.ctx_var,
ROW('queryModelCharset', 'String', 'UTF-8')::smev.ctx_var,
ROW('viewCode', 'String', 'n3mSokEw')::smev.ctx_var
],
active_task = true
WHERE id_etl = 40
AND id_process = 6;
-- 7. Создание отдельной записи журнала.
UPDATE smev.smev_report_create_register_processes
SET process_type = 2,
load_post_process = 'osDA0Imq',
process_description = 'Создание отдельной записи журнала ФНС',
load_id_var = ARRAY[
ROW('contract_id', 'Integer', 'step=1+end_b')::smev.ctx_var,
ROW('fl_id', 'Integer', 'step=1+start_b')::smev.ctx_var,
ROW('smevRegisterId', 'Integer', 'step=3+id')::smev.ctx_var,
ROW('viewCode', 'String', 'n3mSokEw')::smev.ctx_var
],
active_task = true
WHERE id_etl = 40
AND id_process = 7;
-- 8. Привязка файла по конкретному реестру.
UPDATE smev.smev_report_create_register_processes
SET process_type = 2,
load_post_process = '8IRe1sYA',
process_description = 'Привязка файла ФНС по реестру',
load_id_var = ARRAY[
ROW('rj_id', 'Integer', 'step=3+id')::smev.ctx_var,
ROW('viewCode', 'String', 'n3mSokEw')::smev.ctx_var
],
active_task = true
WHERE id_etl = 40
AND id_process = 8;
COMMIT;
SELECT
id_process,
process_type,
load_post_process,
operation_type,
active_task
FROM smev.smev_report_create_register_processes
WHERE id_etl = 40
ORDER BY id_process;