320 lines
12 KiB
SQL
320 lines
12 KiB
SQL
-- $Id$
|
|
--
|
|
-- Er zijn voor 273 objectsoorten (huistypes bij verschillende parken) 7 verschillende periodieke taken ingesteld.
|
|
-- Sommige parken hebben niet alle taken, maar de meeste wel.
|
|
-- Samen zijn er zo 1865 taken waarvan het tarief moet worden aangepast obv een lijst.
|
|
-- Die wordt geimporteerd (FIP object), zonder te verwerken en van daaruit worden de taken bijgewerkt (inclusief tracking).
|
|
-- Dit script bespaart dus veel handmatig invoerwerk en vermindert de foutkans.
|
|
--
|
|
DEFINE thisfile = 'CSUN#88129.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
|
|
v_ctr_discipline_key ins_tab_discipline.ins_discipline_key%TYPE;
|
|
v_actuele_kosten ins_srtcontrole.ins_srtcontrole_kosten%TYPE;
|
|
v_groot_onderhoud ins_srtcontrole.ins_srtcontrole_kosten%TYPE;
|
|
v_afzuigkap ins_srtcontrole.ins_srtcontrole_kosten%TYPE;
|
|
v_koffieapparaat ins_srtcontrole.ins_srtcontrole_kosten%TYPE;
|
|
v_sanitair ins_srtcontrole.ins_srtcontrole_kosten%TYPE;
|
|
v_vloerwandbed ins_srtcontrole.ins_srtcontrole_kosten%TYPE;
|
|
v_glas_buiten ins_srtcontrole.ins_srtcontrole_kosten%TYPE;
|
|
v_glas_binnen ins_srtcontrole.ins_srtcontrole_kosten%TYPE;
|
|
|
|
CURSOR taken IS
|
|
SELECT sc.srtgroep_oms,
|
|
i.ins_srtdeel_code,
|
|
srtc.ins_srtcontrole_key,
|
|
srtc.ctr_discipline_key,
|
|
disc.ins_discipline_omschrijving,
|
|
srtc.ins_srtinstallatie_key,
|
|
fac.safe_to_number (i.ins_kenmerkwaarde1)
|
|
AS groot_onderhoud,
|
|
fac.safe_to_number (i.ins_kenmerkwaarde2)
|
|
AS afzuigkap,
|
|
fac.safe_to_number (i.ins_kenmerkwaarde3)
|
|
AS koffieapparaat,
|
|
fac.safe_to_number (i.ins_kenmerkwaarde4)
|
|
AS sanitair,
|
|
fac.safe_to_number (i.ins_kenmerkwaarde5)
|
|
AS vloerwandbed,
|
|
fac.safe_to_number (i.ins_kenmerkwaarde6)
|
|
AS glas_buiten,
|
|
fac.safe_to_number (i.ins_kenmerkwaarde7)
|
|
AS glas_binnen,
|
|
srtc.ins_srtcontrole_kosten
|
|
AS actuele_kosten
|
|
FROM fac_imp_ins i,
|
|
ins_srtcontrole srtc,
|
|
ins_tab_discipline disc,
|
|
ins_v_allsrtinstallatie sc
|
|
WHERE sc.ins_srtinstallatie_key = srtc.ins_srtinstallatie_key
|
|
AND UPPER (TRIM (sc.srtgroep_oms)) =
|
|
UPPER (TRIM (i.ins_srtgroep_omschrijving))
|
|
AND UPPER (TRIM (sc.srtdeel_oms)) =
|
|
UPPER (TRIM (i.ins_srtdeel_code))
|
|
AND srtc.ctr_discipline_key = disc.ins_discipline_key
|
|
GROUP BY sc.srtgroep_oms,
|
|
i.ins_srtdeel_code,
|
|
srtc.ins_srtcontrole_key,
|
|
srtc.ins_srtcontrole_omschrijving,
|
|
srtc.ctr_discipline_key,
|
|
disc.ins_discipline_omschrijving,
|
|
srtc.ins_srtinstallatie_key,
|
|
i.ins_kenmerkwaarde1,
|
|
i.ins_kenmerkwaarde2,
|
|
i.ins_kenmerkwaarde3,
|
|
i.ins_kenmerkwaarde4,
|
|
i.ins_kenmerkwaarde5,
|
|
i.ins_kenmerkwaarde6,
|
|
i.ins_kenmerkwaarde7,
|
|
srtc.ins_srtcontrole_kosten
|
|
ORDER BY sc.srtgroep_oms,
|
|
i.ins_srtdeel_code,
|
|
disc.ins_discipline_omschrijving;
|
|
BEGIN
|
|
FOR rec IN taken
|
|
LOOP
|
|
BEGIN
|
|
v_groot_onderhoud := NULL;
|
|
v_afzuigkap := NULL;
|
|
v_koffieapparaat := NULL;
|
|
v_sanitair := NULL;
|
|
v_vloerwandbed := NULL;
|
|
v_glas_buiten := NULL;
|
|
v_glas_binnen := NULL;
|
|
|
|
v_ctr_discipline_key := rec.ctr_discipline_key;
|
|
v_actuele_kosten := rec.actuele_kosten;
|
|
v_groot_onderhoud := rec.groot_onderhoud;
|
|
v_afzuigkap := rec.afzuigkap;
|
|
v_koffieapparaat := rec.koffieapparaat;
|
|
v_sanitair := rec.sanitair;
|
|
v_vloerwandbed := rec.vloerwandbed;
|
|
v_glas_buiten := rec.glas_buiten;
|
|
v_glas_binnen := rec.glas_binnen;
|
|
|
|
IF v_ctr_discipline_key = 1021 --groot onderhoud
|
|
AND v_actuele_kosten <> v_groot_onderhoud
|
|
AND v_groot_onderhoud IS NOT NULL
|
|
AND v_groot_onderhoud <> 0
|
|
--AND v_actuele_kosten IS NOT NULL
|
|
THEN
|
|
UPDATE ins_srtcontrole
|
|
SET ins_srtcontrole_kosten = v_groot_onderhoud
|
|
WHERE ins_srtcontrole_key = rec.ins_srtcontrole_key;
|
|
|
|
fac.trackaction (
|
|
'CTRSUP',
|
|
rec.ins_srtcontrole_key,
|
|
4,
|
|
NULL,
|
|
'Gewijzigd '
|
|
|| CHR (10)
|
|
|| 'Kosten 1: '
|
|
|| v_actuele_kosten
|
|
|| ' --> '
|
|
|| v_groot_onderhoud);
|
|
END IF;
|
|
|
|
IF v_ctr_discipline_key = 1041 --afzuigkap
|
|
AND v_actuele_kosten <> v_afzuigkap
|
|
AND v_afzuigkap IS NOT NULL
|
|
AND v_afzuigkap <> 0
|
|
--AND v_actuele_kosten IS NOT NULL
|
|
THEN
|
|
UPDATE ins_srtcontrole
|
|
SET ins_srtcontrole_kosten = v_afzuigkap
|
|
WHERE ins_srtcontrole_key = rec.ins_srtcontrole_key;
|
|
|
|
fac.trackaction (
|
|
'CTRSUP',
|
|
rec.ins_srtcontrole_key,
|
|
4,
|
|
NULL,
|
|
'Gewijzigd '
|
|
|| CHR (10)
|
|
|| 'Kosten 1: '
|
|
|| v_actuele_kosten
|
|
|| ' --> '
|
|
|| v_afzuigkap);
|
|
END IF;
|
|
|
|
IF v_ctr_discipline_key = 1042 --koffieapparaat
|
|
AND v_actuele_kosten <> v_koffieapparaat
|
|
AND v_koffieapparaat IS NOT NULL
|
|
AND v_koffieapparaat <> 0
|
|
--AND v_actuele_kosten IS NOT NULL
|
|
THEN
|
|
UPDATE ins_srtcontrole
|
|
SET ins_srtcontrole_kosten = v_koffieapparaat
|
|
WHERE ins_srtcontrole_key = rec.ins_srtcontrole_key;
|
|
|
|
fac.trackaction (
|
|
'CTRSUP',
|
|
rec.ins_srtcontrole_key,
|
|
4,
|
|
NULL,
|
|
'Gewijzigd '
|
|
|| CHR (10)
|
|
|| 'Kosten 1: '
|
|
|| v_actuele_kosten
|
|
|| ' --> '
|
|
|| v_koffieapparaat);
|
|
END IF;
|
|
|
|
-- Sinds 1 april 2025 nieuw!
|
|
IF v_ctr_discipline_key = 1701 --waterkoker
|
|
AND v_actuele_kosten <> v_koffieapparaat
|
|
AND v_koffieapparaat IS NOT NULL
|
|
AND v_koffieapparaat <> 0
|
|
--AND v_actuele_kosten IS NOT NULL
|
|
THEN
|
|
UPDATE ins_srtcontrole
|
|
SET ins_srtcontrole_kosten = v_koffieapparaat
|
|
WHERE ins_srtcontrole_key = rec.ins_srtcontrole_key;
|
|
|
|
fac.trackaction (
|
|
'CTRSUP',
|
|
rec.ins_srtcontrole_key,
|
|
4,
|
|
NULL,
|
|
'Gewijzigd '
|
|
|| CHR (10)
|
|
|| 'Kosten 1: '
|
|
|| v_actuele_kosten
|
|
|| ' --> '
|
|
|| v_koffieapparaat);
|
|
END IF;
|
|
|
|
IF v_ctr_discipline_key = 1043 --sanitair
|
|
AND v_actuele_kosten <> v_sanitair
|
|
AND v_sanitair IS NOT NULL
|
|
AND v_sanitair <> 0
|
|
--AND v_actuele_kosten IS NOT NULL
|
|
THEN
|
|
UPDATE ins_srtcontrole
|
|
SET ins_srtcontrole_kosten = v_sanitair
|
|
WHERE ins_srtcontrole_key = rec.ins_srtcontrole_key;
|
|
|
|
fac.trackaction (
|
|
'CTRSUP',
|
|
rec.ins_srtcontrole_key,
|
|
4,
|
|
NULL,
|
|
'Gewijzigd '
|
|
|| CHR (10)
|
|
|| 'Kosten 1: '
|
|
|| v_actuele_kosten
|
|
|| ' --> '
|
|
|| v_sanitair);
|
|
END IF;
|
|
|
|
IF v_ctr_discipline_key = 1044 --vloerwandbed
|
|
AND v_actuele_kosten <> v_vloerwandbed
|
|
AND v_vloerwandbed IS NOT NULL
|
|
AND v_vloerwandbed <> 0
|
|
--AND v_actuele_kosten IS NOT NULL
|
|
THEN
|
|
UPDATE ins_srtcontrole
|
|
SET ins_srtcontrole_kosten = v_vloerwandbed
|
|
WHERE ins_srtcontrole_key = rec.ins_srtcontrole_key;
|
|
|
|
fac.trackaction (
|
|
'CTRSUP',
|
|
rec.ins_srtcontrole_key,
|
|
4,
|
|
NULL,
|
|
'Gewijzigd '
|
|
|| CHR (10)
|
|
|| 'Kosten 1: '
|
|
|| v_actuele_kosten
|
|
|| ' --> '
|
|
|| v_vloerwandbed);
|
|
END IF;
|
|
|
|
IF v_ctr_discipline_key = (1062) --glas_buiten
|
|
--AND v_actuele_kosten <> v_glas_buiten
|
|
AND v_glas_buiten IS NOT NULL
|
|
AND v_glas_buiten <> 0
|
|
--AND v_actuele_kosten IS NOT NULL
|
|
THEN
|
|
UPDATE ins_srtcontrole
|
|
SET ins_srtcontrole_kosten = v_glas_buiten
|
|
WHERE ins_srtcontrole_key = rec.ins_srtcontrole_key;
|
|
|
|
fac.trackaction (
|
|
'CTRSUP',
|
|
rec.ins_srtcontrole_key,
|
|
4,
|
|
NULL,
|
|
'Gewijzigd '
|
|
|| CHR (10)
|
|
|| 'Kosten 1: '
|
|
|| v_actuele_kosten
|
|
|| ' --> '
|
|
|| v_glas_buiten);
|
|
END IF;
|
|
|
|
|
|
IF v_ctr_discipline_key = 1061 --glas_binnen
|
|
--AND v_actuele_kosten <> v_glas_binnen
|
|
AND v_glas_binnen IS NOT NULL
|
|
AND v_glas_binnen <> 0
|
|
--AND v_actuele_kosten IS NOT NULL
|
|
THEN
|
|
UPDATE ins_srtcontrole
|
|
SET ins_srtcontrole_kosten = v_glas_binnen
|
|
WHERE ins_srtcontrole_key = rec.ins_srtcontrole_key;
|
|
|
|
fac.trackaction (
|
|
'CTRSUP',
|
|
rec.ins_srtcontrole_key,
|
|
4,
|
|
NULL,
|
|
'Gewijzigd '
|
|
|| CHR (10)
|
|
|| 'Kosten 1: '
|
|
|| v_actuele_kosten
|
|
|| ' --> '
|
|
|| v_glas_binnen);
|
|
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 |