NOVA#80968 NOVA0
svn path=/Customer/; revision=66968
This commit is contained in:
215
onces/NOVA/NOVA#80968-RESVER.sql
Normal file
215
onces/NOVA/NOVA#80968-RESVER.sql
Normal file
@@ -0,0 +1,215 @@
|
||||
--
|
||||
-- $Id$
|
||||
--
|
||||
-- Customer specific once-script NOVA#80968-RESVER.sql.
|
||||
DEFINE thisfile = 'NOVA#80968-RESVER.sql'
|
||||
DEFINE dbuser = '^NOVA'
|
||||
|
||||
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 ------
|
||||
|
||||
-- NOVA#80968: Verwerken (dichtzetten) alle reserveringen met App<70>l-catering
|
||||
-- tot 1-11-2024.
|
||||
-- Tenminste, waarvoor geldt: Niet verwijderd, Definitief en niet
|
||||
-- dirty!
|
||||
-- LET OP: Bewust worden alle prijs-velden ongewijzigd gelaten om
|
||||
-- de geschiedenis(/opstartperikelen) niet te verbloemen!
|
||||
-- Voorkennis dat in herfstvakantie (wk44) geen App<70>l-catering is
|
||||
-- geboekt, dus per 2024-11 zouden de App<70>l-kosten in Facilitor
|
||||
-- 1-op-1 moeten kloppen met de factuur die Nova College ontvangt?
|
||||
DECLARE
|
||||
v_errormsg VARCHAR2 (1000);
|
||||
|
||||
CURSOR cres
|
||||
IS
|
||||
SELECT '[' || TO_CHAR (rra.res_rsv_ruimte_key) || '|' || TO_CHAR (rra.res_rsv_artikel_key) || '] ' aanduiding,
|
||||
rra.res_rsv_ruimte_key,
|
||||
rra.res_rsv_artikel_key,
|
||||
NULL res_rsv_deel_key,
|
||||
rra.res_status_bo_key,
|
||||
rra.res_artikel_key,
|
||||
TO_CHAR (rra.res_rsv_artikel_levering, 'yyyy-mm-dd') datum
|
||||
FROM res_v_aanwezigrsv_artikel rra
|
||||
WHERE rra.res_rsv_artikel_levering < TRUNC (SYSDATE, 'mm') -- Tot 1-11-2024
|
||||
AND rra.res_status_bo_key != 6
|
||||
AND rra.res_rsv_artikel_dirtlevel = 0
|
||||
AND EXISTS -- Bovenliggende res_rsv_ruimte niet verwijderd, Definitief en niet dirty!
|
||||
(SELECT 1
|
||||
FROM res_v_aanwezigrsv_ruimte
|
||||
WHERE res_status_fo_key = 2 -- Definitief/Of ook Optie?
|
||||
AND res_rsv_ruimte_dirtlevel = 0
|
||||
AND res_rsv_ruimte_key = rra.res_rsv_ruimte_key)
|
||||
AND EXISTS -- Reservering met artikel uit Benque-catalogus
|
||||
(SELECT 1
|
||||
FROM res_artikel ra, res_disc_params dp
|
||||
WHERE ra.res_discipline_key = dp.res_ins_discipline_key
|
||||
AND dp.prs_bedrijf_key = 3661 -- Benque-relatie
|
||||
AND ra.res_artikel_key = rra.res_artikel_key)
|
||||
AND EXISTS -- Reservering doorgezet naar Benque
|
||||
(SELECT 1
|
||||
FROM res_kenmerkwaarde kr, res_kenmerk k
|
||||
WHERE kr.res_kenmerk_key = k.res_kenmerk_key
|
||||
AND k.res_kenmerk_code = 'BENQ_ID'
|
||||
AND kr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key)
|
||||
UNION ALL
|
||||
SELECT '[' || TO_CHAR (rrd.res_rsv_ruimte_key) || '|' || TO_CHAR (rrd.res_rsv_deel_key) || '] ' aanduiding,
|
||||
rrd.res_rsv_ruimte_key,
|
||||
NULL res_rsv_artikel_key,
|
||||
rrd.res_rsv_deel_key,
|
||||
rrd.res_status_bo_key,
|
||||
NULL res_artikel_key,
|
||||
TO_CHAR (rrd.res_rsv_deel_tot, 'yyyy-mm-dd') datum
|
||||
FROM res_v_aanwezigrsv_deel rrd
|
||||
WHERE rrd.res_rsv_deel_tot < TRUNC (SYSDATE, 'mm') -- Tot 1-11-2024
|
||||
AND rrd.res_status_bo_key != 6
|
||||
AND rrd.res_rsv_deel_dirtlevel = 0
|
||||
AND rrd.res_rsv_ruimte_key IS NOT NULL -- Geen parkeerplaatsen bij niet reservering-gebonden afspraken?
|
||||
AND EXISTS -- Bovenliggende res_rsv_ruimte niet verwijderd, Definitief en niet dirty!
|
||||
(SELECT 1
|
||||
FROM res_v_aanwezigrsv_ruimte
|
||||
WHERE res_status_fo_key = 2 -- Definitief/Of ook Optie?
|
||||
AND res_rsv_ruimte_dirtlevel = 0
|
||||
AND res_rsv_ruimte_key = rrd.res_rsv_ruimte_key)
|
||||
AND EXISTS -- Reservering met artikel uit Benque-catalogus
|
||||
(SELECT 1
|
||||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra, res_disc_params dp
|
||||
WHERE rra.res_rsv_artikel_dirtlevel = 0
|
||||
AND rra.res_artikel_key = ra.res_artikel_key
|
||||
AND ra.res_discipline_key = dp.res_ins_discipline_key
|
||||
AND dp.prs_bedrijf_key = 3661 -- Benque-relatie
|
||||
AND rra.res_rsv_ruimte_key = rrd.res_rsv_ruimte_key)
|
||||
AND EXISTS -- Reservering doorgezet naar Benque
|
||||
(SELECT 1
|
||||
FROM res_kenmerkwaarde kr, res_kenmerk k
|
||||
WHERE kr.res_kenmerk_key = k.res_kenmerk_key
|
||||
AND k.res_kenmerk_code = 'BENQ_ID'
|
||||
AND kr.res_rsv_ruimte_key = rrd.res_rsv_ruimte_key)
|
||||
UNION ALL
|
||||
SELECT '[' || TO_CHAR (rrr.res_rsv_ruimte_key) || '] ' aanduiding,
|
||||
rrr.res_rsv_ruimte_key,
|
||||
NULL res_rsv_artikel_key,
|
||||
NULL res_rsv_deel_key,
|
||||
rrr.res_status_bo_key,
|
||||
NULL res_artikel_key,
|
||||
TO_CHAR (rrr.res_rsv_ruimte_tot, 'yyyy-mm-dd') datum
|
||||
FROM res_v_aanwezigrsv_ruimte rrr
|
||||
WHERE rrr.res_rsv_ruimte_tot < TRUNC (SYSDATE, 'mm') -- Tot 1-11-2024
|
||||
AND rrr.res_status_bo_key != 6
|
||||
AND res_status_fo_key = 2 -- Definitief/Of ook Optie?
|
||||
AND rrr.res_rsv_ruimte_dirtlevel = 0
|
||||
AND EXISTS -- Reservering met artikel uit Benque-catalogus
|
||||
(SELECT 1
|
||||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra, res_disc_params dp
|
||||
WHERE rra.res_rsv_artikel_dirtlevel = 0
|
||||
AND rra.res_artikel_key = ra.res_artikel_key
|
||||
AND ra.res_discipline_key = dp.res_ins_discipline_key
|
||||
AND dp.prs_bedrijf_key = 3661 -- Benque-relatie
|
||||
AND rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key)
|
||||
AND EXISTS -- Reservering doorgezet naar Benque
|
||||
(SELECT 1
|
||||
FROM res_kenmerkwaarde kr, res_kenmerk k
|
||||
WHERE kr.res_kenmerk_key = k.res_kenmerk_key
|
||||
AND k.res_kenmerk_code = 'BENQ_ID'
|
||||
AND kr.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key)
|
||||
ORDER BY 2, 3, 4;
|
||||
BEGIN
|
||||
FOR rec IN cres
|
||||
LOOP
|
||||
BEGIN
|
||||
IF rec.res_rsv_artikel_key IS NOT NULL
|
||||
THEN -- Catering-regel
|
||||
IF rec.res_status_bo_key = 2
|
||||
THEN
|
||||
v_errormsg := 'Fout afmelden res_rsv_artikel';
|
||||
UPDATE res_rsv_artikel
|
||||
SET res_status_bo_key = 5
|
||||
WHERE res_rsv_artikel_key = rec.res_rsv_artikel_key;
|
||||
|
||||
v_errormsg := 'Fout tracken afmelding';
|
||||
fac.trackaction ('RESAFM', rec.res_rsv_ruimte_key, NULL, NULL, 'Catering afgemeld');
|
||||
END IF;
|
||||
|
||||
IF rec.res_status_bo_key != 6
|
||||
THEN
|
||||
v_errormsg := 'Fout verwerken res_rsv_artikel';
|
||||
UPDATE res_rsv_artikel
|
||||
SET res_status_bo_key = 6 -- AV (en zet ook Verwerkt-datum)
|
||||
WHERE res_rsv_artikel_key = rec.res_rsv_artikel_key;
|
||||
|
||||
v_errormsg := 'Fout tracken verwerking';
|
||||
fac.trackaction ('RESVER', rec.res_rsv_ruimte_key, NULL, NULL, 'Catering verwerkt');
|
||||
END IF;
|
||||
ELSIF rec.res_rsv_deel_key IS NOT NULL
|
||||
THEN -- Voorziening-regel
|
||||
IF rec.res_status_bo_key = 2
|
||||
THEN
|
||||
v_errormsg := 'Fout afmelden res_rsv_deel';
|
||||
UPDATE res_rsv_deel
|
||||
SET res_status_bo_key = 5
|
||||
WHERE res_rsv_deel_key = rec.res_rsv_deel_key;
|
||||
|
||||
v_errormsg := 'Fout tracken afmelding';
|
||||
fac.trackaction ('RESAFM', rec.res_rsv_ruimte_key, NULL, NULL, 'Voorziening(en) afgemeld');
|
||||
END IF;
|
||||
|
||||
IF rec.res_status_bo_key != 6
|
||||
THEN
|
||||
v_errormsg := 'Fout verwerken res_rsv_deel';
|
||||
UPDATE res_rsv_deel
|
||||
SET res_status_bo_key = 6 -- AV (en zet ook Verwerkt-datum)
|
||||
WHERE res_rsv_deel_key = rec.res_rsv_deel_key;
|
||||
|
||||
v_errormsg := 'Fout tracken verwerking';
|
||||
fac.trackaction ('RESVER', rec.res_rsv_ruimte_key, NULL, NULL, 'Voorziening(en) verwerkt');
|
||||
END IF;
|
||||
ELSE -- Ruimte-regel
|
||||
IF rec.res_status_bo_key = 2
|
||||
THEN
|
||||
v_errormsg := 'Fout afmelden res_rsv_ruimte';
|
||||
UPDATE res_rsv_ruimte
|
||||
SET res_status_bo_key = 5
|
||||
WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
|
||||
|
||||
v_errormsg := 'Fout tracken afmelding';
|
||||
fac.trackaction ('RESAFM', rec.res_rsv_ruimte_key, NULL, NULL, NULL);
|
||||
END IF;
|
||||
|
||||
IF rec.res_status_bo_key != 6
|
||||
THEN
|
||||
v_errormsg := 'Fout verwerken res_rsv_ruimte';
|
||||
UPDATE res_rsv_ruimte
|
||||
SET res_status_bo_key = 6 -- AV
|
||||
WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
|
||||
|
||||
v_errormsg := 'Fout tracken verwerking';
|
||||
fac.trackaction ('RESVER', rec.res_rsv_ruimte_key, NULL, NULL, NULL);
|
||||
END IF;
|
||||
END IF;
|
||||
END;
|
||||
END LOOP;
|
||||
END;
|
||||
/
|
||||
|
||||
------ 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
|
||||
Reference in New Issue
Block a user