Files
Customer/onces/BLCC/BLCC#83156.sql
Maarten van der Heide f3d8744068 BLCC#83156 Once/Indexeren schoonmaaktarieven met 5% (uiterlijk 20-4-2024)
svn path=/Customer/; revision=64357
2024-04-22 13:34:42 +00:00

102 lines
4.5 KiB
SQL
Raw Blame History

--
-- $Id$
--
-- Customer specific once-script BLCC#83156.SQL.
DEFINE thisfile = 'BLCC#83156.sql'
DEFINE dbuser = '^BLCC'
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 ------
-- BLCC#83156: ACTUAL schoonmaaktarieven (Basic/Premium/Excellent) in ruimte-
-- kenmerkvelden indexeren met 5%!
-- [Vermenigvuldigen met 1,05 en afronden op 2 decimalen]
SET SERVEROUTPUT ON size 1000000;
DECLARE
CURSOR c
IS
-- SELECT ok.alg_onrgoed_key,
-- k.alg_kenmerk_key,
-- k.alg_kenmerk_omschrijving,
-- ok.alg_onrgoedkenmerk_key,
-- fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) waarde_oud,
-- ROUND (fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) * 1.02, 2) waarde_nieuw, -- Kak, dit had 5% moeten zijn!
-- k.alg_kenmerk_omschrijving
-- || ': '
-- || ok.alg_onrgoedkenmerk_waarde
-- || ' --> '
-- || TO_CHAR (ROUND (fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) * 1.02, 2)) -- Kak, dit had 5% moeten zijn!
-- tracking
-- FROM alg_v_aanwezigonrgoedkenmerk ok, alg_kenmerk k
-- WHERE fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) IS NOT NULL
-- AND ok.alg_onrgoed_niveau = 'R'
-- AND ok.alg_kenmerk_key = k.alg_kenmerk_key
-- AND k.alg_kenmerk_key IN (1540, 1541, 1542) -- Schoonmaaktarief Basic/Premium/Excellent
-- AND EXISTS (SELECT 1 FROM alg_v_aanwezigruimte WHERE alg_ruimte_key = ok.alg_onrgoed_key)
--ORDER BY 1, 2;
SELECT ok.alg_onrgoed_key,
ok.alg_kenmerk_key,
ok.alg_onrgoedkenmerk_key,
fac.safe_to_number (SUBSTR (SUBSTR (t.fac_tracking_oms, INSTR (t.fac_tracking_oms, ':') + 1), 1, INSTR (SUBSTR (t.fac_tracking_oms, INSTR (t.fac_tracking_oms, ':') + 1), '-->') - 1)) waarde_org,
fac.safe_to_number (SUBSTR (t.fac_tracking_oms, INSTR (t.fac_tracking_oms, '-->') + 3)) waarde_oud,
TO_CHAR (ROUND (fac.safe_to_number (SUBSTR (SUBSTR (t.fac_tracking_oms, INSTR (t.fac_tracking_oms, ':') + 1), 1, INSTR (SUBSTR (t.fac_tracking_oms, INSTR (t.fac_tracking_oms, ':') + 1), '-->') - 1)) * 1.05, 2)) waarde_nieuw,
SUBSTR (t.fac_tracking_oms, 1, INSTR (t.fac_tracking_oms, ':') - 1)
|| ': '
|| TRIM (SUBSTR (t.fac_tracking_oms, INSTR (t.fac_tracking_oms, '-->') + 3))
|| ' --> '
|| TO_CHAR (ROUND (fac.safe_to_number (SUBSTR (SUBSTR (t.fac_tracking_oms, INSTR (t.fac_tracking_oms, ':') + 1), 1, INSTR (SUBSTR (t.fac_tracking_oms, INSTR (t.fac_tracking_oms, ':') + 1), '-->') - 1)) * 1.05, 2))
tracking
FROM fac_tracking t, alg_v_aanwezigonrgoedkenmerk ok
WHERE t.fac_srtnotificatie_key = 118 -- ALGRUP
AND TRUNC (t.fac_tracking_datum) = fac.safe_to_date ('15-04-2024', 'dd-mm-yyyy')
AND t.fac_tracking_refkey = ok.alg_onrgoed_key
AND ok.alg_kenmerk_key IN (1540, 1541, 1542) -- Schoonmaaktarief Basic/Premium/Excellent
AND EXISTS
(SELECT 1
FROM alg_kenmerk
WHERE alg_kenmerk_key = ok.alg_kenmerk_key
AND alg_kenmerk_omschrijving = SUBSTR (t.fac_tracking_oms, 1, INSTR (t.fac_tracking_oms, ':') - 1))
ORDER BY 1, 2;
v_count NUMBER := 0;
BEGIN
FOR rec IN c
LOOP
BEGIN
UPDATE alg_onrgoedkenmerk
SET alg_onrgoedkenmerk_waarde = TO_CHAR (rec.waarde_nieuw)
WHERE alg_onrgoedkenmerk_key = rec.alg_onrgoedkenmerk_key;
fac.trackaction ('ALGRUP', rec.alg_onrgoed_key, NULL, NULL, rec.tracking);
v_count := v_count + 1;
END;
END LOOP;
DBMS_OUTPUT.PUT_LINE ('S: ' || TO_CHAR (v_count) || ' schoonmaaktarieven ge<67>ndexeerd');
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