RWSN#62233 M2M+RWSN#62462 Verwijderen reserveringen in bulk (vervallen)

svn path=/Customer/; revision=46867
This commit is contained in:
Maarten van der Heide
2020-05-19 17:12:48 +00:00
parent b4fa2e8ef8
commit dce584081e

View File

@@ -113,7 +113,8 @@ INSERT INTO mld_stdmelding (mld_stdmelding_key,
FROM mld_stdmelding
WHERE mld_stdmelding_key IN (11961, 11761) -- Key in resp. P- en T-omgeving!
AND TRIM (mld_stdmelding_upper) = 'E-MAIL ALGEMEEN'
AND EXISTS (SELECT 1 FROM ins_tab_discipline WHERE ins_discipline_key = 941);
AND EXISTS (SELECT 1 FROM ins_tab_discipline WHERE ins_discipline_key = 941)
AND NOT EXISTS (SELECT 1 FROM mld_stdmelding WHERE mld_stdmelding_key = 11962);
COMMIT;
-- c_digin_stdmld_key NUMBER (10) := 11963; -- Soortmelding=11963=E-mail Algemeen onder Vakgroep=3221=MP-EBF DigiInkoop onder Vakgroeptype=3=KCC!
@@ -212,9 +213,165 @@ INSERT INTO mld_stdmelding (mld_stdmelding_key,
FROM mld_stdmelding
WHERE mld_stdmelding_key IN (11961, 11761) -- Key in resp. P- en T-omgeving!
AND TRIM (mld_stdmelding_upper) = 'E-MAIL ALGEMEEN'
AND EXISTS (SELECT 1 FROM ins_tab_discipline WHERE ins_discipline_key = 3221);
AND EXISTS (SELECT 1 FROM ins_tab_discipline WHERE ins_discipline_key = 3221)
AND NOT EXISTS (SELECT 1 FROM mld_stdmelding WHERE mld_stdmelding_key = 11963);
COMMIT;
/*
-- RWSN#62462: Verwijderen van alle [a] ruimtereserveringen (incl. artikelen
-- en voorzieningen) en [b] "losse" artikelreserveringen (zonder
-- voorzieningen) tot 1 september.
SET SERVEROUTPUT ON size 1000000;
-- Uitschakelen RESDEL-notificatie per mail!
UPDATE fac_srtnotificatie
SET fac_srtnotificatie_mode = fac_srtnotificatie_mode - 2
WHERE fac_srtnotificatie_key = 38 -- RESDEL
AND BITAND (fac_srtnotificatie_mode, 2) > 0;
COMMIT;
DECLARE
CURSOR c_res
IS
SELECT '[' || TO_CHAR (rrr.res_reservering_key) || '/' || TO_CHAR (rrr.res_rsv_ruimte_volgnr) || '] ' aanduiding,
rrr.res_rsv_ruimte_van,
rrr.res_rsv_ruimte_tot,
rrr.res_reservering_key,
rrr.res_rsv_ruimte_key
FROM res_v_aanwezigrsv_ruimte rrr
WHERE rrr.res_ruimte_opstel_key IS NOT NULL -- Ruimtereservering
AND rrr.res_rsv_ruimte_van > TRUNC (SYSDATE)
AND rrr.res_rsv_ruimte_van < TO_DATE ('01-09-2020', 'dd-mm-yyyy')
ORDER BY 2, 4, 5;
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_count NUMBER;
BEGIN
v_count := 0;
FOR rec IN c_res
LOOP
BEGIN
--DELETE FROM bez_bezoekers WHERE bez_afspraak_key IN (SELECT ba.bez_afspraak_key FROM bez_afspraak ba WHERE ba.res_rsv_ruimte_key = rec.res_rsv_ruimte_key);
DELETE FROM bez_bezoekers b WHERE EXISTS (SELECT 1 FROM bez_afspraak WHERE bez_afspraak_key = b.bez_afspraak_key AND res_rsv_ruimte_key = rec.res_rsv_ruimte_key);
DELETE FROM bez_afspraak WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
UPDATE res_rsv_ruimte
SET res_rsv_ruimte_opmerking = 'Reservering i.v.m. COVID-19 in bulk verwijderd',
res_status_fo_key = 1, -- TODO:Waarom gebeurt dit in de core?
res_rsv_ruimte_verwijder = SYSDATE
WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
--res.set_ruimte_dirty (rec.res_rsv_ruimte_key);
--res.set_ruimtes_clean (TRUNC (rec.res_rsv_ruimte_van));
--res.follow_artikel (rec.res_rsv_ruimte_key, TRUNC (rec.res_rsv_ruimte_van), TRUNC (rec.res_rsv_ruimte_tot));
--res.follow_deel (rec.res_rsv_ruimte_key, TRUNC (rec.res_rsv_ruimte_van), TRUNC (rec.res_rsv_ruimte_tot));
fac.trackaction ('RESDEL', rec.res_rsv_ruimte_key, NULL, NULL, NULL);
UPDATE res_reservering
SET res_reservering_verwijder = SYSDATE
WHERE res_reservering_key = rec.res_reservering_key
AND NOT EXISTS (SELECT * FROM res_v_aanwezigrsv_ruimte WHERE res_reservering_key = rec.res_reservering_key);
v_count := v_count + 1;
IF MOD (v_count, 500) = 0
THEN
COMMIT;
END IF;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
DBMS_OUTPUT.PUT_LINE ('W: ' || rec.aanduiding || v_errormsg);
COMMIT;
END;
END LOOP;
DBMS_OUTPUT.PUT_LINE ('S: ' || TO_CHAR (v_count) || ' ruimtereserveringen verwijderd');
COMMIT;
END;
/
DECLARE
CURSOR c_res
IS
SELECT '[' || TO_CHAR (rrr.res_reservering_key) || '/' || TO_CHAR (rrr.res_rsv_ruimte_volgnr) || '] ' aanduiding,
rrr.res_rsv_ruimte_van,
rrr.res_rsv_ruimte_tot,
rrr.res_reservering_key,
rrr.res_rsv_ruimte_key
FROM res_v_aanwezigrsv_ruimte rrr
WHERE rrr.res_ruimte_opstel_key IS NULL -- Losse reservering
AND rrr.res_rsv_ruimte_van > TRUNC (SYSDATE)
AND rrr.res_rsv_ruimte_van < TO_DATE ('01-09-2020', 'dd-mm-yyyy')
AND EXISTS (SELECT 1 FROM res_v_aanwezigrsv_artikel WHERE res_rsv_ruimte_key = rrr.res_rsv_ruimte_key)
AND NOT EXISTS (SELECT 1 FROM res_v_aanwezigrsv_deel WHERE res_rsv_ruimte_key = rrr.res_rsv_ruimte_key)
ORDER BY 2, 4, 5;
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_count NUMBER;
BEGIN
v_count := 0;
FOR rec IN c_res
LOOP
BEGIN
--DELETE FROM bez_bezoekers WHERE bez_afspraak_key IN (SELECT ba.bez_afspraak_key FROM bez_afspraak ba WHERE ba.res_rsv_ruimte_key = rec.res_rsv_ruimte_key);
DELETE FROM bez_bezoekers b WHERE EXISTS (SELECT 1 FROM bez_afspraak WHERE bez_afspraak_key = b.bez_afspraak_key AND res_rsv_ruimte_key = rec.res_rsv_ruimte_key);
DELETE FROM bez_afspraak WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key ;
UPDATE res_rsv_ruimte
SET res_rsv_ruimte_opmerking = 'Reservering i.v.m. COVID-19 in bulk verwijderd',
res_status_fo_key = 1, -- TODO:Waarom gebeurt dit in de core?
res_rsv_ruimte_verwijder = SYSDATE
WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
--res.set_ruimte_dirty (rec.res_rsv_ruimte_key);
--res.set_ruimtes_clean (TRUNC (rec.res_rsv_ruimte_van));
--res.follow_artikel (rec.res_rsv_ruimte_key, TRUNC (rec.res_rsv_ruimte_van), TRUNC (rec.res_rsv_ruimte_tot));
--res.follow_deel (rec.res_rsv_ruimte_key, TRUNC (rec.res_rsv_ruimte_van), TRUNC (rec.res_rsv_ruimte_tot));
fac.trackaction ('RESDEL', rec.res_rsv_ruimte_key, NULL, NULL, NULL);
UPDATE res_reservering
SET res_reservering_verwijder = SYSDATE
WHERE res_reservering_key = rec.res_reservering_key
AND NOT EXISTS (SELECT * FROM res_v_aanwezigrsv_ruimte WHERE res_reservering_key = rec.res_reservering_key);
v_count := v_count + 1;
IF MOD (v_count, 500) = 0
THEN
COMMIT;
END IF;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
DBMS_OUTPUT.PUT_LINE ('W: ' || rec.aanduiding || v_errormsg);
COMMIT;
END;
END LOOP;
DBMS_OUTPUT.PUT_LINE ('S: ' || TO_CHAR (v_count) || ' losse reserveringen verwijderd');
COMMIT;
END;
/
-- Aanschakelen RESDEL-notificatie per mail!
UPDATE fac_srtnotificatie
SET fac_srtnotificatie_mode = fac_srtnotificatie_mode + 2
WHERE fac_srtnotificatie_key = 38 -- RESDEL
AND BITAND (fac_srtnotificatie_mode, 2) = 0;
COMMIT;
*/
------ payload end ------
SET DEFINE OFF