DHLD#84268 Implementatie gemeente Den Helder, aanpassing mail2melding

svn path=/Customer/trunk/; revision=67296
This commit is contained in:
Sander Schepers
2024-12-05 08:40:24 +00:00
parent 7b50f9028c
commit 3fe0979363

View File

@@ -166,48 +166,53 @@ CREATE OR REPLACE PROCEDURE dhld_processemail (pfrom IN VARCHAR2,
psessionid IN VARCHAR2,
pemailkey IN NUMBER)
AS
v_sender prs_perslid.prs_perslid_key%TYPE;
v_perslid_key prs_perslid.prs_perslid_key%TYPE;
v_kostenplaats prs_afdeling.prs_kostenplaats_key%TYPE;
v_mldstat mld_melding.mld_melding_status%TYPE;
v_stdmelding mld_stdmelding.mld_stdmelding_key%TYPE;
v_behandelteam ins_tab_discipline.ins_discipline_key%TYPE;
v_stduitvoer mld_stdmelding.mld_stdmelding_t_uitvoertijd%TYPE;
v_errormsg fac_result.fac_result_waarde%TYPE;
v_from VARCHAR2 (4000);
v_body VARCHAR2 (4000);
m_body VARCHAR2 (4000);
v_mldkey mld_melding.mld_melding_key%TYPE;
v_mailorigin mld_kenmerk.mld_kenmerk_key%TYPE;
v_mailattach mld_kenmerk.mld_kenmerk_key%TYPE;
v_locatiekey alg_locatie.alg_locatie_key%TYPE;
v_stroming VARCHAR2 (255);
v_folder_kkey NUMBER (10);
v_opdracht_id VARCHAR2 (255);
v_opdracht_key NUMBER (10);
v_typeopdr_key NUMBER (10);
v_count NUMBER (10);
c_onbekend_key NUMBER (10) := 12141; -- Onbekend
v_sender prs_perslid.prs_perslid_key%TYPE;
v_perslid_key prs_perslid.prs_perslid_key%TYPE;
v_kostenplaats prs_afdeling.prs_kostenplaats_key%TYPE;
v_kostenplaatsf prs_afdeling.prs_kostenplaats_key%TYPE;
v_kostenplaatsfa prs_afdeling.prs_kostenplaats_key%TYPE;
v_mldstat mld_melding.mld_melding_status%TYPE;
v_stdmelding mld_stdmelding.mld_stdmelding_key%TYPE;
v_behandelteam ins_tab_discipline.ins_discipline_key%TYPE;
v_stduitvoer mld_stdmelding.mld_stdmelding_t_uitvoertijd%TYPE;
v_errormsg fac_result.fac_result_waarde%TYPE;
v_from VARCHAR2 (4000);
v_from_key prs_perslid.prs_perslid_key%TYPE;
v_fromaddr VARCHAR2 (4000);
v_fromaddr_key prs_perslid.prs_perslid_key%TYPE;
v_body VARCHAR2 (4000);
m_body VARCHAR2 (4000);
v_mldkey mld_melding.mld_melding_key%TYPE;
v_mailorigin mld_kenmerk.mld_kenmerk_key%TYPE;
v_mailattach mld_kenmerk.mld_kenmerk_key%TYPE;
v_locatiekey alg_locatie.alg_locatie_key%TYPE;
v_stroming VARCHAR2 (255);
v_folder_kkey NUMBER (10);
v_opdracht_id VARCHAR2 (255);
v_opdracht_key NUMBER (10);
v_typeopdr_key NUMBER (10);
v_count NUMBER (10);
c_onbekend_key NUMBER (10) := 12141; -- Onbekend
-- v_van_email VARCHAR2 (255) := '';
BEGIN
v_sender := 3; --Standaard de persoon Facilitor
v_stdmelding := fac.safe_to_number (fac.getsetting ('defaultstdmelding'));
v_mailorigin := 362; --Kenmerk_key oorspronkelijke mail
v_mailattach := 1; --Kenmerk_key bijlagen bij vakgroeptype Meldingen (onderstaande 3 meldings-stromen vallen daar allen onder)
v_mailattach := 1; --Kenmerk_key bijlagen bij vakgroeptype Meldingen (onderstaande 3 meldings-stromen vallen daar allen onder)
v_typeopdr_key := 5; --Opdrachttype Standaard
v_behandelteam := 175; --Default behandelteam Meldpunt
v_behandelteam := 175; --Default behandelteam Meldpunt
-- Bepalen Stroming: Facilitair of ICT (of anders)
CASE
WHEN UPPER (pto) LIKE 'MELDPUNT@%'
THEN
v_stdmelding := 242; --Overige meldingen Facilitair
v_behandelteam := 175; -- Behandelteam Meldpunt
v_behandelteam := 175; -- Behandelteam Meldpunt
v_stroming := 'melding';
WHEN UPPER (pto) LIKE 'HELPDESK@%'
THEN
v_stdmelding := 243; --Overige meldingen ICT
v_behandelteam := 167; -- Behandelteam Helpdesk
v_behandelteam := 167; -- Behandelteam Helpdesk
v_stroming := 'melding';
WHEN UPPER (pto) LIKE 'MELDINGEN-SYSTEEMBEHEER@%'
THEN
@@ -223,31 +228,59 @@ BEGIN
v_stroming := 'melding';
END CASE;
-- Verwijder de Bounce Address Tag Validation
-- -- Verwijder de Bounce Address Tag Validation
--
-- v_errormsg := 'Verwijderen Bounce Address Tag';
--
-- IF pfrom LIKE 'prvs=%'
-- THEN
-- v_from := SUBSTR (pfrom, INSTR (pfrom, '=', -1) + 1);
-- ELSE
-- v_from := pfrom;
-- END IF;
v_errormsg := 'Verwijderen Bounce Address Tag';
IF pfrom LIKE 'prvs=%'
THEN
v_from := SUBSTR (pfrom, INSTR (pfrom, '=', -1) + 1);
ELSE
v_from := pfrom;
END IF;
v_body := pbody;
m_body := pbody;
SELECT fac_result_waarde
INTO v_from
FROM fac_result
WHERE fac_result_sessionid = psessionid AND fac_result_naam = 'from';
v_from := REPLACE (REPLACE (v_from, '>', ''), '<', '');
-- Valideer de sender in pfrom: kennen we deze?
v_errormsg := 'Valideren afzender';
SELECT COALESCE (MIN (p.prs_perslid_key), c_onbekend_key),
MIN (d.prs_kostenplaats_key)
INTO v_sender, v_kostenplaats
INTO v_from_key, v_kostenplaatsf
FROM prs_perslid p, prs_afdeling d
WHERE p.prs_afdeling_key = d.prs_afdeling_key
AND p.prs_perslid_verwijder IS NULL
AND UPPER (prs_perslid_email) = UPPER (v_from);
-- Indien een mail is doorgestuurd, dan moet er teruggevallen worden op de v_fromaddr.
SELECT fac_result_waarde
INTO v_fromaddr
FROM fac_result
WHERE fac_result_sessionid = psessionid AND fac_result_naam = 'fromaddr';
v_fromaddr := REPLACE (REPLACE (v_fromaddr, '>', ''), '<', '');
SELECT MIN (p.prs_perslid_key), MIN (d.prs_kostenplaats_key)
INTO v_fromaddr_key, v_kostenplaatsfa
FROM prs_perslid p, prs_afdeling d
WHERE p.prs_afdeling_key = d.prs_afdeling_key
AND p.prs_perslid_verwijder IS NULL
AND UPPER (prs_perslid_email) = UPPER (v_fromaddr);
--Samenvoegen: afzender als deze bekend is (from), anders oorspronkelijke afzender bij doorgestuurd bericht (fromaddr)
SELECT COALESCE (v_fromaddr_key, v_from_key, c_onbekend_key),
COALESCE (v_kostenplaatsfa, v_kostenplaatsf)
INTO v_sender, v_kostenplaats
FROM DUAL;
v_body := pbody;
m_body := pbody;
CASE
WHEN v_stroming = 'melding'
THEN
@@ -501,8 +534,6 @@ EXCEPTION
END;
/
------ payload end ------
SET DEFINE OFF