Files
Customer/onces/KFNS/KFNS#67466.sql
Maarten van der Heide f90400c553 KFNS#67466 Reserveren werkplekken (omhangen en op niet meer vervallen)
svn path=/Customer/; revision=52076
2021-06-24 09:46:28 +00:00

141 lines
5.6 KiB
SQL

--
-- $Id$
--
-- Customer specific once-script KFNS#67466.sql.
DEFINE thisfile = 'KFNS#67466.sql'
DEFINE dbuser = '^KFNS'
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 ------
/*
SELECT *
FROM res_deel rd
WHERE rd.res_discipline_key = 2321
--AND rd.res_deel_vervaldatum IS NULL
AND EXISTS
(SELECT 1
FROM ins_deel d, alg_v_allonrgoed_gegevens aog
WHERE d.ins_deel_key = rd.res_ins_deel_key
AND d.ins_alg_ruimte_key = aog.alg_ruimte_key
AND aog.alg_gebouw_key = 100)
AND NOT EXISTS
(SELECT 1
FROM ins_deel d, alg_v_allonrgoed_gegevens aog
WHERE d.ins_deel_key = rd.res_ins_deel_key
AND d.ins_alg_ruimte_key = aog.alg_ruimte_key
AND aog.alg_verdieping_key = 23981);
*/
-- Alle (520) RES-WP uit de catalogus 2201='Werkplekken' voor het gebouw 100='GEM237-903/Laan van Puntenburg' op verdieping 23981='Verdieping 99':
-- 1. in catalogus 2321='Werkplekken (voorlopig onzichtbaar)' zetten
-- 2. op vervallen zetten
UPDATE res_deel rd
SET rd.res_discipline_key = 2321, rd.res_deel_vervaldatum = SYSDATE
WHERE rd.res_discipline_key = 2201
AND rd.res_deel_verwijder IS NULL
--AND rd.res_deel_vervaldatum IS NULL
AND EXISTS
(SELECT 1
FROM ins_v_aanwezigdeel d, alg_v_allonrgoed_gegevens aog
WHERE d.ins_deel_key = rd.res_ins_deel_key
AND d.ins_alg_ruimte_key = aog.alg_ruimte_key
AND aog.alg_gebouw_key = 100)
AND EXISTS
(SELECT 1
FROM ins_v_aanwezigdeel d, alg_v_allonrgoed_gegevens aog
WHERE d.ins_deel_key = rd.res_ins_deel_key
AND d.ins_alg_ruimte_key = aog.alg_ruimte_key
AND aog.alg_verdieping_key = 23981);
COMMIT;
-- Nu zijn alle RES-WP voor LvP vervallen!
-- Alle (978) RES-WP uit de catalogus 2321='Werkplekken (voorlopig onzichtbaar)' voor het gebouw 100='GEM237-903/Laan van Puntenburg' op een andere verdieping dan 23981='Verdieping 99':
-- 1. in catalogus 2201='Werkplekken' zetten
-- 2. van vervallen afhalen
UPDATE res_deel rd
SET rd.res_discipline_key = 2201, rd.res_deel_vervaldatum = NULL
WHERE rd.res_discipline_key = 2321
AND rd.res_deel_verwijder IS NULL
--AND rd.res_deel_vervaldatum IS NOT NULL
AND EXISTS
(SELECT 1
FROM ins_v_aanwezigdeel d, alg_v_allonrgoed_gegevens aog
WHERE d.ins_deel_key = rd.res_ins_deel_key
AND d.ins_alg_ruimte_key = aog.alg_ruimte_key
AND aog.alg_gebouw_key = 100)
AND NOT EXISTS
(SELECT 1
FROM ins_v_aanwezigdeel d, alg_v_allonrgoed_gegevens aog
WHERE d.ins_deel_key = rd.res_ins_deel_key
AND d.ins_alg_ruimte_key = aog.alg_ruimte_key
AND aog.alg_verdieping_key = 23981);
COMMIT;
-- De (6) RES-WP uit de catalogus 2201='Werkplekken' voor het gebouw 100='GEM237-903/Laan van Puntenburg' op een andere verdieping dan 23981='Verdieping 99':
-- 1. in catalogus 2201='Werkplekken' houden
-- 2. van vervallen afhalen
UPDATE res_deel rd
SET rd.res_deel_vervaldatum = NULL
WHERE rd.res_discipline_key = 2201
AND rd.res_deel_verwijder IS NULL
--AND rd.res_deel_vervaldatum IS NOT NULL
AND EXISTS
(SELECT 1
FROM ins_v_aanwezigdeel d, alg_v_allonrgoed_gegevens aog
WHERE d.ins_deel_key = rd.res_ins_deel_key
AND d.ins_alg_ruimte_key = aog.alg_ruimte_key
AND aog.alg_gebouw_key = 100)
AND NOT EXISTS
(SELECT 1
FROM ins_v_aanwezigdeel d, alg_v_allonrgoed_gegevens aog
WHERE d.ins_deel_key = rd.res_ins_deel_key
AND d.ins_alg_ruimte_key = aog.alg_ruimte_key
AND aog.alg_verdieping_key = 23981);
COMMIT;
-- Nu zijn alle RES-WP voor LvP op een andere verdieping dan 23981='Verdieping 99' weer reserveerbaar!
-- Alle (984) INS-WP (uit de catalogus 2221='Werkplekken' achter RES-WP uit de catalogus 2201='Werkplekken' voor het gebouw 100='GEM237-903/Laan van Puntenburg' op een andere verdieping dan 23981='Verdieping 99':
-- 1. van vervallen afhalen
UPDATE ins_deel d
SET d.ins_deel_vervaldatum = NULL
WHERE d.ins_discipline_key = 2221 -- Werkplekken
AND d.ins_deel_verwijder IS NULL
AND d.ins_deel_vervaldatum IS NOT NULL
AND EXISTS
(SELECT 1
FROM res_deel rd
WHERE rd.res_ins_deel_key = d.ins_deel_key
AND rd.res_discipline_key = 2201)
AND EXISTS
(SELECT 1
FROM alg_v_allonrgoed_gegevens aog
WHERE aog.alg_ruimte_key = d.ins_alg_ruimte_key
AND aog.alg_gebouw_key = 100)
AND NOT EXISTS
(SELECT 1
FROM alg_v_allonrgoed_gegevens aog
WHERE aog.alg_ruimte_key = d.ins_alg_ruimte_key
AND aog.alg_verdieping_key = 23981);
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