388 lines
17 KiB
SQL
388 lines
17 KiB
SQL
--
|
||
-- $Id$
|
||
--
|
||
-- Customer specific once-script RWSN67.
|
||
DEFINE thisfile = 'RWSN67.SQL'
|
||
DEFINE dbuser = '^RWSN'
|
||
|
||
SET ECHO ON
|
||
SET DEFINE ON
|
||
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
||
WHENEVER SQLERROR EXIT;
|
||
SELECT adm.scriptspoolfile('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
|
||
WHENEVER SQLERROR CONTINUE;
|
||
SPOOL &fcltlogfile
|
||
SET DEFINE OFF
|
||
|
||
------ payload begin ------
|
||
|
||
-- RWSN#62233: Aanmaken Soortmelding='E-mail Algemeen' onder Vakgroepen 'MP-EBF Workforce' en 'MP-EBF DigiInkoop'!
|
||
-- c_esize_stdmld_key NUMBER (10) := 11962; -- Soortmelding=11962=E-mail Algemeen onder Vakgroep=941=MP-EBF Workforce onder Vakgroeptype=3=KCC!
|
||
INSERT INTO mld_stdmelding (mld_stdmelding_key,
|
||
mld_ins_discipline_key,
|
||
mld_stdmelding_omschrijving,
|
||
mld_stdmelding_notfrontend,
|
||
alg_onrgoed_niveau,
|
||
prs_kostensoort_key,
|
||
mld_stdmelding_notify,
|
||
mld_stdmelding_planbaar,
|
||
mld_stdmelding_freetext,
|
||
mld_stdmelding_hint,
|
||
mld_stdmelding_autoorder,
|
||
mld_stdmelding_vereisdienst,
|
||
prs_dienst_key,
|
||
mld_typeopdr_key,
|
||
mld_stdmelding_regime,
|
||
mld_stdmelding_malus,
|
||
mld_stdmelding_image,
|
||
mld_stdmelding_afmeldtext,
|
||
mld_stdmelding_volgnr,
|
||
mld_stdmelding_prseigen,
|
||
mld_stdmelding_doublecheck,
|
||
mld_stdmelding_kopieerbaar,
|
||
mld_stdmelding_kto,
|
||
bes_ins_discipline_key,
|
||
mld_stdmelding_vervaldatum,
|
||
mld_stdmelding_opdrtypevast,
|
||
mld_stdmeldinggroep_key,
|
||
mld_stdmelding_directklaar,
|
||
mld_stdmelding_slabewaken,
|
||
alg_onrgoed_obj_niveau,
|
||
mld_stdmelding_kanverwijzen,
|
||
mld_stdmelding_afhankelijk,
|
||
alg_org_obj_niveau,
|
||
mld_stdmelding_t_accepttijd,
|
||
mld_stdmelding_t_uitvoertijd,
|
||
mld_stdmelding_t_uitvtijd_pr1,
|
||
mld_stdmelding_t_uitvtijd_pr2,
|
||
mld_stdmelding_t_uitvtijd_pr4,
|
||
mld_stdmelding_malusbasis,
|
||
mld_stdmelding_externurl,
|
||
mld_stdmelding_enddate_empty,
|
||
mld_stdmelding_autoorderamount,
|
||
mld_stdmelding_prsafdobj,
|
||
ins_srtinst_verplichtstatus,
|
||
mld_stdmelding_code,
|
||
mld_stdmelding_default_disc)
|
||
SELECT 11962, -- Uitgezochte vrije Soortmelding-key in P- <20>n T-omgeving!
|
||
941, -- Vakgroep-key 'MP-EBF Workforce'!
|
||
mld_stdmelding_omschrijving,
|
||
mld_stdmelding_notfrontend,
|
||
alg_onrgoed_niveau,
|
||
prs_kostensoort_key,
|
||
mld_stdmelding_notify,
|
||
mld_stdmelding_planbaar,
|
||
mld_stdmelding_freetext,
|
||
mld_stdmelding_hint,
|
||
mld_stdmelding_autoorder,
|
||
mld_stdmelding_vereisdienst,
|
||
prs_dienst_key,
|
||
mld_typeopdr_key,
|
||
mld_stdmelding_regime,
|
||
mld_stdmelding_malus,
|
||
mld_stdmelding_image,
|
||
mld_stdmelding_afmeldtext,
|
||
mld_stdmelding_volgnr,
|
||
mld_stdmelding_prseigen,
|
||
mld_stdmelding_doublecheck,
|
||
mld_stdmelding_kopieerbaar,
|
||
mld_stdmelding_kto,
|
||
bes_ins_discipline_key,
|
||
mld_stdmelding_vervaldatum,
|
||
mld_stdmelding_opdrtypevast,
|
||
mld_stdmeldinggroep_key,
|
||
mld_stdmelding_directklaar,
|
||
mld_stdmelding_slabewaken,
|
||
alg_onrgoed_obj_niveau,
|
||
mld_stdmelding_kanverwijzen,
|
||
mld_stdmelding_afhankelijk,
|
||
alg_org_obj_niveau,
|
||
mld_stdmelding_t_accepttijd,
|
||
mld_stdmelding_t_uitvoertijd,
|
||
mld_stdmelding_t_uitvtijd_pr1,
|
||
mld_stdmelding_t_uitvtijd_pr2,
|
||
mld_stdmelding_t_uitvtijd_pr4,
|
||
mld_stdmelding_malusbasis,
|
||
mld_stdmelding_externurl,
|
||
mld_stdmelding_enddate_empty,
|
||
mld_stdmelding_autoorderamount,
|
||
mld_stdmelding_prsafdobj,
|
||
ins_srtinst_verplichtstatus,
|
||
mld_stdmelding_code,
|
||
mld_stdmelding_default_disc
|
||
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 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!
|
||
INSERT INTO mld_stdmelding (mld_stdmelding_key,
|
||
mld_ins_discipline_key,
|
||
mld_stdmelding_omschrijving,
|
||
mld_stdmelding_notfrontend,
|
||
alg_onrgoed_niveau,
|
||
prs_kostensoort_key,
|
||
mld_stdmelding_notify,
|
||
mld_stdmelding_planbaar,
|
||
mld_stdmelding_freetext,
|
||
mld_stdmelding_hint,
|
||
mld_stdmelding_autoorder,
|
||
mld_stdmelding_vereisdienst,
|
||
prs_dienst_key,
|
||
mld_typeopdr_key,
|
||
mld_stdmelding_regime,
|
||
mld_stdmelding_malus,
|
||
mld_stdmelding_image,
|
||
mld_stdmelding_afmeldtext,
|
||
mld_stdmelding_volgnr,
|
||
mld_stdmelding_prseigen,
|
||
mld_stdmelding_doublecheck,
|
||
mld_stdmelding_kopieerbaar,
|
||
mld_stdmelding_kto,
|
||
bes_ins_discipline_key,
|
||
mld_stdmelding_vervaldatum,
|
||
mld_stdmelding_opdrtypevast,
|
||
mld_stdmeldinggroep_key,
|
||
mld_stdmelding_directklaar,
|
||
mld_stdmelding_slabewaken,
|
||
alg_onrgoed_obj_niveau,
|
||
mld_stdmelding_kanverwijzen,
|
||
mld_stdmelding_afhankelijk,
|
||
alg_org_obj_niveau,
|
||
mld_stdmelding_t_accepttijd,
|
||
mld_stdmelding_t_uitvoertijd,
|
||
mld_stdmelding_t_uitvtijd_pr1,
|
||
mld_stdmelding_t_uitvtijd_pr2,
|
||
mld_stdmelding_t_uitvtijd_pr4,
|
||
mld_stdmelding_malusbasis,
|
||
mld_stdmelding_externurl,
|
||
mld_stdmelding_enddate_empty,
|
||
mld_stdmelding_autoorderamount,
|
||
mld_stdmelding_prsafdobj,
|
||
ins_srtinst_verplichtstatus,
|
||
mld_stdmelding_code,
|
||
mld_stdmelding_default_disc)
|
||
SELECT 11963, -- Uitgezochte vrije Soortmelding-key in P- <20>n T-omgeving!
|
||
3221, -- Vakgroep-key 'MP-EBF Digiinkoop'!
|
||
mld_stdmelding_omschrijving,
|
||
mld_stdmelding_notfrontend,
|
||
alg_onrgoed_niveau,
|
||
prs_kostensoort_key,
|
||
mld_stdmelding_notify,
|
||
mld_stdmelding_planbaar,
|
||
mld_stdmelding_freetext,
|
||
mld_stdmelding_hint,
|
||
mld_stdmelding_autoorder,
|
||
mld_stdmelding_vereisdienst,
|
||
prs_dienst_key,
|
||
mld_typeopdr_key,
|
||
mld_stdmelding_regime,
|
||
mld_stdmelding_malus,
|
||
mld_stdmelding_image,
|
||
mld_stdmelding_afmeldtext,
|
||
mld_stdmelding_volgnr,
|
||
mld_stdmelding_prseigen,
|
||
mld_stdmelding_doublecheck,
|
||
mld_stdmelding_kopieerbaar,
|
||
mld_stdmelding_kto,
|
||
bes_ins_discipline_key,
|
||
mld_stdmelding_vervaldatum,
|
||
mld_stdmelding_opdrtypevast,
|
||
mld_stdmeldinggroep_key,
|
||
mld_stdmelding_directklaar,
|
||
mld_stdmelding_slabewaken,
|
||
alg_onrgoed_obj_niveau,
|
||
mld_stdmelding_kanverwijzen,
|
||
mld_stdmelding_afhankelijk,
|
||
alg_org_obj_niveau,
|
||
mld_stdmelding_t_accepttijd,
|
||
mld_stdmelding_t_uitvoertijd,
|
||
mld_stdmelding_t_uitvtijd_pr1,
|
||
mld_stdmelding_t_uitvtijd_pr2,
|
||
mld_stdmelding_t_uitvtijd_pr4,
|
||
mld_stdmelding_malusbasis,
|
||
mld_stdmelding_externurl,
|
||
mld_stdmelding_enddate_empty,
|
||
mld_stdmelding_autoorderamount,
|
||
mld_stdmelding_prsafdobj,
|
||
ins_srtinst_verplichtstatus,
|
||
mld_stdmelding_code,
|
||
mld_stdmelding_default_disc
|
||
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 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
|
||
BEGIN adm.systrackscriptId ('$Id$', 1); END;
|
||
/
|
||
|
||
COMMIT;
|
||
SET ECHO OFF
|
||
SPOOL OFF
|
||
SET DEFINE ON
|
||
PROMPT Logfile of this upgrade is: &fcltlogfile
|
||
|
||
@@rwsn.sql
|