From f27bc6ca5659d0745b16454e987010af3ad9ad15 Mon Sep 17 00:00:00 2001 From: Sander Schepers Date: Thu, 9 Jan 2025 20:48:03 +0000 Subject: [PATCH] PCHA#86889 Impact- en risicoanalyse Priva cloudmeldingen vereist svn path=/Customer/trunk/; revision=67558 --- PCHA/pcha.sql | 61 +++++++++++++++++++++++++++++---------------------- 1 file changed, 35 insertions(+), 26 deletions(-) diff --git a/PCHA/pcha.sql b/PCHA/pcha.sql index d2dd7bfad..b5b48d011 100644 --- a/PCHA/pcha.sql +++ b/PCHA/pcha.sql @@ -1463,14 +1463,13 @@ AS v_ruimte alg_ruimte.alg_ruimte_nr%TYPE; v_ruimte_key alg_ruimte.alg_ruimte_key%TYPE; v_locatie_key alg_locatie.alg_locatie_key%TYPE; - v_datum VARCHAR2 (100); v_tijdstip VARCHAR2 (100); v_status VARCHAR2 (100); v_installatiecode VARCHAR2 (100); - v_meldingstekst VARCHAR2 (100); + v_meldingstekst VARCHAR2 (100); v_date DATE; - --v_sync_bericht6 NUMBER; --Sync 6 is uitgeschakeld (PCHA#71924) - v_sync_bericht8 NUMBER; + v_sync_bericht8 NUMBER; --Sync 8 is niet meer actief met PCHA#86889 + v_sync_priva NUMBER; v_korting NUMBER; v_count NUMBER; v_error NUMBER; @@ -1486,8 +1485,8 @@ BEGIN errormsg := '(0x143)'; v_error := 0; v_errormsg := ''; - -- v_sync_bericht6 := 0; --Sync 6 is uitgeschakeld (PCHA#71924) v_sync_bericht8 := 0; + v_sync_priva := 0; v_korting := 1; -- Verwijder de Bounce Address Tag Validation @@ -1539,13 +1538,26 @@ BEGIN CASE v_tag -- PCHA#64425: Bepalen welke vakgroeptype de melding in moet gaan (wel of niet korting), Meldingsgroep "FMIS COMFORT" = geen korting - WHEN 'MELDINGSGROEP' + WHEN 'ALARM GROUP' --voor PCHA#86889 nog 'MELDINGSGROEP' THEN + errormsg := '(0x1453)'; + -- Eerst even kijken naar de sync berichten + CASE TRIM (UPPER (v_value)) + WHEN 'CLOUD' + THEN + v_sync_priva := 1; + v_error := 1; + EXIT; + ELSE + v_stdmelding_omschrijving := 'Onbekend'; + END CASE; + IF UPPER(TRIM(v_value)) = 'FMIS COMFORT' OR UPPER(TRIM(v_value)) = 'NU FMIS COMFORT' THEN v_korting := 0; + END IF; - WHEN 'MELDINGSTEKST' + WHEN 'MESSAGE' --voor PCHA#86889 nog 'MELDINGSTEKST' THEN v_onderwerp := SUBSTR (v_value, 1, 60); v_meldingstekst := TRIM (v_value); @@ -1568,10 +1580,10 @@ BEGIN END CASE; errormsg := '(0x1454)'; - WHEN 'INUIT' + WHEN 'EVENT' --voor PCHA#86889 nog 'INUIT' THEN v_inuit := UPPER (TRIM (v_value)); - WHEN 'INSTALLATIEDEEL' + WHEN 'LOCATION' --voor PCHA#86889 nog 'INSTALLATIEDEEL' THEN -- plak er ' x' achter om er zeker van te zijn dat er een spatie in staat. v_ruimte := @@ -1594,16 +1606,13 @@ BEGIN v_errormsg := 'Ruimte kan niet gevonden worden: ' || v_ruimte; END; - WHEN 'INSTALLATIECODE' + WHEN 'POINT REFERENCE' --voor PCHA#86889 nog 'INSTALLATIECODE' THEN v_installatiecode := TRIM (v_value); WHEN 'STATUS' THEN v_status := TRIM (v_value); - WHEN 'ONDERSTATION DATUM' - THEN - v_datum := TRIM (v_value); - WHEN 'ONDERSTATION TIJD' + WHEN 'OCCURRED (SITE''S TIMEZONE)' --voor PCHA#86889 nog 'ONDERSTATION TIJD', ook was er separaat een datum/tijd, nu in 1 en filtert op "Occurred (site's timezone)" THEN v_tijdstip := TRIM (v_value); ELSE @@ -1611,7 +1620,7 @@ BEGIN END CASE; END LOOP; - IF v_error = 0 AND v_sync_bericht8 = 0 + IF v_error = 0 AND v_sync_priva = 0 THEN BEGIN -- Zoek omschrijving op in eigen tabel met key 221 (met korting) of 501 (zonder korting) @@ -1642,10 +1651,9 @@ BEGIN || v_meldingstekst; END; - -- bepalen van de timestamp uit het emailbericht v_date := - fac.safe_to_date (v_datum || ' ' || v_tijdstip, - 'dd-mm-yyyy hh24:mi.ss'); + fac.safe_to_date (v_tijdstip, + 'dd-mm-yyyy hh24:mi.ss'); IF v_date IS NULL THEN @@ -1692,7 +1700,7 @@ BEGIN || ';' || v_onderwerp; - IF UPPER (v_inuit) = 'IN' + IF UPPER (v_inuit) = 'ALARM ACTIVATED' THEN IF v_count = 0 THEN @@ -1783,7 +1791,7 @@ BEGIN fac.backtrackaction ('MLDAFM', v_melding_key, v_sender, - v_date); + SYSDATE); -- Aangepast in #86889. Dit was eerst v_date, maar daarmee werd in de tracking eerst afgemeld en pas dan MLDNEW/MLDACP -- Vul het kenmerk Bedrijf (malus) met de waarde van Homij uit de eigen tabel mld.upsertmeldingkenmerk (61, v_melding_key, 182); @@ -1835,17 +1843,18 @@ BEGIN IF v_error = 1 THEN - -- foutafhandeling + -- foutafhandeling fac.writelog ('PROCESSEMAIL', 'E', v_errormsg, SUBSTR (pbody, 1, 1000)); + IF v_sync_priva = 1 + THEN + UPDATE fac_usrdata + SET fac_usrdata_vervaldatum = SYSDATE + WHERE fac_usrdata_key = 2061; -- Laatste off-line melding Priva Cloud + END IF; ELSE - --IF v_sync_bericht6 = 1 - --THEN - -- UPDATE fac_usrdata - -- SET fac_usrdata_vervaldatum = SYSDATE - -- WHERE fac_usrdata_key = 41; IF v_sync_bericht8 = 1 THEN UPDATE fac_usrdata