From 1d445addd0b3c161403fd1a36194b2fef19dbc6b Mon Sep 17 00:00:00 2001 From: Sander Schepers Date: Mon, 15 Jul 2024 15:01:33 +0000 Subject: [PATCH] CSUN#84503 Import landal nieuwe prijzen svn path=/Customer/; revision=65579 --- onces/CSUN/CSUN#84503.sql | 299 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 299 insertions(+) create mode 100644 onces/CSUN/CSUN#84503.sql diff --git a/onces/CSUN/CSUN#84503.sql b/onces/CSUN/CSUN#84503.sql new file mode 100644 index 000000000..4883424aa --- /dev/null +++ b/onces/CSUN/CSUN#84503.sql @@ -0,0 +1,299 @@ +/* Formatted on 15/3/2024 13:12:15 (QP5 v5.381) */ +-- +-- $Id$ +-- +-- Er is een lijst voor 165 objectsoorten (huistypes bij verschillende parken) bij 7 verschillende periodieke taken met nieuwe tarieven. +-- Sommige parken hebben niet alle taken, maar de meeste wel. +-- Samen zijn er zo 1155 taken waarvan het tarief moet worden aangepast obv een lijst. +-- Dit script slaat de waarden leeg of 0 over (die houden dan het oude tarief), dus uiteindelijk toch ietsje minder dan 1155 taken. +-- 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#84503.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 (replace(ins_kenmerkwaarde1, ',', '.')) + AS groot_onderhoud, + fac.safe_to_number (replace(ins_kenmerkwaarde2, ',', '.')) + AS afzuigkap, + fac.safe_to_number (replace(ins_kenmerkwaarde3, ',', '.')) + AS koffieapparaat, + fac.safe_to_number (replace(ins_kenmerkwaarde4, ',', '.')) + AS sanitair, + fac.safe_to_number (replace(ins_kenmerkwaarde5, ',', '.')) + AS vloerwandbed, + fac.safe_to_number (replace(ins_kenmerkwaarde6, ',', '.')) + AS glas_buiten, + fac.safe_to_number (replace(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; + + 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 \ No newline at end of file