Files
Customer/onces/CSUN/CSUN#76700.sql
Sander Schepers f196aec380 CSUN#76700 Herstelwerkzaamheden Glasbewassing Periodieke taken Landal
svn path=/Customer/; revision=59722
2023-03-23 09:42:39 +00:00

378 lines
18 KiB
SQL

--
-- $Id$
--
-- Er zijn 3973 objecten ingelezen, ingedeeld in 99 objectsoorten
-- Dit script maakt 2 soorten taken aan op deze objectsoorten.
-- Dit script bespaart dus veel handmatig invoerwerk.
-- Het is een afgeleide van once-script CSUN#69839, dus een bewezen concept.
--
DEFINE thisfile = 'CSUN#76700.SQL'
DEFINE dbuser = '^CSUN'
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 ------
DECLARE
CURSOR inspecties_stroombroek IS
SELECT sc.ins_srtinstallatie_key,
sg.ins_srtgroep_key,
sg.ins_srtgroep_omschrijving,
sd.ins_srtdeel_key,
sd.ins_srtdeel_code,
i.ins_kenmerkwaarde2 AS groot_onderhoud,
i.ins_kenmerkwaarde3 AS afzuigkap,
i.ins_kenmerkwaarde4 AS koffieapparaat,
i.ins_kenmerkwaarde5 AS sanitair,
i.ins_kenmerkwaarde6 AS vloerwandbed,
i.ins_kenmerkwaarde7 AS glasbewassing,
i.ins_kenmerkwaarde8 AS glasbewassing_binnen,
i.ins_kenmerkwaarde9 AS glasbewassing_buiten
FROM fac_imp_ins i,
ins_v_udr_deel d,
ins_deel dd,
ins_srtdeel sd,
ins_srtgroep sg,
ins_tab_discipline disc,
ins_v_allsrtinstallatie sc
WHERE UPPER (d.locatie_code) = UPPER (i.alg_locatie_code)
AND UPPER (i.ins_deel_omschrijving) = UPPER (d.omschrijving)
AND dd.ins_deel_key = d.deel_key
AND sd.ins_srtdeel_key = dd.ins_srtdeel_key
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
AND sg.ins_discipline_key = disc.ins_discipline_key
AND disc.ins_discipline_key = 1001 --Periodiek onderhoud Landal
AND sc.niveau = 'S'
AND sc.ins_srtdeel_key = sd.ins_srtdeel_key
AND sc.ins_srtgroep_key = sg.ins_srtgroep_key
AND sg.ins_srtgroep_omschrijving = 'Bungalows Stroombroek'
GROUP BY sc.ins_srtinstallatie_key,
sg.ins_srtgroep_key,
sg.ins_srtgroep_omschrijving,
sd.ins_srtdeel_key,
sd.ins_srtdeel_code,
i.ins_kenmerkwaarde2,
i.ins_kenmerkwaarde3,
i.ins_kenmerkwaarde4,
i.ins_kenmerkwaarde5,
i.ins_kenmerkwaarde6,
i.ins_kenmerkwaarde7,
i.ins_kenmerkwaarde8,
i.ins_kenmerkwaarde9;
CURSOR inspecties_sluftervallei IS
SELECT sc.ins_srtinstallatie_key,
sg.ins_srtgroep_key,
sg.ins_srtgroep_omschrijving,
sd.ins_srtdeel_key,
sd.ins_srtdeel_code,
i.ins_kenmerkwaarde2 AS groot_onderhoud,
i.ins_kenmerkwaarde3 AS afzuigkap,
i.ins_kenmerkwaarde4 AS koffieapparaat,
i.ins_kenmerkwaarde5 AS sanitair,
i.ins_kenmerkwaarde6 AS vloerwandbed,
i.ins_kenmerkwaarde7 AS glasbewassing,
i.ins_kenmerkwaarde8 AS glasbewassing_binnen,
i.ins_kenmerkwaarde9 AS glasbewassing_buiten
FROM fac_imp_ins i,
ins_v_udr_deel d,
ins_deel dd,
ins_srtdeel sd,
ins_srtgroep sg,
ins_tab_discipline disc,
ins_v_allsrtinstallatie sc
WHERE UPPER (d.locatie_code) = UPPER (i.alg_locatie_code)
AND UPPER (i.ins_deel_omschrijving) = UPPER (d.omschrijving)
AND dd.ins_deel_key = d.deel_key
AND sd.ins_srtdeel_key = dd.ins_srtdeel_key
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
AND sg.ins_discipline_key = disc.ins_discipline_key
AND disc.ins_discipline_key = 1001 --Periodiek onderhoud Landal
AND sc.niveau = 'S'
AND sc.ins_srtdeel_key = sd.ins_srtdeel_key
AND sc.ins_srtgroep_key = sg.ins_srtgroep_key
AND sg.ins_srtgroep_omschrijving = 'Bungalows Sluftervallei'
GROUP BY sc.ins_srtinstallatie_key,
sg.ins_srtgroep_key,
sg.ins_srtgroep_omschrijving,
sd.ins_srtdeel_key,
sd.ins_srtdeel_code,
i.ins_kenmerkwaarde2,
i.ins_kenmerkwaarde3,
i.ins_kenmerkwaarde4,
i.ins_kenmerkwaarde5,
i.ins_kenmerkwaarde6,
i.ins_kenmerkwaarde7,
i.ins_kenmerkwaarde8,
i.ins_kenmerkwaarde9;
CURSOR inspecties_overig IS
SELECT sc.ins_srtinstallatie_key,
sg.ins_srtgroep_key,
sg.ins_srtgroep_omschrijving,
sd.ins_srtdeel_key,
sd.ins_srtdeel_code,
i.ins_kenmerkwaarde2 AS groot_onderhoud,
i.ins_kenmerkwaarde3 AS afzuigkap,
i.ins_kenmerkwaarde4 AS koffieapparaat,
i.ins_kenmerkwaarde5 AS sanitair,
i.ins_kenmerkwaarde6 AS vloerwandbed,
i.ins_kenmerkwaarde7 AS glasbewassing,
i.ins_kenmerkwaarde8 AS glasbewassing_binnen,
i.ins_kenmerkwaarde9 AS glasbewassing_buiten
FROM fac_imp_ins i,
ins_v_udr_deel d,
ins_deel dd,
ins_srtdeel sd,
ins_srtgroep sg,
ins_tab_discipline disc,
ins_v_allsrtinstallatie sc
WHERE UPPER (d.locatie_code) = UPPER (i.alg_locatie_code)
AND UPPER (i.ins_deel_omschrijving) = UPPER (d.omschrijving)
AND dd.ins_deel_key = d.deel_key
AND sd.ins_srtdeel_key = dd.ins_srtdeel_key
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
AND sg.ins_discipline_key = disc.ins_discipline_key
AND disc.ins_discipline_key = 1001 --Periodiek onderhoud Landal
AND sc.niveau = 'S'
AND sc.ins_srtdeel_key = sd.ins_srtdeel_key
AND sc.ins_srtgroep_key = sg.ins_srtgroep_key
AND sg.ins_srtgroep_omschrijving <> 'Bungalows Sluftervallei'
AND sg.ins_srtgroep_omschrijving <> 'Bungalows Stroombroek'
GROUP BY sc.ins_srtinstallatie_key,
sg.ins_srtgroep_key,
sg.ins_srtgroep_omschrijving,
sd.ins_srtdeel_key,
sd.ins_srtdeel_code,
i.ins_kenmerkwaarde2,
i.ins_kenmerkwaarde3,
i.ins_kenmerkwaarde4,
i.ins_kenmerkwaarde5,
i.ins_kenmerkwaarde6,
i.ins_kenmerkwaarde7,
i.ins_kenmerkwaarde8,
i.ins_kenmerkwaarde9;
BEGIN
FOR rec IN inspecties_stroombroek
LOOP
BEGIN
--Glasbewassing binnen
--Stroombroek: 6 maal per jaar
IF rec.glasbewassing_binnen IS NOT NULL
THEN
INSERT INTO ins_srtcontrole (ins_srtinstallatie_key,
ins_srtcontrole_niveau,
ins_srtcontrole_percentage,
ins_srtcontrole_omschrijving,
ins_srtcontrole_periode,
ins_srtcontrole_eenheid,
ins_srtcontrole_mode,
ins_srtcontrole_kosten,
ins_srtcontrole_level,
ins_scenario_key,
ctr_discipline_key,
ins_srtcontrole_options)
VALUES (rec.ins_srtinstallatie_key,
'S',
NULL,
rec.ins_srtdeel_code,
2, -- periode (per eenheid)
3, -- eenheid (4 = jaarlijks, 3 = maandelijks)
1,
REPLACE (rec.glasbewassing_binnen, ',', '.'),
10,
1,
1061, --Glasbewassing Binnnen
13);
END IF;
--Glasbewassing buiten
--Stroombroek: 6 maal per jaar
IF rec.glasbewassing_buiten IS NOT NULL
THEN
INSERT INTO ins_srtcontrole (ins_srtinstallatie_key,
ins_srtcontrole_niveau,
ins_srtcontrole_percentage,
ins_srtcontrole_omschrijving,
ins_srtcontrole_periode,
ins_srtcontrole_eenheid,
ins_srtcontrole_mode,
ins_srtcontrole_kosten,
ins_srtcontrole_level,
ins_scenario_key,
ctr_discipline_key,
ins_srtcontrole_options)
VALUES (rec.ins_srtinstallatie_key,
'S',
NULL,
rec.ins_srtdeel_code,
2, -- periode (per eenheid)
3, -- eenheid (4 = jaarlijks, 3 = maandelijks)
1,
REPLACE (rec.glasbewassing_buiten, ',', '.'),
10,
1,
1062, --Glasbewassing Buiten
13);
END IF;
END;
END LOOP;
FOR rec IN inspecties_sluftervallei
LOOP
BEGIN
--Glasbewassing binnen
--Sluftervallei: 3 maal per jaar binnen / 6 maal per jaar buiten
IF rec.glasbewassing_binnen IS NOT NULL
THEN
INSERT INTO ins_srtcontrole (ins_srtinstallatie_key,
ins_srtcontrole_niveau,
ins_srtcontrole_percentage,
ins_srtcontrole_omschrijving,
ins_srtcontrole_periode,
ins_srtcontrole_eenheid,
ins_srtcontrole_mode,
ins_srtcontrole_kosten,
ins_srtcontrole_level,
ins_scenario_key,
ctr_discipline_key,
ins_srtcontrole_options)
VALUES (rec.ins_srtinstallatie_key,
'S',
NULL,
rec.ins_srtdeel_code,
4, -- periode (per eenheid)
3, -- eenheid (4 = jaarlijks, 3 = maandelijks)
1,
REPLACE (rec.glasbewassing_binnen, ',', '.'),
10,
1,
1061, --Glasbewassing Binnnen
13);
END IF;
--Glasbewassing buiten
--Sluftervallei: 3 maal per jaar binnen / 6 maal per jaar buiten
IF rec.glasbewassing_buiten IS NOT NULL
THEN
INSERT INTO ins_srtcontrole (ins_srtinstallatie_key,
ins_srtcontrole_niveau,
ins_srtcontrole_percentage,
ins_srtcontrole_omschrijving,
ins_srtcontrole_periode,
ins_srtcontrole_eenheid,
ins_srtcontrole_mode,
ins_srtcontrole_kosten,
ins_srtcontrole_level,
ins_scenario_key,
ctr_discipline_key,
ins_srtcontrole_options)
VALUES (rec.ins_srtinstallatie_key,
'S',
NULL,
rec.ins_srtdeel_code,
2, -- periode (per eenheid)
3, -- eenheid (4 = jaarlijks, 3 = maandelijks)
1,
REPLACE (rec.glasbewassing_buiten, ',', '.'),
10,
1,
1062, --Glasbewassing Buiten
13);
END IF;
END;
END LOOP;
FOR rec IN inspecties_overig
LOOP
BEGIN
--Glasbewassing binnen
--Overig (anders dan Sluftervallei & Stroombroek): 4 maal per jaar
IF rec.glasbewassing_binnen IS NOT NULL
THEN
INSERT INTO ins_srtcontrole (ins_srtinstallatie_key,
ins_srtcontrole_niveau,
ins_srtcontrole_percentage,
ins_srtcontrole_omschrijving,
ins_srtcontrole_periode,
ins_srtcontrole_eenheid,
ins_srtcontrole_mode,
ins_srtcontrole_kosten,
ins_srtcontrole_level,
ins_scenario_key,
ctr_discipline_key,
ins_srtcontrole_options)
VALUES (rec.ins_srtinstallatie_key,
'S',
NULL,
rec.ins_srtdeel_code,
3, -- periode (per eenheid)
3, -- eenheid (4 = jaarlijks, 3 = maandelijks)
1,
REPLACE (rec.glasbewassing_binnen, ',', '.'),
10,
1,
1061, --Glasbewassing Binnnen
13);
END IF;
--Glasbewassing buiten
--Overig (anders dan Sluftervallei & Stroombroek): 4 maal per jaar
IF rec.glasbewassing_buiten IS NOT NULL
THEN
INSERT INTO ins_srtcontrole (ins_srtinstallatie_key,
ins_srtcontrole_niveau,
ins_srtcontrole_percentage,
ins_srtcontrole_omschrijving,
ins_srtcontrole_periode,
ins_srtcontrole_eenheid,
ins_srtcontrole_mode,
ins_srtcontrole_kosten,
ins_srtcontrole_level,
ins_scenario_key,
ctr_discipline_key,
ins_srtcontrole_options)
VALUES (rec.ins_srtinstallatie_key,
'S',
NULL,
rec.ins_srtdeel_code,
3, -- periode (per eenheid)
3, -- eenheid (4 = jaarlijks, 3 = maandelijks)
1,
REPLACE (rec.glasbewassing_buiten, ',', '.'),
10,
1,
1062, --Glasbewassing Buiten
13);
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