DHLD#84268 Implementatie gemeente Den Helder, Mail2Melding - ook reply's op opdrachten
svn path=/Customer/trunk/; revision=67032
This commit is contained in:
@@ -174,7 +174,6 @@ AS
|
||||
v_stduitvoer mld_stdmelding.mld_stdmelding_t_uitvoertijd%TYPE;
|
||||
v_errormsg fac_result.fac_result_waarde%TYPE;
|
||||
v_from VARCHAR2 (4000);
|
||||
-- v_fromaddr VARCHAR2 (4000);
|
||||
v_body VARCHAR2 (4000);
|
||||
m_body VARCHAR2 (4000);
|
||||
v_mldkey mld_melding.mld_melding_key%TYPE;
|
||||
@@ -188,12 +187,13 @@ AS
|
||||
v_typeopdr_key NUMBER (10);
|
||||
v_count NUMBER (10);
|
||||
c_onbekend_key NUMBER (10) := 3; -- Facilitor
|
||||
v_van_email VARCHAR2 (255) := '';
|
||||
-- v_van_email VARCHAR2 (255) := '';
|
||||
BEGIN
|
||||
v_sender := 3; --Standaard de persoon Facilitor
|
||||
v_stdmelding := fac.safe_to_number (fac.getsetting ('defaultstdmelding'));
|
||||
v_mailorigin := 261; --Kenmerk_key oorspronkelijke mail
|
||||
v_mailorigin := 362; --Kenmerk_key oorspronkelijke mail
|
||||
v_mailattach := 1; --Kenmerk_key bijlagen
|
||||
v_typeopdr_key := 5; --Opdrachttype Standaard
|
||||
|
||||
-- Bepalen Stroming: Facilitair of ICT (of anders)
|
||||
CASE
|
||||
@@ -231,7 +231,8 @@ BEGIN
|
||||
-- Valideer de sender in pfrom: kennen we deze?
|
||||
v_errormsg := 'Valideren afzender';
|
||||
|
||||
SELECT MIN (p.prs_perslid_key), MIN (d.prs_kostenplaats_key)
|
||||
SELECT COALESCE (MIN (p.prs_perslid_key), c_onbekend_key),
|
||||
MIN (d.prs_kostenplaats_key)
|
||||
INTO v_sender, v_kostenplaats
|
||||
FROM prs_perslid p, prs_afdeling d
|
||||
WHERE p.prs_afdeling_key = d.prs_afdeling_key
|
||||
@@ -364,44 +365,7 @@ BEGIN
|
||||
END IF;
|
||||
WHEN v_stroming = 'opdracht'
|
||||
THEN
|
||||
-- Probeer noteur te bepalen op basis van e-mail adres tussen '<>' na eerste voorkomen 'Van:'!
|
||||
v_errormsg := 'Fout bepalen noteur';
|
||||
|
||||
-- Valideer de sender in v_from: kennen we deze?
|
||||
SELECT MIN (prs_perslid_key),
|
||||
MIN (d.prs_kostenplaats_key),
|
||||
p.prs_perslid_email
|
||||
INTO v_sender, v_kostenplaats, v_van_email
|
||||
FROM prs_perslid p, prs_afdeling d
|
||||
WHERE p.prs_afdeling_key = d.prs_afdeling_key
|
||||
AND prs_perslid_verwijder IS NULL
|
||||
AND UPPER (p.prs_perslid_email) = UPPER (v_from);
|
||||
|
||||
SELECT COUNT (*)
|
||||
INTO v_count
|
||||
FROM prs_contactpersoon
|
||||
WHERE prs_contactpersoon_email IS NULL
|
||||
AND prs_perslid_key IS NOT NULL
|
||||
AND UPPER (prs_contactpersoon_email) LIKE
|
||||
UPPER (v_van_email) || '%';
|
||||
|
||||
IF v_count = 1
|
||||
THEN
|
||||
SELECT prs_perslid_key
|
||||
INTO v_perslid_key
|
||||
FROM prs_contactpersoon
|
||||
WHERE prs_contactpersoon_email IS NULL
|
||||
AND prs_perslid_key IS NOT NULL
|
||||
AND UPPER (prs_contactpersoon_email) LIKE
|
||||
UPPER (v_van_email) || '%';
|
||||
ELSE -- Noteur kan niet 1-duidig worden bepaald, dus Onbekend!
|
||||
SELECT prs_perslid_key
|
||||
INTO v_perslid_key
|
||||
FROM prs_v_aanwezigperslid
|
||||
WHERE prs_perslid_key = c_onbekend_key;
|
||||
END IF;
|
||||
|
||||
v_errormsg := 'Fout bepalen opdracht';
|
||||
v_errormsg := 'Fout: de opdracht id kon niet worden bepaald';
|
||||
v_opdracht_id := psubject;
|
||||
|
||||
IF REGEXP_INSTR (v_opdracht_id, '\d') > 0
|
||||
@@ -416,7 +380,9 @@ BEGIN
|
||||
REGEXP_INSTR (v_opdracht_id, '\s') - 1); -- Gedeelte tot eerste white space in v_exist_ticket!
|
||||
END IF;
|
||||
|
||||
v_errormsg := 'Fout bepalen opdracht ' || v_opdracht_id;
|
||||
v_errormsg :=
|
||||
'Fout: het opdrachtnummer kon niet worden bepaald'
|
||||
|| v_opdracht_id;
|
||||
|
||||
SELECT mld_opdr_key, mld_typeopdr_key
|
||||
INTO v_opdracht_key, v_typeopdr_key
|
||||
@@ -426,8 +392,6 @@ BEGIN
|
||||
|| TO_CHAR (mld_opdr_bedrijfopdr_volgnr) =
|
||||
SUBSTR (v_opdracht_id, REGEXP_INSTR (v_opdracht_id, '\d'));
|
||||
|
||||
|
||||
|
||||
v_errormsg := 'Fout toevoegen opdracht-notitie';
|
||||
|
||||
INSERT INTO mld_opdr_note (mld_opdr_key,
|
||||
@@ -435,20 +399,28 @@ BEGIN
|
||||
mld_opdr_note_omschrijving)
|
||||
VALUES (
|
||||
v_opdracht_key,
|
||||
v_perslid_key,
|
||||
pfrom
|
||||
|| CHR (13)
|
||||
|| CHR (10)
|
||||
|| psubject
|
||||
|| CHR (13)
|
||||
|| CHR (10)
|
||||
|| SUBSTR (v_body, 1, 2000));
|
||||
|
||||
v_errormsg := 'Fout bijwerken opdracht-kleurbolletje';
|
||||
|
||||
UPDATE mld_opdr
|
||||
SET mld_opdr_flag = 1 -- Zwart
|
||||
WHERE mld_opdr_key = v_opdracht_key;
|
||||
v_sender,
|
||||
SUBSTR (
|
||||
REPLACE (
|
||||
SUBSTR (
|
||||
'Mail van: '
|
||||
|| v_from
|
||||
|| ':'
|
||||
|| CHR (13)
|
||||
|| CHR (10)
|
||||
|| psubject
|
||||
|| CHR (13)
|
||||
|| CHR (10)
|
||||
|| v_body,
|
||||
1,
|
||||
4000),
|
||||
CHR (13)
|
||||
|| CHR (10)
|
||||
|| CHR (13)
|
||||
|| CHR (10),
|
||||
CHR (13) || CHR (10)),
|
||||
1,
|
||||
4000)); -- verwijder onnodige witregels
|
||||
|
||||
-- Find the lowest volgnummer of the Folder-flexfield.
|
||||
v_errormsg := 'Fout toevoegen opdracht-bijlage';
|
||||
@@ -518,6 +490,7 @@ EXCEPTION
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
------ payload end ------
|
||||
|
||||
SET DEFINE OFF
|
||||
|
||||
Reference in New Issue
Block a user