Files
Customer/onces/SKAF/SKAF#61893.sql
2020-10-11 10:45:24 +00:00

245 lines
10 KiB
SQL

--
-- $Id$
--
-- In kader herziening meldingsstructuur SKA Kinderopvang worden alle ruimteketen omgezet.
-- Oude indeling: Per type locatie/opvang was er aparte ruimteketen ingericht. Dus bijv Plons BSO, Plons KDV, Plons SLG. terwijl deze op zelfde adres zitten
-- Nieuwe indeling: Deze 3 ruimteketens zijn nu naar 1 nieuwe ruimteketen PLONS doorgezet.
-- Met dit script worden alle (lopende) meldingen omgezet naar de nieuwe ruimte_keys
DEFINE thisfile = 'SKAF#61893.SQL'
DEFINE dbuser = '^SKAF'
DEFINE custid = 'SKAF'
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 ------
-- Aanmaken hulpview
CREATE OR REPLACE VIEW skaf_v_conversie_mld_onrgoed
AS
SELECT l.alg_locatie_code,
r.alg_ruimte_nr,
r.alg_ruimte_omschrijving,
v.alg_ruimte_key AS Ruimte_key_NU,
v.alg_verdieping_key AS Verdieping_key_NU,
v.alg_gebouw_key AS Gebouw_key_NU,
v.alg_locatie_key AS Locatie_key_NU,
fac.safe_to_number (k.alg_onrgoedkenmerk_waarde)
AS ruimte_key_WAS,
w.verdieping_key_WAS,
w.gebouw_key_WAS,
w.locatie_key_WAS,
'BSO'
AS Opvangtype
FROM alg_ruimte r,
alg_v_onroerendgoed_gegevens v,
alg_locatie l,
alg_onrgoedkenmerk k,
(SELECT alg_ruimte_key as ruimte_key_WAS, alg_locatie_key AS locatie_key_WAS, alg_gebouw_key AS gebouw_key_WAS, alg_verdieping_key AS verdieping_key_WAS FROM alg_v_onroerendgoed_gegevens) w
WHERE r.alg_ruimte_key = v.alg_ruimte_key
AND v.alg_locatie_key = l.alg_locatie_key
AND r.alg_ruimte_verwijder IS NULL
AND k.alg_onrgoed_niveau = 'R'
AND r.alg_ruimte_key = k.alg_onrgoed_key
AND k.alg_kenmerk_key = 1141 -- Kenmerk BSO
AND w.ruimte_key_WAS = fac.safe_to_number (k.alg_onrgoedkenmerk_waarde)
UNION
SELECT l.alg_locatie_code,
r.alg_ruimte_nr,
r.alg_ruimte_omschrijving,
v.alg_ruimte_key AS Ruimte_key_NU,
v.alg_verdieping_key AS Verdieping_key_NU,
v.alg_gebouw_key AS Gebouw_key_NU,
v.alg_locatie_key AS Locatie_key_NU,
fac.safe_to_number (k.alg_onrgoedkenmerk_waarde)
AS ruimte_key_WAS,
w.verdieping_key_WAS,
w.gebouw_key_WAS,
w.locatie_key_WAS,
'KDV'
AS Opvangtype
FROM alg_ruimte r,
alg_v_onroerendgoed_gegevens v,
alg_locatie l,
alg_onrgoedkenmerk k,
(SELECT alg_ruimte_key as ruimte_key_WAS, alg_locatie_key AS locatie_key_WAS, alg_gebouw_key AS gebouw_key_WAS, alg_verdieping_key AS verdieping_key_WAS FROM alg_v_onroerendgoed_gegevens) w
WHERE r.alg_ruimte_key = v.alg_ruimte_key
AND v.alg_locatie_key = l.alg_locatie_key
AND r.alg_ruimte_verwijder IS NULL
AND k.alg_onrgoed_niveau = 'R'
AND r.alg_ruimte_key = k.alg_onrgoed_key
AND k.alg_kenmerk_key = 1143 -- Kenmerk KDV
AND w.ruimte_key_WAS = fac.safe_to_number (k.alg_onrgoedkenmerk_waarde)
UNION
SELECT l.alg_locatie_code,
r.alg_ruimte_nr,
r.alg_ruimte_omschrijving,
v.alg_ruimte_key AS Ruimte_key_NU,
v.alg_verdieping_key AS Verdieping_key_NU,
v.alg_gebouw_key AS Gebouw_key_NU,
v.alg_locatie_key AS Locatie_key_NU,
fac.safe_to_number (k.alg_onrgoedkenmerk_waarde)
AS ruimte_key_WAS,
w.verdieping_key_WAS,
w.gebouw_key_WAS,
w.locatie_key_WAS,
'SLG'
AS Opvangtype
FROM alg_ruimte r,
alg_v_onroerendgoed_gegevens v,
alg_locatie l,
alg_onrgoedkenmerk k,
(SELECT alg_ruimte_key as ruimte_key_WAS, alg_locatie_key AS locatie_key_WAS, alg_gebouw_key AS gebouw_key_WAS, alg_verdieping_key AS verdieping_key_WAS FROM alg_v_onroerendgoed_gegevens) w
WHERE r.alg_ruimte_key = v.alg_ruimte_key
AND v.alg_locatie_key = l.alg_locatie_key
AND r.alg_ruimte_verwijder IS NULL
AND k.alg_onrgoed_niveau = 'R'
AND r.alg_ruimte_key = k.alg_onrgoed_key
AND k.alg_kenmerk_key = 1145 -- Kenmerk SLG
AND w.ruimte_key_WAS = fac.safe_to_number (k.alg_onrgoedkenmerk_waarde)
;
-- Alle meldingen op RUIMTE omzetten naar nieuwe RUIMTE
CREATE OR REPLACE VIEW skaf_v_conversie_mld_ruimte
AS
SELECT DISTINCT m.mld_melding_key,
l.alg_locatie_code,
v.alg_type,
v.alg_ruimte_key AS ruimte_key_OUD,
h.opvangtype,
h.ruimte_key_NU
FROM mld_melding m,
alg_locatie l,
alg_v_onroerendgoed_gegevens v,
skaf_v_conversie_mld_onrgoed h
WHERE
m.mld_alg_locatie_key = l.alg_locatie_key
AND m.mld_alg_onroerendgoed_keys = v.alg_onroerendgoed_keys
AND v.alg_ruimte_key = h.ruimte_key_WAS
AND v.alg_type = 'R' ;
-- Alle meldingen op VERDIEPING omzetten naar nieuwe VERDIEPING
CREATE OR REPLACE VIEW skaf_v_conversie_mld_verd
AS
SELECT DISTINCT m.mld_melding_key,
l.alg_locatie_code,
v.alg_type,
v.alg_verdieping_key AS verdieping_key_OUD,
h.opvangtype,
h.verdieping_key_NU
FROM mld_melding m,
alg_locatie l,
alg_v_onroerendgoed_gegevens v,
skaf_v_conversie_mld_onrgoed h
WHERE
m.mld_alg_locatie_key = l.alg_locatie_key
AND m.mld_alg_onroerendgoed_keys = v.alg_onroerendgoed_keys
AND v.alg_verdieping_key = h.verdieping_key_WAS
AND v.alg_type = 'V'
-- AND m.mld_melding_key in (14314, 268)
;
-- Alle meldingen op GEBOUW omzetten naar nieuwe GEBOUW
CREATE OR REPLACE VIEW skaf_v_conversie_mld_geb
AS
SELECT DISTINCT m.mld_melding_key,
l.alg_locatie_code,
v.alg_type,
v.alg_gebouw_key AS gebouw_key_OUD,
h.opvangtype,
h.gebouw_key_NU
FROM mld_melding m,
alg_locatie l,
alg_v_onroerendgoed_gegevens v,
skaf_v_conversie_mld_onrgoed h
WHERE
m.mld_alg_locatie_key = l.alg_locatie_key
AND m.mld_alg_onroerendgoed_keys = v.alg_onroerendgoed_keys
AND v.alg_gebouw_key = h.gebouw_key_WAS
AND v.alg_type = 'G' ;
-- Alle meldingen op LOCATIE omzetten naar nieuwe LOCATIE
CREATE OR REPLACE VIEW skaf_v_conversie_mld_loc
AS
SELECT DISTINCT m.mld_melding_key,
l.alg_locatie_code,
'L' as alg_type,
m.mld_alg_locatie_key AS locatie_key_OUD,
-- h.opvangtype, eruit ivm meerdere gebouwen onder 1 keten (bijv VILLB)
h.locatie_key_NU
FROM mld_melding m,
alg_locatie l,
skaf_v_conversie_mld_onrgoed h
WHERE
m.mld_alg_locatie_key = l.alg_locatie_key
AND m.mld_alg_onroerendgoed_keys IS NULL
AND m.mld_alg_locatie_key = h.locatie_key_WAS
;
-- UPDATES
-- Ruimtes
UPDATE mld_melding m
SET m.mld_alg_onroerendgoed_keys =
(SELECT h.ruimte_key_nu
FROM skaf_v_conversie_mld_ruimte h
WHERE h.mld_melding_key = m.mld_melding_key)
WHERE m.mld_melding_key IN (SELECT h.mld_melding_key
FROM skaf_v_conversie_mld_ruimte h) ;
-- verdieping
UPDATE mld_melding m
SET m.mld_alg_onroerendgoed_keys =
(SELECT h.verdieping_key_nu
FROM skaf_v_conversie_mld_verd h
WHERE h.mld_melding_key = m.mld_melding_key)
WHERE m.mld_melding_key IN (SELECT h.mld_melding_key
FROM skaf_v_conversie_mld_verd h) ;
-- gebouw
UPDATE mld_melding m
SET m.mld_alg_onroerendgoed_keys =
(SELECT h.gebouw_key_nu
FROM skaf_v_conversie_mld_geb h
WHERE h.mld_melding_key = m.mld_melding_key)
WHERE m.mld_melding_key IN (SELECT h.mld_melding_key
FROM skaf_v_conversie_mld_geb h) ;
-- locatie
UPDATE mld_melding m
SET m.mld_alg_locatie_key =
(SELECT h.locatie_key_nu
FROM skaf_v_conversie_mld_loc h
WHERE h.mld_melding_key = m.mld_melding_key)
WHERE m.mld_melding_key IN (SELECT h.mld_melding_key
FROM skaf_v_conversie_mld_loc h) ;
-- Droppen hulpviews
DROP VIEW skaf_v_conversie_mld_onrgoed ;
DROP VIEW skaf_v_conversie_mld_ruimte;
DROP VIEW skaf_v_conversie_mld_verd;
DROP VIEW skaf_v_conversie_mld_geb;
DROP VIEW skaf_v_conversie_mld_loc;
------ 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