diff --git a/UWVA/uwva_misc.sql b/UWVA/uwva_misc.sql index ec1995a59..25d811a2f 100644 --- a/UWVA/uwva_misc.sql +++ b/UWVA/uwva_misc.sql @@ -14654,357 +14654,357 @@ AS GROUP BY datum, ins_deel_key ORDER BY datum, ins_deel_key; --- UWVA#61083: Bewaartermijnen/automatische schoning! -CREATE OR REPLACE VIEW uwva_v_rap_bes_schoning -( - jaar, - bes_bestelling_key -) -AS - WITH b - AS (SELECT bes_bestelling_key, - bes_bestelling_datum, - COALESCE ( - fac.gettrackingdate ('BESREJ', bes_bestelling_key), - --fac.gettrackingdate ('BESXXX', bes_bestelling_key), -- key=257 (1x voor 164572 in 2012) - --fac.gettrackingdate ('BESINF', bes_bestelling_key), -- key=44 - fac.gettrackingdate ('BESOTV', bes_bestelling_key)) - gesloten - FROM bes_bestelling - WHERE bes_bestelling_status IN (1, 6, 7, 8, 9) -- Gesloten bestelling - AND bes_bestelling_datum < TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy')) -- Aangemaakt > 7 jaar geleden - SELECT TO_CHAR (b.bes_bestelling_datum, 'yyyy') jaar, bes_bestelling_key --COUNT ( * ) aantal - FROM b -- Gesloten bestellingen > 7 jaar geleden aangemaakt! - WHERE 1 = 1 --b.gesloten < TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy') -- Gesloten > 7 jaar geleden - --AND NOT EXISTS - -- (SELECT 1 - -- FROM bes_bestelling_item bbi, bes_bestelopdr_item boi, bes_bestelopdr bo - -- WHERE bbi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key - -- AND boi.bes_bestelopdr_key = bo.bes_bestelopdr_key - -- AND bo.bes_bestelopdr_status IN (2, 3, 4, 5) -- Lopende bestelopdracht - -- AND bbi.bes_bestelling_key = b.bes_bestelling_key) - AND NOT EXISTS -- Geen later gewijzigde child-bestelopdrachten! - (SELECT 1 - FROM fac_tracking t, fac_srtnotificatie sn, bes_bestelopdr_item boi, bes_bestelling_item bbi - WHERE t.fac_tracking_datum > TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy') - AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key - AND sn.fac_srtnotificatie_xmlnode = 'bestelopdracht' - AND t.fac_tracking_refkey = boi.bes_bestelopdr_key - AND boi.bes_bestelopdr_item_key = bbi.bes_bestelopdr_item_key - AND bbi.bes_bestelling_key = b.bes_bestelling_key) - AND NOT EXISTS -- Geen lopende facturen op child-bestelopdrachten! - (SELECT 1 - FROM fin_factuur f, bes_bestelopdr_item boi, bes_bestelling_item bbi - WHERE f.fin_factuur_statuses_key IN (2, 3, 5, 6) -- Lopende factuur - AND f.bes_bestelopdr_key = boi.bes_bestelopdr_key - AND boi.bes_bestelopdr_item_key = bbi.bes_bestelopdr_item_key - AND bbi.bes_bestelling_key = b.bes_bestelling_key); ---GROUP BY TO_CHAR (b.bes_bestelling_datum, 'yyyy'); - -CREATE OR REPLACE VIEW uwva_v_rap_bez_schoning -( - jaar, - bez_afspraak_key, - bezoekers -) -AS - WITH a - AS ( SELECT a.bez_afspraak_key, - a.bez_afspraak_datum, - COUNT (*) bezoekers - FROM bez_afspraak a, bez_bezoekers b - WHERE a.bez_afspraak_datum < TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy') -- Aangemaakt > 7 jaar geleden - AND a.bez_afspraak_key = b.bez_afspraak_key - GROUP BY a.bez_afspraak_key, a.bez_afspraak_datum) - SELECT TO_CHAR (a.bez_afspraak_datum, 'yyyy') jaar, bez_afspraak_key, bezoekers --COUNT ( * ) afspraken, SUM (bezoekers) bezoekers - FROM a; ---GROUP BY TO_CHAR (a.bez_afspraak_datum, 'yyyy'); - -CREATE OR REPLACE VIEW uwva_v_rap_res_schoning -( - jaar, - res_rsv_ruimte_key -) -AS - WITH r - AS (SELECT res_rsv_ruimte_key, - res_reservering_key, - res_rsv_ruimte_volgnr, - res_rsv_ruimte_tot - FROM res_rsv_ruimte - WHERE res_rsv_ruimte_tot < TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy')) -- Aangemaakt > 7 jaar geleden - SELECT TO_CHAR (res_rsv_ruimte_tot, 'yyyy') jaar, res_rsv_ruimte_key --COUNT ( * ) aantal - FROM r -- Reserveringen > 7 jaar geleden aangemaakt! - WHERE NOT EXISTS -- Geen latere child-reserveringen! - (SELECT 1 - FROM res_rsv_ruimte cr -- Child-reserveringen! - WHERE cr.res_rsv_ruimte_tot > TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy') - AND cr.res_reservering_key = r.res_reservering_key); ---GROUP BY TO_CHAR (res_rsv_ruimte_tot, 'yyyy'); - --- TODO: Periodieke meldingen/opdrachten niet beschouwen? --- TODO: Geantedateerde meldingen/opdrachten? -CREATE OR REPLACE VIEW uwva_v_rap_mld_schoning -( - jaar, - mld_melding_key -) -AS - WITH m - AS (SELECT mld_melding_key, - mld_melding_datum, - mld_melding_start_key, - mld_melding_parentkey, - COALESCE ( - fac.gettrackingdate ('MLDREJ', mld_melding_key), - fac.gettrackingdate ('MLDAFM', mld_melding_key), -- Soms niet Afgemeld? - fac.gettrackingdate ('MLDVER', mld_melding_key)) - gesloten - FROM mld_melding - WHERE mld_melding_status IN (1, 5, 6) -- Gesloten melding - AND mld_melding_datum < TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy')) -- Aangemaakt > 7 jaar geleden - SELECT TO_CHAR (m.mld_melding_datum, 'yyyy') jaar, mld_melding_key --COUNT ( * ) aantal - FROM m -- Gesloten meldingen > 7 jaar geleden aangemaakt! - WHERE m.gesloten < TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy') -- Gesloten > 7 jaar geleden - AND NOT EXISTS -- Geen later gewijzigde child-opdrachten! - (SELECT 1 - FROM fac_tracking t, fac_srtnotificatie sn, mld_opdr o - WHERE t.fac_tracking_datum > TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy') - AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key - AND sn.fac_srtnotificatie_xmlnode = 'opdracht' - AND t.fac_tracking_refkey = o.mld_opdr_key - AND o.mld_melding_key = m.mld_melding_key) - AND EXISTS -- Eventuele start-melding ook > 7 jaar gesloten! - (SELECT 1 - FROM m sm -- Start-meldingen! - WHERE sm.mld_melding_key = COALESCE (m.mld_melding_start_key, m.mld_melding_key)) - AND EXISTS -- Eventuele parent-melding ook > 7 jaar gesloten! - (SELECT 1 - FROM m pm -- Parent-meldingen! - WHERE pm.mld_melding_key = COALESCE (m.mld_melding_parentkey, m.mld_melding_key)) - AND NOT EXISTS -- Geen later aangemaakte child-meldingen! => Kan dat? - (SELECT 1 - FROM mld_melding cm -- Child-meldingen! - WHERE cm.mld_melding_datum > TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy') - AND cm.mld_melding_parentkey = m.mld_melding_key) - AND NOT EXISTS -- Geen lopende facturen op child-opdrachten! - (SELECT 1 - FROM fin_factuur f, mld_opdr o - WHERE f.fin_factuur_statuses_key IN (2, 3, 5, 6) -- Lopende factuur - AND f.mld_opdr_key = o.mld_opdr_key - AND o.mld_melding_key = m.mld_melding_key); ---GROUP BY TO_CHAR (m.mld_melding_datum, 'yyyy'); - -CREATE OR REPLACE VIEW uwva_v_rap_cnt_schoning -( - ins_discipline_key, - huur_jn, - contractsoort, - cnt_contract_key, - contractnr, - cnt_contract_omschrijving, - cnt_contract_looptijd_tot, - cnt_contract_status -) -AS - WITH c - AS (SELECT c.ins_discipline_key, - c.cnt_contract_key, - c.cnt_contract_nummer_intern, - c.cnt_contract_versie, - c.cnt_contract_omschrijving, - c.cnt_contract_verwijder, - c.cnt_contract_looptijd_tot, - c.cnt_contract_status, - c.cnt_contract_mantel_key, - cp.cnt_alg_plaats_key, - cp.cnt_alg_plaats_code - FROM cnt_contract c, cnt_contract_plaats cp - WHERE c.ins_discipline_key IN (198, 412) -- Huurcontracten/Mantel huurcontracten - AND c.cnt_contract_key = cp.cnt_contract_key(+)) - SELECT DISTINCT - c.ins_discipline_key, - 'J' huur_jn, - cd.ins_discipline_omschrijving, - c.cnt_contract_key, - c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || c.cnt_contract_versie) - contractnr, - c.cnt_contract_omschrijving, - c.cnt_contract_looptijd_tot, - c.cnt_contract_status -- c.cnt_alg_plaats_key, c.cnt_alg_plaats_code - FROM c, cnt_discipline cd - WHERE c.cnt_contract_looptijd_tot < TRUNC (ADD_MONTHS (SYSDATE, -120), 'yyyy') -- Verlopen > 10 jaar geleden - AND c.ins_discipline_key = cd.ins_discipline_key - AND NOT EXISTS -- Geen dossier-contract op dezelfde plaats <= 10 jaar geleden - (SELECT 1 - FROM c dc - WHERE dc.cnt_contract_verwijder IS NULL - AND dc.cnt_contract_looptijd_tot >= TRUNC (ADD_MONTHS (SYSDATE, -120), 'yyyy') - AND dc.cnt_alg_plaats_key = c.cnt_alg_plaats_key - AND dc.cnt_alg_plaats_code = c.cnt_alg_plaats_code) - AND NOT EXISTS -- Geen dossier-contract onder dezelfde mantel <= 10 jaar geleden - (SELECT 1 - FROM c dc - WHERE dc.cnt_contract_verwijder IS NULL - AND dc.cnt_contract_looptijd_tot >= TRUNC (ADD_MONTHS (SYSDATE, -120), 'yyyy') - AND dc.cnt_contract_mantel_key = c.cnt_contract_key) - AND NOT EXISTS -- Geen lopende facturen op contract! - (SELECT 1 - FROM fin_factuur - WHERE fin_factuur_statuses_key IN (2, 3, 5, 6) -- Lopende factuur - AND cnt_contract_key = c.cnt_contract_key) - UNION ALL - SELECT DISTINCT - c.ins_discipline_key, - 'N' huur_jn, - cd.ins_discipline_omschrijving, - c.cnt_contract_key, - c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || c.cnt_contract_versie) - contractnr, - c.cnt_contract_omschrijving, - c.cnt_contract_looptijd_tot, - c.cnt_contract_status - FROM cnt_contract c, cnt_discipline cd - WHERE c.cnt_contract_looptijd_tot < TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy') -- Verlopen > 7 jaar geleden - AND c.ins_discipline_key = cd.ins_discipline_key - AND cd.ins_discipline_key NOT IN (198, 412) -- Huurcontracten/Mantel huurcontracten - AND NOT EXISTS -- Geen dossier-contract onder dezelfde mantel <= 7 jaar geleden - (SELECT 1 - FROM cnt_contract dc - WHERE dc.cnt_contract_verwijder IS NULL - AND dc.cnt_contract_looptijd_tot >= TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy') - AND dc.cnt_contract_mantel_key = c.cnt_contract_key) - AND NOT EXISTS -- Geen lopende facturen op contract! - (SELECT 1 - FROM fin_factuur - WHERE fin_factuur_statuses_key IN (2, 3, 5, 6) -- Lopende factuur - AND cnt_contract_key = c.cnt_contract_key); - -CREATE OR REPLACE VIEW uwva_v_rap_auto_schoning -( - module, - jaar, - groepering_key, - aantal, - subaantal, - onderdeel_key, - onderdeel_id, - omschrijving -) -AS - SELECT 'BES', jaar, NULL ins_discipline_key, COUNT (*) aantal, NULL subaantal, NULL fac_key, NULL fac_id, NULL omschrijving - FROM uwva_v_rap_bes_schoning - GROUP BY 'BES', jaar - UNION ALL - SELECT 'BEZ', jaar, NULL ins_discipline_key, COUNT (*) aantal, SUM (bezoekers) subaantal, NULL fac_key, NULL fac_id, NULL omschrijving - FROM uwva_v_rap_bez_schoning - GROUP BY 'BEZ', jaar - UNION ALL - SELECT 'RES', jaar, NULL ins_discipline_key, COUNT (*) aantal, NULL subaantal, NULL fac_key, NULL fac_id, NULL omschrijving - FROM uwva_v_rap_res_schoning - GROUP BY 'RES', jaar - UNION ALL - SELECT 'MLD', jaar, NULL ins_discipline_key, COUNT (*) aantal, NULL subaantal, NULL fac_key, NULL fac_id, NULL omschrijving - FROM uwva_v_rap_mld_schoning - GROUP BY 'MLD', jaar - UNION ALL - SELECT 'CNT', TO_CHAR (cnt_contract_looptijd_tot, 'yyyy') jaar, ins_discipline_key, 1 aantal, NULL subaantal, cnt_contract_key fac_key, contractnr fac_id, cnt_contract_omschrijving omschrijving - FROM uwva_v_rap_cnt_schoning - WHERE ins_discipline_key IN (198, 412) - UNION ALL - SELECT 'CNT', TO_CHAR (cnt_contract_looptijd_tot, 'yyyy') jaar, ins_discipline_key, COUNT ( * ) aantal, NULL subaantal, NULL fac_key, NULL fac_id, NULL omschrijving - FROM uwva_v_rap_cnt_schoning - WHERE ins_discipline_key NOT IN (198, 412) - GROUP BY 'CNT', TO_CHAR (cnt_contract_looptijd_tot, 'yyyy'), ins_discipline_key -; - -CREATE OR REPLACE PROCEDURE uwva_daily -AS - CURSOR cbes - IS - SELECT bes_bestelling_key FROM uwva_v_rap_bes_schoning WHERE jaar <= '2005'; - - CURSOR cbez - IS - SELECT bez_afspraak_key FROM uwva_v_rap_bez_schoning WHERE jaar <= '2005'; - - CURSOR cres - IS - SELECT res_rsv_ruimte_key FROM uwva_v_rap_res_schoning WHERE jaar <= '2005'; - - CURSOR cmld - IS - SELECT mld_melding_key FROM uwva_v_rap_mld_schoning WHERE jaar <= '2005'; - - v_errormsg VARCHAR2 (1000); - oracle_err_num NUMBER; - oracle_err_mes VARCHAR2 (200); - v_count NUMBER (10); -BEGIN - IF TO_CHAR (SYSDATE, 'dd-mm-yyyy') = '01-03-2021' - THEN - v_count := 0; - FOR r IN cbes - LOOP - v_errormsg := 'Fout schonen bestellingen: ' || TO_CHAR (r.bes_bestelling_key); - mld.remove (r.bes_bestelling_key, 'BES'); - v_count := v_count + 1; - -- Elke 1000 meldingen een COMMIT! - IF MOD (v_count, 1000) = 0 THEN COMMIT; END IF; - END LOOP; - - fac.writelog ('DAILY', 'S', '#Bestellingen geschoond: ' || TO_CHAR (v_count), ''); - COMMIT; - - v_count := 0; - FOR r IN cbez - LOOP - v_errormsg := 'Fout schonen afspraken: ' || TO_CHAR (r.bez_afspraak_key); - mld.remove (r.bez_afspraak_key, 'BEZ'); - v_count := v_count + 1; - -- Elke 1000 meldingen een COMMIT! - IF MOD (v_count, 1000) = 0 THEN COMMIT; END IF; - END LOOP; - - fac.writelog ('DAILY', 'S', '#Afspraken geschoond: ' || TO_CHAR (v_count), ''); - COMMIT; - - v_count := 0; - FOR r IN cres - LOOP - v_errormsg := 'Fout schonen reserveringen: ' || TO_CHAR (r.res_rsv_ruimte_key); - mld.remove (r.res_rsv_ruimte_key, 'RES'); - v_count := v_count + 1; - -- Elke 1000 meldingen een COMMIT! - IF MOD (v_count, 1000) = 0 THEN COMMIT; END IF; - END LOOP; - - fac.writelog ('DAILY', 'S', '#Reserveringen geschoond: ' || TO_CHAR (v_count), ''); - COMMIT; - - v_count := 0; - FOR r IN cmld - LOOP - v_errormsg := 'Fout schonen meldingen: ' || TO_CHAR (r.mld_melding_key); - mld.remove (r.mld_melding_key, 'MLD'); - v_count := v_count + 1; - -- Elke 1000 meldingen een COMMIT! - IF MOD (v_count, 1000) = 0 THEN COMMIT; END IF; - END LOOP; - - fac.writelog ('DAILY', 'S', '#Meldingen geschoond: ' || TO_CHAR (v_count), ''); - COMMIT; - END IF; -EXCEPTION - WHEN OTHERS - THEN - oracle_err_num := SQLCODE; - oracle_err_mes := SUBSTR (SQLERRM, 1, 200); - v_errormsg := 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; - fac.writelog ('DAILY', 'E', 'Proces DAILY afgebroken!', v_errormsg); - COMMIT; -END; -/ +---- UWVA#61083: Bewaartermijnen/automatische schoning! +--CREATE OR REPLACE VIEW uwva_v_rap_bes_schoning +--( +-- jaar, +-- bes_bestelling_key +--) +--AS +-- WITH b +-- AS (SELECT bes_bestelling_key, +-- bes_bestelling_datum, +-- COALESCE ( +-- fac.gettrackingdate ('BESREJ', bes_bestelling_key), +-- --fac.gettrackingdate ('BESXXX', bes_bestelling_key), -- key=257 (1x voor 164572 in 2012) +-- --fac.gettrackingdate ('BESINF', bes_bestelling_key), -- key=44 +-- fac.gettrackingdate ('BESOTV', bes_bestelling_key)) +-- gesloten +-- FROM bes_bestelling +-- WHERE bes_bestelling_status IN (1, 6, 7, 8, 9) -- Gesloten bestelling +-- AND bes_bestelling_datum < TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy')) -- Aangemaakt > 7 jaar geleden +-- SELECT TO_CHAR (b.bes_bestelling_datum, 'yyyy') jaar, bes_bestelling_key --COUNT ( * ) aantal +-- FROM b -- Gesloten bestellingen > 7 jaar geleden aangemaakt! +-- WHERE 1 = 1 --b.gesloten < TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy') -- Gesloten > 7 jaar geleden +-- --AND NOT EXISTS +-- -- (SELECT 1 +-- -- FROM bes_bestelling_item bbi, bes_bestelopdr_item boi, bes_bestelopdr bo +-- -- WHERE bbi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key +-- -- AND boi.bes_bestelopdr_key = bo.bes_bestelopdr_key +-- -- AND bo.bes_bestelopdr_status IN (2, 3, 4, 5) -- Lopende bestelopdracht +-- -- AND bbi.bes_bestelling_key = b.bes_bestelling_key) +-- AND NOT EXISTS -- Geen later gewijzigde child-bestelopdrachten! +-- (SELECT 1 +-- FROM fac_tracking t, fac_srtnotificatie sn, bes_bestelopdr_item boi, bes_bestelling_item bbi +-- WHERE t.fac_tracking_datum > TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy') +-- AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key +-- AND sn.fac_srtnotificatie_xmlnode = 'bestelopdracht' +-- AND t.fac_tracking_refkey = boi.bes_bestelopdr_key +-- AND boi.bes_bestelopdr_item_key = bbi.bes_bestelopdr_item_key +-- AND bbi.bes_bestelling_key = b.bes_bestelling_key) +-- AND NOT EXISTS -- Geen lopende facturen op child-bestelopdrachten! +-- (SELECT 1 +-- FROM fin_factuur f, bes_bestelopdr_item boi, bes_bestelling_item bbi +-- WHERE f.fin_factuur_statuses_key IN (2, 3, 5, 6) -- Lopende factuur +-- AND f.bes_bestelopdr_key = boi.bes_bestelopdr_key +-- AND boi.bes_bestelopdr_item_key = bbi.bes_bestelopdr_item_key +-- AND bbi.bes_bestelling_key = b.bes_bestelling_key); +----GROUP BY TO_CHAR (b.bes_bestelling_datum, 'yyyy'); +-- +--CREATE OR REPLACE VIEW uwva_v_rap_bez_schoning +--( +-- jaar, +-- bez_afspraak_key, +-- bezoekers +--) +--AS +-- WITH a +-- AS ( SELECT a.bez_afspraak_key, +-- a.bez_afspraak_datum, +-- COUNT (*) bezoekers +-- FROM bez_afspraak a, bez_bezoekers b +-- WHERE a.bez_afspraak_datum < TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy') -- Aangemaakt > 7 jaar geleden +-- AND a.bez_afspraak_key = b.bez_afspraak_key +-- GROUP BY a.bez_afspraak_key, a.bez_afspraak_datum) +-- SELECT TO_CHAR (a.bez_afspraak_datum, 'yyyy') jaar, bez_afspraak_key, bezoekers --COUNT ( * ) afspraken, SUM (bezoekers) bezoekers +-- FROM a; +----GROUP BY TO_CHAR (a.bez_afspraak_datum, 'yyyy'); +-- +--CREATE OR REPLACE VIEW uwva_v_rap_res_schoning +--( +-- jaar, +-- res_rsv_ruimte_key +--) +--AS +-- WITH r +-- AS (SELECT res_rsv_ruimte_key, +-- res_reservering_key, +-- res_rsv_ruimte_volgnr, +-- res_rsv_ruimte_tot +-- FROM res_rsv_ruimte +-- WHERE res_rsv_ruimte_tot < TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy')) -- Aangemaakt > 7 jaar geleden +-- SELECT TO_CHAR (res_rsv_ruimte_tot, 'yyyy') jaar, res_rsv_ruimte_key --COUNT ( * ) aantal +-- FROM r -- Reserveringen > 7 jaar geleden aangemaakt! +-- WHERE NOT EXISTS -- Geen latere child-reserveringen! +-- (SELECT 1 +-- FROM res_rsv_ruimte cr -- Child-reserveringen! +-- WHERE cr.res_rsv_ruimte_tot > TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy') +-- AND cr.res_reservering_key = r.res_reservering_key); +----GROUP BY TO_CHAR (res_rsv_ruimte_tot, 'yyyy'); +-- +---- TODO: Periodieke meldingen/opdrachten niet beschouwen? +---- TODO: Geantedateerde meldingen/opdrachten? +--CREATE OR REPLACE VIEW uwva_v_rap_mld_schoning +--( +-- jaar, +-- mld_melding_key +--) +--AS +-- WITH m +-- AS (SELECT mld_melding_key, +-- mld_melding_datum, +-- mld_melding_start_key, +-- mld_melding_parentkey, +-- COALESCE ( +-- fac.gettrackingdate ('MLDREJ', mld_melding_key), +-- fac.gettrackingdate ('MLDAFM', mld_melding_key), -- Soms niet Afgemeld? +-- fac.gettrackingdate ('MLDVER', mld_melding_key)) +-- gesloten +-- FROM mld_melding +-- WHERE mld_melding_status IN (1, 5, 6) -- Gesloten melding +-- AND mld_melding_datum < TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy')) -- Aangemaakt > 7 jaar geleden +-- SELECT TO_CHAR (m.mld_melding_datum, 'yyyy') jaar, mld_melding_key --COUNT ( * ) aantal +-- FROM m -- Gesloten meldingen > 7 jaar geleden aangemaakt! +-- WHERE m.gesloten < TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy') -- Gesloten > 7 jaar geleden +-- AND NOT EXISTS -- Geen later gewijzigde child-opdrachten! +-- (SELECT 1 +-- FROM fac_tracking t, fac_srtnotificatie sn, mld_opdr o +-- WHERE t.fac_tracking_datum > TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy') +-- AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key +-- AND sn.fac_srtnotificatie_xmlnode = 'opdracht' +-- AND t.fac_tracking_refkey = o.mld_opdr_key +-- AND o.mld_melding_key = m.mld_melding_key) +-- AND EXISTS -- Eventuele start-melding ook > 7 jaar gesloten! +-- (SELECT 1 +-- FROM m sm -- Start-meldingen! +-- WHERE sm.mld_melding_key = COALESCE (m.mld_melding_start_key, m.mld_melding_key)) +-- AND EXISTS -- Eventuele parent-melding ook > 7 jaar gesloten! +-- (SELECT 1 +-- FROM m pm -- Parent-meldingen! +-- WHERE pm.mld_melding_key = COALESCE (m.mld_melding_parentkey, m.mld_melding_key)) +-- AND NOT EXISTS -- Geen later aangemaakte child-meldingen! => Kan dat? +-- (SELECT 1 +-- FROM mld_melding cm -- Child-meldingen! +-- WHERE cm.mld_melding_datum > TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy') +-- AND cm.mld_melding_parentkey = m.mld_melding_key) +-- AND NOT EXISTS -- Geen lopende facturen op child-opdrachten! +-- (SELECT 1 +-- FROM fin_factuur f, mld_opdr o +-- WHERE f.fin_factuur_statuses_key IN (2, 3, 5, 6) -- Lopende factuur +-- AND f.mld_opdr_key = o.mld_opdr_key +-- AND o.mld_melding_key = m.mld_melding_key); +----GROUP BY TO_CHAR (m.mld_melding_datum, 'yyyy'); +-- +--CREATE OR REPLACE VIEW uwva_v_rap_cnt_schoning +--( +-- ins_discipline_key, +-- huur_jn, +-- contractsoort, +-- cnt_contract_key, +-- contractnr, +-- cnt_contract_omschrijving, +-- cnt_contract_looptijd_tot, +-- cnt_contract_status +--) +--AS +-- WITH c +-- AS (SELECT c.ins_discipline_key, +-- c.cnt_contract_key, +-- c.cnt_contract_nummer_intern, +-- c.cnt_contract_versie, +-- c.cnt_contract_omschrijving, +-- c.cnt_contract_verwijder, +-- c.cnt_contract_looptijd_tot, +-- c.cnt_contract_status, +-- c.cnt_contract_mantel_key, +-- cp.cnt_alg_plaats_key, +-- cp.cnt_alg_plaats_code +-- FROM cnt_contract c, cnt_contract_plaats cp +-- WHERE c.ins_discipline_key IN (198, 412) -- Huurcontracten/Mantel huurcontracten +-- AND c.cnt_contract_key = cp.cnt_contract_key(+)) +-- SELECT DISTINCT +-- c.ins_discipline_key, +-- 'J' huur_jn, +-- cd.ins_discipline_omschrijving, +-- c.cnt_contract_key, +-- c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || c.cnt_contract_versie) +-- contractnr, +-- c.cnt_contract_omschrijving, +-- c.cnt_contract_looptijd_tot, +-- c.cnt_contract_status -- c.cnt_alg_plaats_key, c.cnt_alg_plaats_code +-- FROM c, cnt_discipline cd +-- WHERE c.cnt_contract_looptijd_tot < TRUNC (ADD_MONTHS (SYSDATE, -120), 'yyyy') -- Verlopen > 10 jaar geleden +-- AND c.ins_discipline_key = cd.ins_discipline_key +-- AND NOT EXISTS -- Geen dossier-contract op dezelfde plaats <= 10 jaar geleden +-- (SELECT 1 +-- FROM c dc +-- WHERE dc.cnt_contract_verwijder IS NULL +-- AND dc.cnt_contract_looptijd_tot >= TRUNC (ADD_MONTHS (SYSDATE, -120), 'yyyy') +-- AND dc.cnt_alg_plaats_key = c.cnt_alg_plaats_key +-- AND dc.cnt_alg_plaats_code = c.cnt_alg_plaats_code) +-- AND NOT EXISTS -- Geen dossier-contract onder dezelfde mantel <= 10 jaar geleden +-- (SELECT 1 +-- FROM c dc +-- WHERE dc.cnt_contract_verwijder IS NULL +-- AND dc.cnt_contract_looptijd_tot >= TRUNC (ADD_MONTHS (SYSDATE, -120), 'yyyy') +-- AND dc.cnt_contract_mantel_key = c.cnt_contract_key) +-- AND NOT EXISTS -- Geen lopende facturen op contract! +-- (SELECT 1 +-- FROM fin_factuur +-- WHERE fin_factuur_statuses_key IN (2, 3, 5, 6) -- Lopende factuur +-- AND cnt_contract_key = c.cnt_contract_key) +-- UNION ALL +-- SELECT DISTINCT +-- c.ins_discipline_key, +-- 'N' huur_jn, +-- cd.ins_discipline_omschrijving, +-- c.cnt_contract_key, +-- c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || c.cnt_contract_versie) +-- contractnr, +-- c.cnt_contract_omschrijving, +-- c.cnt_contract_looptijd_tot, +-- c.cnt_contract_status +-- FROM cnt_contract c, cnt_discipline cd +-- WHERE c.cnt_contract_looptijd_tot < TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy') -- Verlopen > 7 jaar geleden +-- AND c.ins_discipline_key = cd.ins_discipline_key +-- AND cd.ins_discipline_key NOT IN (198, 412) -- Huurcontracten/Mantel huurcontracten +-- AND NOT EXISTS -- Geen dossier-contract onder dezelfde mantel <= 7 jaar geleden +-- (SELECT 1 +-- FROM cnt_contract dc +-- WHERE dc.cnt_contract_verwijder IS NULL +-- AND dc.cnt_contract_looptijd_tot >= TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy') +-- AND dc.cnt_contract_mantel_key = c.cnt_contract_key) +-- AND NOT EXISTS -- Geen lopende facturen op contract! +-- (SELECT 1 +-- FROM fin_factuur +-- WHERE fin_factuur_statuses_key IN (2, 3, 5, 6) -- Lopende factuur +-- AND cnt_contract_key = c.cnt_contract_key); +-- +--CREATE OR REPLACE VIEW uwva_v_rap_auto_schoning +--( +-- module, +-- jaar, +-- groepering_key, +-- aantal, +-- subaantal, +-- onderdeel_key, +-- onderdeel_id, +-- omschrijving +--) +--AS +-- SELECT 'BES', jaar, NULL ins_discipline_key, COUNT (*) aantal, NULL subaantal, NULL fac_key, NULL fac_id, NULL omschrijving +-- FROM uwva_v_rap_bes_schoning +-- GROUP BY 'BES', jaar +-- UNION ALL +-- SELECT 'BEZ', jaar, NULL ins_discipline_key, COUNT (*) aantal, SUM (bezoekers) subaantal, NULL fac_key, NULL fac_id, NULL omschrijving +-- FROM uwva_v_rap_bez_schoning +-- GROUP BY 'BEZ', jaar +-- UNION ALL +-- SELECT 'RES', jaar, NULL ins_discipline_key, COUNT (*) aantal, NULL subaantal, NULL fac_key, NULL fac_id, NULL omschrijving +-- FROM uwva_v_rap_res_schoning +-- GROUP BY 'RES', jaar +-- UNION ALL +-- SELECT 'MLD', jaar, NULL ins_discipline_key, COUNT (*) aantal, NULL subaantal, NULL fac_key, NULL fac_id, NULL omschrijving +-- FROM uwva_v_rap_mld_schoning +-- GROUP BY 'MLD', jaar +-- UNION ALL +-- SELECT 'CNT', TO_CHAR (cnt_contract_looptijd_tot, 'yyyy') jaar, ins_discipline_key, 1 aantal, NULL subaantal, cnt_contract_key fac_key, contractnr fac_id, cnt_contract_omschrijving omschrijving +-- FROM uwva_v_rap_cnt_schoning +-- WHERE ins_discipline_key IN (198, 412) +-- UNION ALL +-- SELECT 'CNT', TO_CHAR (cnt_contract_looptijd_tot, 'yyyy') jaar, ins_discipline_key, COUNT ( * ) aantal, NULL subaantal, NULL fac_key, NULL fac_id, NULL omschrijving +-- FROM uwva_v_rap_cnt_schoning +-- WHERE ins_discipline_key NOT IN (198, 412) +-- GROUP BY 'CNT', TO_CHAR (cnt_contract_looptijd_tot, 'yyyy'), ins_discipline_key +--; +-- +--CREATE OR REPLACE PROCEDURE uwva_daily +--AS +-- CURSOR cbes +-- IS +-- SELECT bes_bestelling_key FROM uwva_v_rap_bes_schoning WHERE jaar <= '2005'; +-- +-- CURSOR cbez +-- IS +-- SELECT bez_afspraak_key FROM uwva_v_rap_bez_schoning WHERE jaar <= '2005'; +-- +-- CURSOR cres +-- IS +-- SELECT res_rsv_ruimte_key FROM uwva_v_rap_res_schoning WHERE jaar <= '2005'; +-- +-- CURSOR cmld +-- IS +-- SELECT mld_melding_key FROM uwva_v_rap_mld_schoning WHERE jaar <= '2005'; +-- +-- v_errormsg VARCHAR2 (1000); +-- oracle_err_num NUMBER; +-- oracle_err_mes VARCHAR2 (200); +-- v_count NUMBER (10); +--BEGIN +-- IF TO_CHAR (SYSDATE, 'dd-mm-yyyy') = '01-03-2021' +-- THEN +-- v_count := 0; +-- FOR r IN cbes +-- LOOP +-- v_errormsg := 'Fout schonen bestellingen: ' || TO_CHAR (r.bes_bestelling_key); +-- mld.remove (r.bes_bestelling_key, 'BES'); +-- v_count := v_count + 1; +-- -- Elke 1000 meldingen een COMMIT! +-- IF MOD (v_count, 1000) = 0 THEN COMMIT; END IF; +-- END LOOP; +-- +-- fac.writelog ('DAILY', 'S', '#Bestellingen geschoond: ' || TO_CHAR (v_count), ''); +-- COMMIT; +-- +-- v_count := 0; +-- FOR r IN cbez +-- LOOP +-- v_errormsg := 'Fout schonen afspraken: ' || TO_CHAR (r.bez_afspraak_key); +-- mld.remove (r.bez_afspraak_key, 'BEZ'); +-- v_count := v_count + 1; +-- -- Elke 1000 meldingen een COMMIT! +-- IF MOD (v_count, 1000) = 0 THEN COMMIT; END IF; +-- END LOOP; +-- +-- fac.writelog ('DAILY', 'S', '#Afspraken geschoond: ' || TO_CHAR (v_count), ''); +-- COMMIT; +-- +-- v_count := 0; +-- FOR r IN cres +-- LOOP +-- v_errormsg := 'Fout schonen reserveringen: ' || TO_CHAR (r.res_rsv_ruimte_key); +-- mld.remove (r.res_rsv_ruimte_key, 'RES'); +-- v_count := v_count + 1; +-- -- Elke 1000 meldingen een COMMIT! +-- IF MOD (v_count, 1000) = 0 THEN COMMIT; END IF; +-- END LOOP; +-- +-- fac.writelog ('DAILY', 'S', '#Reserveringen geschoond: ' || TO_CHAR (v_count), ''); +-- COMMIT; +-- +-- v_count := 0; +-- FOR r IN cmld +-- LOOP +-- v_errormsg := 'Fout schonen meldingen: ' || TO_CHAR (r.mld_melding_key); +-- mld.remove (r.mld_melding_key, 'MLD'); +-- v_count := v_count + 1; +-- -- Elke 1000 meldingen een COMMIT! +-- IF MOD (v_count, 1000) = 0 THEN COMMIT; END IF; +-- END LOOP; +-- +-- fac.writelog ('DAILY', 'S', '#Meldingen geschoond: ' || TO_CHAR (v_count), ''); +-- COMMIT; +-- END IF; +--EXCEPTION +-- WHEN OTHERS +-- THEN +-- oracle_err_num := SQLCODE; +-- oracle_err_mes := SUBSTR (SQLERRM, 1, 200); +-- v_errormsg := 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; +-- fac.writelog ('DAILY', 'E', 'Proces DAILY afgebroken!', v_errormsg); +-- COMMIT; +--END; +--/ ------ payload end ------