WELK#66143 Notificatie naar kerngebruikers bij notitie vanuit Valuemation
svn path=/Customer/trunk/; revision=56563
This commit is contained in:
249
WELK/welk.sql
249
WELK/welk.sql
@@ -341,47 +341,50 @@ AS
|
||||
nj.fac_notificatie_job_nextrun
|
||||
- (nj.fac_notificatie_job_interval / 24);
|
||||
|
||||
CREATE OR REPLACE PROCEDURE welk_processemail (pfrom IN VARCHAR2,
|
||||
pto IN VARCHAR2,
|
||||
psubject IN VARCHAR2,
|
||||
pbody IN VARCHAR2,
|
||||
psessionid IN VARCHAR2,
|
||||
pemailkey IN NUMBER)
|
||||
/* Formatted on 12/7/2022 22:01:33 (QP5 v5.371) */
|
||||
CREATE OR REPLACE PROCEDURE WELK.welk_processemail (pfrom IN VARCHAR2,
|
||||
pto IN VARCHAR2,
|
||||
psubject IN VARCHAR2,
|
||||
pbody IN VARCHAR2,
|
||||
psessionid IN VARCHAR2,
|
||||
pemailkey IN NUMBER)
|
||||
AS
|
||||
sender prs_perslid.prs_perslid_key%TYPE;
|
||||
mldkey mld_melding.mld_melding_key%TYPE;
|
||||
mldstat mld_melding.mld_melding_status%TYPE;
|
||||
stdmelding mld_stdmelding.mld_stdmelding_key%TYPE;
|
||||
v_errormsg fac_result.fac_result_waarde%TYPE;
|
||||
v_from VARCHAR2 (4000);
|
||||
v_body VARCHAR2 (4000);
|
||||
m_body VARCHAR2 (4000);
|
||||
v_actie VARCHAR2 (4000);
|
||||
v_vmnr mld_melding.mld_melding_externnr%TYPE; --Ticketnr Valuemation
|
||||
v_opdrextnr mld_melding.mld_melding_externnr%TYPE; --Huidig externnr
|
||||
v_mldkey mld_melding.mld_melding_key%TYPE; --bestaande mld_melding_key
|
||||
v_opdrkey mld_opdr.mld_opdr_key%TYPE; --bestaande mld_opdr_key
|
||||
v_opdrvolgnr mld_opdr.mld_opdr_bedrijfopdr_volgnr%TYPE; --bestaande volgnr
|
||||
v_status mld_opdr.mld_statusopdr_key%TYPE; -- status opdracht
|
||||
v_kenmerk_key NUMBER (10);
|
||||
v_kenmstatusoms VARCHAR2 (4000);
|
||||
v_kenmstatusper VARCHAR2 (4000);
|
||||
v_kenmstatusoms_cur VARCHAR2 (4000);
|
||||
v_kenmstatusper_cur VARCHAR2 (4000);
|
||||
v_vm_oplossing VARCHAR2 (4000);
|
||||
v_vm_oplossing_cur VARCHAR2 (4000);
|
||||
v_vm_niet_akkoord VARCHAR2 (4000);
|
||||
v_vm_niet_akkoord_cur VARCHAR2 (4000);
|
||||
v_manager_email VARCHAR2 (4000);
|
||||
v_manager_key prs_perslid.prs_perslid_key%TYPE;
|
||||
v_lgkenmerk_key mld_kenmerk.mld_kenmerk_key%TYPE;
|
||||
v_mailorigin mld_kenmerk.mld_kenmerk_key%TYPE;
|
||||
v_attachorigin mld_kenmerk.mld_kenmerk_key%TYPE;
|
||||
sender prs_perslid.prs_perslid_key%TYPE;
|
||||
mldkey mld_melding.mld_melding_key%TYPE;
|
||||
mldstat mld_melding.mld_melding_status%TYPE;
|
||||
stdmelding mld_stdmelding.mld_stdmelding_key%TYPE;
|
||||
v_errormsg fac_result.fac_result_waarde%TYPE;
|
||||
v_from VARCHAR2 (4000);
|
||||
v_body VARCHAR2 (4000);
|
||||
m_body VARCHAR2 (4000);
|
||||
v_actie VARCHAR2 (4000);
|
||||
v_vmnr mld_melding.mld_melding_externnr%TYPE; --Ticketnr Valuemation
|
||||
v_opdrextnr mld_melding.mld_melding_externnr%TYPE; --Huidig externnr
|
||||
v_mldkey mld_melding.mld_melding_key%TYPE; --bestaande mld_melding_key
|
||||
v_opdrkey mld_opdr.mld_opdr_key%TYPE; --bestaande mld_opdr_key
|
||||
v_opdrvolgnr mld_opdr.mld_opdr_bedrijfopdr_volgnr%TYPE; --bestaande volgnr
|
||||
v_status mld_opdr.mld_statusopdr_key%TYPE; -- status opdracht
|
||||
v_kenmerk_key NUMBER (10);
|
||||
v_kenmstatusoms VARCHAR2 (4000);
|
||||
v_kenmstatusper VARCHAR2 (4000);
|
||||
v_kenmstatusoms_cur VARCHAR2 (4000);
|
||||
v_kenmstatusper_cur VARCHAR2 (4000);
|
||||
v_vm_oplossing VARCHAR2 (4000);
|
||||
v_vm_oplossing_cur VARCHAR2 (4000);
|
||||
v_vm_niet_akkoord VARCHAR2 (4000);
|
||||
v_vm_niet_akkoord_cur VARCHAR2 (4000);
|
||||
v_manager_email VARCHAR2 (4000);
|
||||
v_kerngebruikers_email VARCHAR2 (4000);
|
||||
v_manager_key prs_perslid.prs_perslid_key%TYPE;
|
||||
v_lgkenmerk_key mld_kenmerk.mld_kenmerk_key%TYPE;
|
||||
v_mailorigin mld_kenmerk.mld_kenmerk_key%TYPE;
|
||||
v_attachorigin mld_kenmerk.mld_kenmerk_key%TYPE;
|
||||
BEGIN
|
||||
v_errormsg := '(0x143)' || v_mldkey || psubject || v_actie;
|
||||
sender := 4; --Standaard de persoon Facilitor
|
||||
v_mailorigin := 410; --Kenmerk_key originele mail-bijlage
|
||||
v_attachorigin := 411; --Kenmerk_key bijlage
|
||||
v_kerngebruikers_email := NULL;
|
||||
|
||||
-- Verwijder de Bounce Address Tag Validation
|
||||
IF pfrom LIKE 'prvs=%'
|
||||
@@ -498,7 +501,7 @@ BEGIN
|
||||
THEN
|
||||
v_actie := 'ORDUPD';
|
||||
v_kenmstatusoms :=
|
||||
'Wacht inmiddels een week op uw reactie';
|
||||
'Wacht inmiddels een week op uw reactie';
|
||||
WHEN UPPER (SUBSTR (psubject, LENGTH (psubject) - 11, 12)) LIKE
|
||||
'%IS OPGELOST%'
|
||||
THEN
|
||||
@@ -524,6 +527,34 @@ BEGIN
|
||||
v_actie := NULL;
|
||||
END CASE;
|
||||
|
||||
-- Bepalen van emailadres(sen) van kerngebruikers bij de melding (in kenmerken) tbv notificatie.
|
||||
v_errormsg :=
|
||||
'(0x250)'
|
||||
|| 'Kan kerngebruikers niet bepalen: '
|
||||
|| v_mldkey
|
||||
|| psubject;
|
||||
|
||||
SELECT (SELECT LISTAGG (email, '; ')
|
||||
WITHIN GROUP (ORDER BY email) AS email
|
||||
FROM (SELECT p.prs_perslid_email AS email
|
||||
FROM mld_kenmerkmelding kmm,
|
||||
mld_kenmerk km,
|
||||
prs_perslid p
|
||||
WHERE kmm.mld_melding_key =
|
||||
m.mld_melding_key
|
||||
AND kmm.mld_kenmerk_key =
|
||||
km.mld_kenmerk_key
|
||||
AND km.mld_srtkenmerk_key = 363 -- Kenmerksoort Kerngebruikers
|
||||
AND kmm.mld_kenmerkmelding_verwijder
|
||||
IS NULL
|
||||
AND p.prs_perslid_email IS NOT NULL
|
||||
AND p.prs_perslid_verwijder IS NULL
|
||||
AND fac.safe_to_number (
|
||||
kmm.mld_kenmerkmelding_waarde) =
|
||||
p.prs_perslid_key))
|
||||
INTO v_kerngebruikers_email
|
||||
FROM mld_melding m
|
||||
WHERE m.mld_melding_key = v_mldkey;
|
||||
|
||||
BEGIN
|
||||
--Hieronder de acties die gedaan moeten worden.
|
||||
@@ -697,6 +728,26 @@ BEGIN
|
||||
sender,
|
||||
NULL,
|
||||
'#Notitie toegevoegd vanuit e-mail'); -- # voorkomt notificatie
|
||||
|
||||
IF v_kerngebruikers_email IS NOT NULL
|
||||
THEN
|
||||
INSERT INTO fac_notificatie (
|
||||
fac_srtnotificatie_key,
|
||||
fac_notificatie_status,
|
||||
fac_notificatie_receiver_email,
|
||||
fac_notificatie_oms,
|
||||
fac_notificatie_refkey,
|
||||
fac_notificatie_prioriteit)
|
||||
VALUES (
|
||||
442, --MLDNOB
|
||||
2,
|
||||
v_kerngebruikers_email,
|
||||
'Bij de opdracht bij melding '
|
||||
|| v_mldkey
|
||||
|| ' is een notitie binnengekomen vanuit Valuemation',
|
||||
v_mldkey,
|
||||
2);
|
||||
END IF;
|
||||
ELSE
|
||||
fac.writelog (
|
||||
'PROCESSEMAIL',
|
||||
@@ -967,6 +1018,26 @@ BEGIN
|
||||
sender,
|
||||
NULL,
|
||||
'#Notitie toegevoegd vanuit e-mail'); -- # voorkomt notificatie
|
||||
|
||||
IF v_kerngebruikers_email IS NOT NULL
|
||||
THEN
|
||||
INSERT INTO fac_notificatie (
|
||||
fac_srtnotificatie_key,
|
||||
fac_notificatie_status,
|
||||
fac_notificatie_receiver_email,
|
||||
fac_notificatie_oms,
|
||||
fac_notificatie_refkey,
|
||||
fac_notificatie_prioriteit)
|
||||
VALUES (
|
||||
442, --MLDNOB
|
||||
2,
|
||||
v_kerngebruikers_email,
|
||||
'Bij de opdracht bij melding '
|
||||
|| v_mldkey
|
||||
|| ' is een notitie binnengekomen vanuit Valuemation',
|
||||
v_mldkey,
|
||||
2);
|
||||
END IF;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
@@ -1558,6 +1629,26 @@ BEGIN
|
||||
sender,
|
||||
NULL,
|
||||
'#Notitie toegevoegd vanuit e-mail'); -- # voorkomt notificatie
|
||||
|
||||
IF v_kerngebruikers_email IS NOT NULL
|
||||
THEN
|
||||
INSERT INTO fac_notificatie (
|
||||
fac_srtnotificatie_key,
|
||||
fac_notificatie_status,
|
||||
fac_notificatie_receiver_email,
|
||||
fac_notificatie_oms,
|
||||
fac_notificatie_refkey,
|
||||
fac_notificatie_prioriteit)
|
||||
VALUES (
|
||||
442, --MLDNOB
|
||||
2,
|
||||
v_kerngebruikers_email,
|
||||
'Bij de opdracht bij melding '
|
||||
|| v_mldkey
|
||||
|| ' is een notitie binnengekomen vanuit Valuemation',
|
||||
v_mldkey,
|
||||
2);
|
||||
END IF;
|
||||
ELSE
|
||||
fac.writelog (
|
||||
'PROCESSEMAIL',
|
||||
@@ -1619,59 +1710,65 @@ BEGIN
|
||||
-- AND k1.mld_kenmerk_verwijder IS NULL
|
||||
-- AND k1.mld_kenmerk_volgnummer >
|
||||
-- k.mld_kenmerk_volgnummer);
|
||||
|
||||
|
||||
IF v_opdrkey IS NOT NULL
|
||||
THEN
|
||||
-- Bijlagen toevoegen uit email
|
||||
v_errormsg :=
|
||||
'(0x601)' || v_mldkey || psubject || v_actie;
|
||||
-- Bijlagen toevoegen uit email
|
||||
v_errormsg :=
|
||||
'(0x601)' || v_mldkey || psubject || v_actie;
|
||||
|
||||
INSERT INTO fac_result (fac_result_sessionid,
|
||||
fac_result_naam,
|
||||
fac_result_waarde)
|
||||
VALUES (
|
||||
psessionid,
|
||||
'kenmerkpath',
|
||||
'MLD\O'
|
||||
|| TO_CHAR (TRUNC (v_opdrkey / 1000),
|
||||
'FM0000')
|
||||
|| '___\O'
|
||||
|| v_opdrkey
|
||||
|| '\'
|
||||
|| v_attachorigin
|
||||
|| '\');
|
||||
INSERT INTO fac_result (fac_result_sessionid,
|
||||
fac_result_naam,
|
||||
fac_result_waarde)
|
||||
VALUES (
|
||||
psessionid,
|
||||
'kenmerkpath',
|
||||
'MLD\O'
|
||||
|| TO_CHAR (
|
||||
TRUNC (v_opdrkey / 1000),
|
||||
'FM0000')
|
||||
|| '___\O'
|
||||
|| v_opdrkey
|
||||
|| '\'
|
||||
|| v_attachorigin
|
||||
|| '\');
|
||||
|
||||
|
||||
|
||||
-- Originele email wordt opgeslagen bij de opdracht
|
||||
v_errormsg :=
|
||||
'(0x602`)' || v_mldkey || psubject || v_actie;
|
||||
-- Originele email wordt opgeslagen bij de opdracht
|
||||
v_errormsg :=
|
||||
'(0x602`)' || v_mldkey || psubject || v_actie;
|
||||
|
||||
INSERT INTO fac_result (fac_result_sessionid,
|
||||
fac_result_naam,
|
||||
fac_result_waarde)
|
||||
VALUES (
|
||||
psessionid,
|
||||
'kenmerkorgmailpath',
|
||||
'MLD\O'
|
||||
|| TO_CHAR (TRUNC (v_opdrkey / 1000),
|
||||
'FM0000')
|
||||
|| '___\O'
|
||||
|| v_opdrkey
|
||||
|| '\'
|
||||
|| v_mailorigin
|
||||
|| '\');
|
||||
END IF;
|
||||
INSERT INTO fac_result (fac_result_sessionid,
|
||||
fac_result_naam,
|
||||
fac_result_waarde)
|
||||
VALUES (
|
||||
psessionid,
|
||||
'kenmerkorgmailpath',
|
||||
'MLD\O'
|
||||
|| TO_CHAR (
|
||||
TRUNC (v_opdrkey / 1000),
|
||||
'FM0000')
|
||||
|| '___\O'
|
||||
|| v_opdrkey
|
||||
|| '\'
|
||||
|| v_mailorigin
|
||||
|| '\');
|
||||
END IF;
|
||||
END IF;
|
||||
END;
|
||||
ELSE
|
||||
v_errormsg := '(0x900)' || v_mldkey || psubject || v_actie || ' - geen pto herkend';
|
||||
v_errormsg :=
|
||||
'(0x900)'
|
||||
|| v_mldkey
|
||||
|| psubject
|
||||
|| v_actie
|
||||
|| ' - geen pto herkend';
|
||||
|
||||
INSERT INTO fac_result (fac_result_sessionid,
|
||||
fac_result_naam,
|
||||
fac_result_waarde)
|
||||
VALUES (psessionid,
|
||||
'maillog',
|
||||
v_errormsg);
|
||||
VALUES (psessionid, 'maillog', v_errormsg);
|
||||
END CASE;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
|
||||
Reference in New Issue
Block a user