355 lines
16 KiB
SQL
355 lines
16 KiB
SQL
--
|
|
-- $Id$
|
|
--
|
|
-- Customer specific once-script FMHN#73986.sql.
|
|
DEFINE thisfile = 'FMHN#73986.sql'
|
|
DEFINE dbuser = '^FMHN'
|
|
|
|
SET ECHO ON
|
|
SET DEFINE ON
|
|
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
|
COLUMN fcltcusterr NEW_VALUE fcltcusterr NOPRINT;
|
|
WHENEVER SQLERROR CONTINUE;
|
|
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
|
|
SPOOL &fcltlogfile
|
|
WHENEVER SQLERROR EXIT;
|
|
SELECT adm.checkscriptcust('&dbuser') AS fcltcusterr FROM DUAL;
|
|
WHENEVER SQLERROR CONTINUE;
|
|
PROMPT &fcltcusterr
|
|
SET DEFINE OFF
|
|
|
|
------ payload begin ------
|
|
|
|
-- FMHN#73986: Schonen alle IDM-personen+afdelingen van JenV in *ACCEPTATIE*,
|
|
-- nadat alle lopende verplichtingen eerst zijn overgezet op naam
|
|
-- van JenV-dummy persoon met key=157552.
|
|
/*
|
|
-- prs_v_verplichting_keys => Openstaande verplichtingen zonder details
|
|
-- prs_v_verplichting => Openstaande verplichtingen met details
|
|
SELECT *
|
|
FROM prs_perslid p
|
|
WHERE p.prs_perslid_verwijder IS NULL
|
|
AND p.prs_perslid_externid LIKE '07%'
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM prs_v_afdeling_boom
|
|
WHERE prs_afdeling_key = p.prs_afdeling_key
|
|
AND prs_bedrijf_key = 923);
|
|
|
|
SELECT '[' || TO_CHAR (p.prs_perslid_key) || '|' || p.prs_perslid_email || '|' || p.prs_perslid_externid || '] '
|
|
aanduiding,
|
|
p.prs_perslid_key,
|
|
COUNT ( * ) verplichtingen
|
|
FROM prs_perslid p, prs_v_verplichting_keys v
|
|
WHERE p.prs_perslid_verwijder IS NULL
|
|
AND p.prs_perslid_externid LIKE '07%'
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM prs_v_afdeling_boom
|
|
WHERE prs_afdeling_key = p.prs_afdeling_key
|
|
AND prs_bedrijf_key = 923)
|
|
AND p.prs_perslid_key = v.prs_perslid_key(+)
|
|
GROUP BY '[' || TO_CHAR (p.prs_perslid_key) || '|' || p.prs_perslid_email || '|' || p.prs_perslid_externid || '] ',
|
|
p.prs_perslid_key;
|
|
|
|
SELECT *
|
|
FROM prs_afdeling a
|
|
WHERE a.prs_afdeling_verwijder IS NULL
|
|
AND a.prs_afdeling_externid LIKE '07%'
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM prs_v_afdeling_boom
|
|
WHERE prs_afdeling_key = a.prs_afdeling_key
|
|
AND prs_bedrijf_key = 923);
|
|
|
|
-- afspraak, deel, melding, reservering
|
|
SELECT DISTINCT v.xmlnode
|
|
FROM prs_perslid p, prs_v_verplichting v
|
|
WHERE p.prs_perslid_verwijder IS NULL
|
|
AND p.prs_perslid_externid LIKE '07%'
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM prs_v_afdeling_boom
|
|
WHERE prs_afdeling_key = p.prs_afdeling_key
|
|
AND prs_bedrijf_key = 923)
|
|
AND p.prs_perslid_key = v.prs_perslid_key;
|
|
*/
|
|
-- Afspraak-verplichtingen naar dummy-persoon!
|
|
/*
|
|
SELECT COUNT (*) -- a.*
|
|
FROM bez_afspraak a
|
|
WHERE EXISTS
|
|
(SELECT 1
|
|
FROM prs_perslid p, prs_v_verplichting v
|
|
WHERE p.prs_perslid_verwijder IS NULL
|
|
AND p.prs_perslid_externid LIKE '07%' -- Zonder deze regel heul traag!
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM prs_v_afdeling_boom
|
|
WHERE prs_afdeling_key = p.prs_afdeling_key
|
|
AND prs_bedrijf_key = 923)
|
|
AND p.prs_perslid_key = v.prs_perslid_key
|
|
AND v.xmlnode = 'afspraak'
|
|
AND v.item_key = a.bez_afspraak_key
|
|
AND (v.prs_perslid_key = a.prs_perslid_key
|
|
OR v.prs_perslid_key = a.bez_afspraak_host_key
|
|
OR v.prs_perslid_key = a.bez_afspraak_contact_key));
|
|
*/
|
|
UPDATE bez_afspraak a
|
|
SET a.prs_perslid_key = DECODE (a.prs_perslid_key, NULL, NULL, 157552),
|
|
a.bez_afspraak_host_key = DECODE (a.bez_afspraak_host_key, NULL, NULL, 157552),
|
|
a.bez_afspraak_contact_key = DECODE (a.bez_afspraak_contact_key, NULL, NULL, 157552)
|
|
WHERE EXISTS
|
|
(SELECT 1
|
|
FROM prs_perslid p, prs_v_verplichting v
|
|
WHERE p.prs_perslid_verwijder IS NULL
|
|
AND p.prs_perslid_externid LIKE '07%' -- Zonder deze regel heul traag!
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM prs_v_afdeling_boom
|
|
WHERE prs_afdeling_key = p.prs_afdeling_key
|
|
AND prs_bedrijf_key = 923)
|
|
AND p.prs_perslid_key = v.prs_perslid_key
|
|
AND v.xmlnode = 'afspraak'
|
|
AND v.item_key = a.bez_afspraak_key
|
|
AND (v.prs_perslid_key = a.prs_perslid_key
|
|
OR v.prs_perslid_key = a.bez_afspraak_host_key
|
|
OR v.prs_perslid_key = a.bez_afspraak_contact_key));
|
|
COMMIT;
|
|
-- P-gebonden deel-verplichtingen naar dummy-persoon!
|
|
/*
|
|
SELECT COUNT ( * ) -- d.ins_deel_omschrijving objectid, d.*
|
|
FROM ins_v_aanwezigdeel d
|
|
WHERE d.ins_deel_verwijder IS NULL
|
|
AND (d.ins_alg_ruimte_type = 'P' OR d.ins_alg_ruimte_type_org = 'P')
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM prs_perslid p, prs_v_verplichting v
|
|
WHERE p.prs_perslid_verwijder IS NULL
|
|
AND p.prs_perslid_externid LIKE '07%' -- Zonder deze regel heul traag!
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM prs_v_afdeling_boom
|
|
WHERE prs_afdeling_key = p.prs_afdeling_key
|
|
AND prs_bedrijf_key = 923)
|
|
AND p.prs_perslid_key = v.prs_perslid_key
|
|
AND v.xmlnode = 'deel'
|
|
AND v.item_key = d.ins_deel_key
|
|
AND (v.prs_perslid_key = d.ins_alg_ruimte_key
|
|
OR v.prs_perslid_key = d.ins_alg_ruimte_key_org));
|
|
*/
|
|
UPDATE ins_deel d
|
|
SET d.ins_alg_ruimte_key = DECODE (d.ins_alg_ruimte_type, 'P', 157552, d.ins_alg_ruimte_key),
|
|
d.ins_alg_ruimte_key_org = DECODE (d.ins_alg_ruimte_type_org, 'P', 157552, d.ins_alg_ruimte_key_org) -- Is d.ins_alg_ruimte_type_org ooit 'P'?
|
|
WHERE d.ins_deel_verwijder IS NULL
|
|
AND (d.ins_alg_ruimte_type = 'P' OR d.ins_alg_ruimte_type_org = 'P')
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM prs_perslid p, prs_v_verplichting v
|
|
WHERE p.prs_perslid_verwijder IS NULL
|
|
AND p.prs_perslid_externid LIKE '07%' -- Zonder deze regel heul traag!
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM prs_v_afdeling_boom
|
|
WHERE prs_afdeling_key = p.prs_afdeling_key
|
|
AND prs_bedrijf_key = 923)
|
|
AND p.prs_perslid_key = v.prs_perslid_key
|
|
AND v.xmlnode = 'deel'
|
|
AND v.item_key = d.ins_deel_key
|
|
AND (v.prs_perslid_key = d.ins_alg_ruimte_key
|
|
OR v.prs_perslid_key = d.ins_alg_ruimte_key_org));
|
|
COMMIT;
|
|
-- A-gebonden deel-verplichtingen naar dummy-persoon!
|
|
/*
|
|
SELECT COUNT ( * ) -- d.ins_deel_omschrijving objectid, d.*
|
|
FROM ins_v_aanwezigdeel d
|
|
WHERE d.ins_deel_verwijder IS NULL
|
|
AND (d.ins_alg_ruimte_type = 'A' OR d.ins_alg_ruimte_type_org = 'A')
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM prs_afdeling a
|
|
WHERE a.prs_afdeling_verwijder IS NULL
|
|
AND a.prs_afdeling_externid LIKE '07%' -- Zonder deze regel heul traag!
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM prs_v_afdeling_boom
|
|
WHERE prs_afdeling_key = a.prs_afdeling_key
|
|
AND prs_bedrijf_key = 923)
|
|
AND (a.prs_afdeling_key = d.ins_alg_ruimte_key
|
|
OR a.prs_afdeling_key = d.ins_alg_ruimte_key_org));
|
|
*/
|
|
UPDATE ins_deel d
|
|
SET d.ins_alg_ruimte_key = DECODE (d.ins_alg_ruimte_type, 'A', 1, d.ins_alg_ruimte_key),
|
|
d.ins_alg_ruimte_key_org = DECODE (d.ins_alg_ruimte_type_org, 'A', 1, d.ins_alg_ruimte_key_org) -- Is d.ins_alg_ruimte_type_org ooit 'A'?
|
|
WHERE d.ins_deel_verwijder IS NULL
|
|
AND (d.ins_alg_ruimte_type = 'A' OR d.ins_alg_ruimte_type_org = 'A')
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM prs_afdeling a
|
|
WHERE a.prs_afdeling_verwijder IS NULL
|
|
AND a.prs_afdeling_externid LIKE '07%' -- Zonder deze regel heul traag!
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM prs_v_afdeling_boom
|
|
WHERE prs_afdeling_key = a.prs_afdeling_key
|
|
AND prs_bedrijf_key = 923)
|
|
AND (a.prs_afdeling_key = d.ins_alg_ruimte_key
|
|
OR a.prs_afdeling_key = d.ins_alg_ruimte_key_org));
|
|
COMMIT;
|
|
-- Melding-verplichtingen naar dummy-persoon!
|
|
/*
|
|
SELECT COUNT ( * ) -- m.*
|
|
FROM mld_melding m
|
|
WHERE EXISTS
|
|
(SELECT 1
|
|
FROM prs_perslid p, prs_v_verplichting v
|
|
WHERE p.prs_perslid_verwijder IS NULL
|
|
AND p.prs_perslid_externid LIKE '07%' -- Zonder deze regel heul traag!
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM prs_v_afdeling_boom
|
|
WHERE prs_afdeling_key = p.prs_afdeling_key
|
|
AND prs_bedrijf_key = 923)
|
|
AND p.prs_perslid_key = v.prs_perslid_key
|
|
AND v.xmlnode = 'melding'
|
|
AND v.item_key = m.mld_melding_key
|
|
AND (v.prs_perslid_key = m.prs_perslid_key
|
|
--OR v.prs_perslid_key = m.mld_melding_behandelaar_key -- Nooit een JenV-persoon!
|
|
--OR v.prs_perslid_key = m.mld_melding_behandelaar2_key -- Nooit een JenV-persoon!
|
|
OR v.prs_perslid_key = m.prs_perslid_key_voor));
|
|
*/
|
|
UPDATE mld_melding m
|
|
SET m.prs_perslid_key = 157552,
|
|
--m.mld_melding_behandelaar_key = DECODE (m.mld_melding_behandelaar_key, NULL, NULL, 157552),
|
|
--m.mld_melding_behandelaar2_key = DECODE (m.mld_melding_behandelaar2_key, NULL, NULL, 157552),
|
|
m.prs_perslid_key_voor = 157552
|
|
WHERE EXISTS
|
|
(SELECT 1
|
|
FROM prs_perslid p, prs_v_verplichting v
|
|
WHERE p.prs_perslid_verwijder IS NULL
|
|
AND p.prs_perslid_externid LIKE '07%' -- Zonder deze regel heul traag!
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM prs_v_afdeling_boom
|
|
WHERE prs_afdeling_key = p.prs_afdeling_key
|
|
AND prs_bedrijf_key = 923)
|
|
AND p.prs_perslid_key = v.prs_perslid_key
|
|
AND v.xmlnode = 'melding'
|
|
AND v.item_key = m.mld_melding_key
|
|
AND (v.prs_perslid_key = m.prs_perslid_key
|
|
--OR v.prs_perslid_key = m.mld_melding_behandelaar_key -- Nooit een JenV-persoon!
|
|
--OR v.prs_perslid_key = m.mld_melding_behandelaar2_key -- Nooit een JenV-persoon!
|
|
OR v.prs_perslid_key = m.prs_perslid_key_voor));
|
|
COMMIT;
|
|
-- Reservering-verplichtingen naar dummy-persoon!
|
|
/*
|
|
SELECT COUNT ( * ) -- TO_CHAR (rrr.res_reservering_key) || '/' || TO_CHAR (rrr.res_rsv_ruimte_volgnr) reserveringid, rrr.*
|
|
FROM res_rsv_ruimte rrr
|
|
WHERE EXISTS
|
|
(SELECT 1
|
|
FROM prs_perslid p, prs_v_verplichting v
|
|
WHERE p.prs_perslid_verwijder IS NULL
|
|
AND p.prs_perslid_externid LIKE '07%' -- Zonder deze regel heul traag!
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM prs_v_afdeling_boom
|
|
WHERE prs_afdeling_key = p.prs_afdeling_key
|
|
AND prs_bedrijf_key = 923)
|
|
AND p.prs_perslid_key = v.prs_perslid_key
|
|
AND v.xmlnode = 'reservering'
|
|
AND v.item_key = rrr.res_rsv_ruimte_key
|
|
AND (v.prs_perslid_key = rrr.res_rsv_ruimte_contact_key
|
|
OR v.prs_perslid_key = rrr.res_rsv_ruimte_host_key));
|
|
*/
|
|
UPDATE res_rsv_ruimte rrr
|
|
SET rrr.res_rsv_ruimte_contact_key = 157552, rrr.res_rsv_ruimte_host_key = 157552
|
|
WHERE EXISTS
|
|
(SELECT 1
|
|
FROM prs_perslid p, prs_v_verplichting v
|
|
WHERE p.prs_perslid_verwijder IS NULL
|
|
AND p.prs_perslid_externid LIKE '07%' -- Zonder deze regel heul traag!
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM prs_v_afdeling_boom
|
|
WHERE prs_afdeling_key = p.prs_afdeling_key
|
|
AND prs_bedrijf_key = 923)
|
|
AND p.prs_perslid_key = v.prs_perslid_key
|
|
AND v.xmlnode = 'reservering'
|
|
AND v.item_key = rrr.res_rsv_ruimte_key
|
|
AND (v.prs_perslid_key = rrr.res_rsv_ruimte_contact_key
|
|
OR v.prs_perslid_key = rrr.res_rsv_ruimte_host_key));
|
|
COMMIT;
|
|
-- Verwijderen JenV-personen!
|
|
/*
|
|
SELECT COUNT ( * )
|
|
FROM prs_collega c
|
|
WHERE EXISTS
|
|
(SELECT 1
|
|
FROM prs_perslid p, prs_v_afdeling_boom ab
|
|
WHERE p.prs_perslid_verwijder IS NULL
|
|
AND p.prs_perslid_externid LIKE '07%'
|
|
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
|
AND ab.prs_bedrijf_key = 923
|
|
AND prs_perslid_key = c.prs_perslid_key)
|
|
OR EXISTS
|
|
(SELECT 1
|
|
FROM prs_perslid p, prs_v_afdeling_boom ab
|
|
WHERE p.prs_perslid_verwijder IS NULL
|
|
AND p.prs_perslid_externid LIKE '07%'
|
|
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
|
AND ab.prs_bedrijf_key = 923
|
|
AND prs_perslid_key = c.prs_perslid_key_alt);
|
|
*/
|
|
DELETE FROM prs_collega c
|
|
WHERE EXISTS
|
|
(SELECT 1
|
|
FROM prs_perslid p, prs_v_afdeling_boom ab
|
|
WHERE p.prs_perslid_verwijder IS NULL
|
|
AND p.prs_perslid_externid LIKE '07%'
|
|
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
|
AND ab.prs_bedrijf_key = 923
|
|
AND prs_perslid_key = c.prs_perslid_key)
|
|
OR EXISTS
|
|
(SELECT 1
|
|
FROM prs_perslid p, prs_v_afdeling_boom ab
|
|
WHERE p.prs_perslid_verwijder IS NULL
|
|
AND p.prs_perslid_externid LIKE '07%'
|
|
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
|
AND ab.prs_bedrijf_key = 923
|
|
AND prs_perslid_key = c.prs_perslid_key_alt);
|
|
|
|
UPDATE prs_perslid p
|
|
SET p.prs_perslid_verwijder = SYSDATE
|
|
WHERE p.prs_perslid_verwijder IS NULL
|
|
AND p.prs_perslid_externid LIKE '07%'
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM prs_v_afdeling_boom
|
|
WHERE prs_bedrijf_key = 923
|
|
AND prs_afdeling_key = p.prs_afdeling_key);
|
|
COMMIT;
|
|
|
|
-- Verwijderen JenV-afdelingen!
|
|
UPDATE prs_afdeling a
|
|
SET a.prs_afdeling_verwijder = SYSDATE
|
|
WHERE a.prs_afdeling_verwijder IS NULL
|
|
AND a.prs_afdeling_externid LIKE '07%'
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM prs_v_afdeling_boom
|
|
WHERE prs_bedrijf_key = 923
|
|
AND prs_afdeling_key = a.prs_afdeling_key);
|
|
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
|