Files
Customer/onces/CSUN/CSUN#69839.sql
Sander Schepers 3508f35010 CSUN#69839 CSU krijgt een nieuwe klant: Landal
svn path=/Customer/; revision=56390
2022-06-27 11:15:55 +00:00

328 lines
16 KiB
SQL

--
-- $Id$
--
-- 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.
--
DEFINE thisfile = 'CSUN#69839.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
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