BRCF#73270 -- Toekennen van melder en locatie via kostenplaats M2M
svn path=/Customer/trunk/; revision=56592
This commit is contained in:
@@ -264,6 +264,10 @@ AS
|
||||
v_automailkey NUMBER (10);
|
||||
v_email prs_perslid.prs_perslid_email%TYPE;
|
||||
v_negeer NUMBER (10);
|
||||
v_kostenplaats VARCHAR2 (4000);
|
||||
v_kp_key NUMBER (10);
|
||||
v_locatie_key NUMBER (10);
|
||||
v_afdeling_key NUMBER (10);
|
||||
|
||||
BEGIN
|
||||
-- Niet alle mails komen van te herleiden personen, dus als sender leeg is dan gebruiken we het generieke account.
|
||||
@@ -285,17 +289,6 @@ BEGIN
|
||||
WHERE UPPER (p.prs_perslid_email) = UPPER (pfrom)
|
||||
AND p.prs_perslid_verwijder IS NULL)) x;
|
||||
|
||||
IF sender IS NULL
|
||||
THEN
|
||||
|
||||
SELECT prs_perslid_key, d.prs_kostenplaats_key
|
||||
INTO sender, kostenplaats
|
||||
FROM prs_perslid p, prs_afdeling d
|
||||
WHERE p.prs_afdeling_key = d.prs_afdeling_key
|
||||
AND prs_perslid_oslogin = '_HMAIL';
|
||||
END IF;
|
||||
|
||||
|
||||
-- Geautomatiseerde mails hebben altijd hetzelfde onderwerp, zo kan via een eigen tabel de melding achterhaald worden.
|
||||
SELECT fac.safe_to_number (MIN(fac_usrdata_prijs))
|
||||
INTO v_automailkey
|
||||
@@ -339,6 +332,8 @@ END IF;
|
||||
1,
|
||||
1,
|
||||
'i'); -- 1234, of 12345, of 12, of 1 etc.
|
||||
|
||||
v_kostenplaats := REGEXP_SUBSTR(psubject, '\d+$'); -- Laatste getal in het onderwerp is de kostenplaats.
|
||||
|
||||
-- v_srtdisc :=
|
||||
-- REGEXP_SUBSTR (v_mldnum,
|
||||
@@ -350,6 +345,44 @@ END IF;
|
||||
-- v_mldkey := fac.safe_to_number (SUBSTR (v_mldnum, LENGTH (v_srtdisc) + 1)); -- 123, of 12345, of 12, of 1
|
||||
|
||||
v_mldkey := fac.safe_to_number (v_mldnum);
|
||||
|
||||
SELECT MAX (prs_kostenplaats_key)
|
||||
INTO v_kp_key
|
||||
FROM prs_kostenplaats
|
||||
WHERE prs_kostenplaats_upper = UPPER (v_kostenplaats)
|
||||
AND prs_kostenplaats_verwijder IS NULL;
|
||||
|
||||
IF v_kp_key IS NOT NULL
|
||||
THEN
|
||||
SELECT g.alg_locatie_key
|
||||
INTO v_locatie_key
|
||||
FROM alg_gebouw g, prs_afdeling p
|
||||
WHERE p.prs_afdeling_upper = 'CC-'||g.alg_gebouw_upper
|
||||
AND p.prs_kostenplaats_key = v_kp_key
|
||||
AND p.prs_afdeling_verwijder IS NULL;
|
||||
|
||||
SELECT MAX (p.prs_afdeling_key)
|
||||
INTO v_afdeling_key
|
||||
FROM alg_gebouw g, prs_afdeling p
|
||||
WHERE p.prs_kostenplaats_key = v_kp_key
|
||||
AND p.prs_afdeling_verwijder IS NULL;
|
||||
|
||||
SELECT MAX (prs_perslid_key)
|
||||
INTO sender
|
||||
FROM prs_perslid
|
||||
WHERE prs_afdeling_key = v_afdeling_key
|
||||
AND prs_perslid_verwijder IS NULL;
|
||||
END IF;
|
||||
|
||||
IF sender IS NULL
|
||||
THEN
|
||||
|
||||
SELECT prs_perslid_key, d.prs_kostenplaats_key
|
||||
INTO sender, kostenplaats
|
||||
FROM prs_perslid p, prs_afdeling d
|
||||
WHERE p.prs_afdeling_key = d.prs_afdeling_key
|
||||
AND prs_perslid_oslogin = '_HMAIL';
|
||||
END IF;
|
||||
|
||||
-- Uit onderwerp is de vermoedelijke juiste v_mldkey geparsed.
|
||||
-- Final check: is de afzender van de mail dezelfde als die van v_mldkey, deze afzender (mailadres) staat in flexprop (zie verderop hieronder in gedeelte bij insert melding).
|
||||
@@ -489,12 +522,12 @@ END IF;
|
||||
VALUES ('MLD',
|
||||
4, -- email
|
||||
SYSDATE,
|
||||
361, -- Maarssen Hoofdkantoor
|
||||
COALESCE (v_locatie_key, 361), -- Maarssen Hoofdkantoor wanneer locatie zelf leeg is
|
||||
SUBSTR (psubject, 1, 75), -- onderwerp is max 80 posities
|
||||
CASE
|
||||
WHEN LENGTH (psubject) > 75
|
||||
THEN
|
||||
'Volledig onderwerp: ' || psubject -- wanneeer het onderwerp is afgekapt plakken we het volledige onderwerp in de omschrijving
|
||||
'Volledig onderwerp: ' || psubject -- wanneer het onderwerp is afgekapt plakken we het volledige onderwerp in de omschrijving
|
||||
ELSE
|
||||
NULL
|
||||
END
|
||||
|
||||
Reference in New Issue
Block a user