DHLD#84268 Implementatie gemeente Den Helder, aanpassing mail2melding
svn path=/Customer/trunk/; revision=67296
This commit is contained in:
113
DHLD/dhld.sql
113
DHLD/dhld.sql
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user