333 lines
17 KiB
SQL
333 lines
17 KiB
SQL
--
|
|
-- $Id$
|
|
-- VANUIT CSUN#69839:
|
|
-- Er zijn 3600 objecten ingelezen, ingedeeld in 196 objectsoorten
|
|
-- Per objectsoort moeten er 6 periodieke taken worden ingesteld.
|
|
-- Dat zouden 1176 regels zijn die ingevoerd moeten worden (en mogelijk later nog een keer heel veel, wanneer ook andere Landal parken aansluiten.
|
|
-- Dit script bespaart dus veel handmatig invoerwerk.
|
|
|
|
-- CSU had 1 park vergeten aan te leveren, vandaar nog een inleesactie (CSUN#76238).
|
|
-- Omdat er bepaalde objectsoorten al bestonden bij dat park (Hoog Vaals), te weten 4CE2 en 6C1, moesten die worden uitgesloten (tov CSUN#69839), maar voor de rest is het een kopie van dát once-script.
|
|
-- Dit script maakt nog eens 48 periodieke taken aan.
|
|
|
|
DEFINE thisfile = 'CSUN#76238.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 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 sd.ins_srtdeel_code NOT IN ('4CE2', '6C1')
|
|
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
|
|
LOOP
|
|
BEGIN
|
|
--Groot onderhoud
|
|
IF rec.groot_onderhoud 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,
|
|
1, -- periode (per eenheid)
|
|
4, -- eenheid (4 = jaarlijks, 3 = maandelijks)
|
|
1,
|
|
REPLACE (rec.groot_onderhoud, ',', '.'),
|
|
10,
|
|
1,
|
|
1021, --groot onderhoud
|
|
13);
|
|
END IF;
|
|
|
|
--Afzuigkap
|
|
IF rec.afzuigkap 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,
|
|
1, -- periode (per eenheid)
|
|
4, -- eenheid (4 = jaarlijks, 3 = maandelijks)
|
|
1,
|
|
REPLACE (rec.afzuigkap, ',', '.'),
|
|
10,
|
|
1,
|
|
1041, --Afzuigkap
|
|
13);
|
|
END IF;
|
|
|
|
--Koffieapparaat
|
|
IF rec.koffieapparaat 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,
|
|
1, -- periode (per eenheid)
|
|
4, -- eenheid (4 = jaarlijks, 3 = maandelijks)
|
|
1,
|
|
REPLACE (rec.koffieapparaat, ',', '.'),
|
|
10,
|
|
1,
|
|
1042, --Koffieapparaat
|
|
13);
|
|
END IF;
|
|
|
|
--Sanitair dieptereiniging
|
|
IF rec.sanitair 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,
|
|
1, -- periode (per eenheid)
|
|
4, -- eenheid (4 = jaarlijks, 3 = maandelijks)
|
|
1,
|
|
REPLACE (rec.sanitair, ',', '.'),
|
|
10,
|
|
1,
|
|
1043, --Sanitair dieptereiniging
|
|
13);
|
|
END IF;
|
|
|
|
--Vloer/wand achter bed
|
|
IF rec.vloerwandbed 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,
|
|
1, -- periode (per eenheid)
|
|
4, -- eenheid (4 = jaarlijks, 3 = maandelijks)
|
|
1,
|
|
REPLACE (rec.vloerwandbed, ',', '.'),
|
|
10,
|
|
1,
|
|
1044, --Vloer/wand achter bed
|
|
13);
|
|
END IF;
|
|
|
|
--Glasbewassing
|
|
--In tegenstelling tot andere taken, is glasbewassing 3 maandelijks (ipv 1 jaarlijks)
|
|
IF rec.glasbewassing 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, ',', '.'),
|
|
10,
|
|
1,
|
|
1045, --Glasbewassing (binnen/buiten)
|
|
13);
|
|
END IF;
|
|
|
|
--Glasbewassing binnen (Sluftervallei)
|
|
--Tot dusver komt dit enkel voor bij Sluftervallei
|
|
--In tegenstelling tot andere taken, is glasbewassing 4 maandelijks (ipv 1 jaarlijks). Dus 3 maal per jaar, voor Sluftervallei.
|
|
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
|
|
--Tot dusver komt dit enkel voor bij Sluftervallei
|
|
--In tegenstelling tot andere taken, is glasbewassing 2 maandelijks (ipv 1 jaarlijks). Dus 6 maal per jaar, voor Sluftervallei.
|
|
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;
|
|
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 |