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;