Загрузка данных


BEGIN;

UPDATE report.conf_scheduler_sfr
SET is_active = true
WHERE id = 40;

SELECT schedule.activate_job(44);
SELECT schedule.activate_job(45);

COMMIT;




SELECT
    c.id,
    c.name,
    c.rule->>'crontab' AS crontab,
    c.active,
    c.broken
FROM schedule.get_cron() c
WHERE c.id IN (44, 45)
ORDER BY c.id;


WITH picked AS MATERIALIZED (
    SELECT DISTINCT ON (c.id)
        c.id AS contract_id,
        c.number AS contract_number,
        atc.id AS application_id,
        atc."date" AS original_date
    FROM ourpension.contract c
    JOIN ourpension.sharer sh
        ON sh.contract_id = c.id
    JOIN ourpension.application_termination_contract atc
        ON atc.sharer_id = sh.id
    WHERE c.id IN (13687807, 13644952, 13687399)
      AND NOT EXISTS (
          SELECT 1
          FROM ourpension.year_tax_deduction td
          WHERE td.application_termination_contract_id = atc.id
            AND td.type IN ('RECEIVED', 'NOT_RECEIVED')
      )
    ORDER BY c.id, atc."date" DESC, atc.id DESC
)
UPDATE ourpension.application_termination_contract atc
SET "date" = current_date
FROM picked p
WHERE atc.id = p.application_id
  AND (SELECT count(*) FROM picked) = 3
RETURNING
    p.contract_id,
    p.contract_number,
    atc.id AS application_id,
    p.original_date,
    atc."date" AS test_date;