MAAS#61281 Koppeling Valuemation, notificaties bij toevoegen afmeldurl valuemation nog iets aangescherpt.

MAAS#61110 Koppeling Visma, manager wordt nu toegevoegd indien deze obv emailadres herkend wordt.

svn path=/Customer/trunk/; revision=47113
This commit is contained in:
Sander Schepers
2020-06-11 13:59:23 +00:00
parent ba02ead9c4
commit 7f4ece48b2

View File

@@ -130,6 +130,9 @@ AS
v_kenmstatusper_cur VARCHAR2 (4000);
v_vm_oplossing VARCHAR2 (4000);
v_vm_oplossing_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;
BEGIN
v_errormsg := '(0x143)' || v_mldkey || psubject || v_actie;
sender := 3; --Standaard de persoon Facilitor
@@ -152,7 +155,10 @@ BEGIN
stdmelding :=
fac.safe_to_number (fac.getsetting ('defaultstdmelding'));
mldstat := 4; -- Standaard de status in behandeling (4). Bij geen overeenkomend onderwerp, dan status Nieuw (2), zodat de melding kan worden gecorrigeerd naar een workflowstartmelding.
mldstat := 4;
-- Standaard de status in behandeling (4). Bij geen overeenkomend onderwerp, dan status Nieuw (2), zodat de melding kan worden gecorrigeerd naar een workflowstartmelding.
v_manager_key := NULL; --Standaard nog geen manager bepaald, dat doen we later en dit halen we dan uit m_body
v_lgkenmerk_key := NULL; --Standaard nog geen kenmerk bepaald, dat doen we later
-- Obv onderwerpveld bepalen welke stdmelding aangemaakt moet worden.
CASE
@@ -173,9 +179,29 @@ BEGIN
stdmelding := 564;
ELSE
stdmelding := 581; -- Dit is de verzamelbak van binnenkomende meldingen/mails waarvan niet de juiste stdmelding kan worden bepaald.
mldstat := 2; -- Standaard de status in behandeling (4). Bij geen overeenkomend onderwerp, dan status Nieuw (2), zodat de melding kan worden gecorrigeerd naar een workflowstartmelding.
mldstat := 2;
-- Standaard de status in behandeling (4). Bij geen overeenkomend onderwerp, dan status Nieuw (2), zodat de melding kan worden gecorrigeerd naar een workflowstartmelding.
END CASE;
--We halen het emailadres en dan de key van de manager op uit de body (altijd eindigend op @maasdelta.nl). En in body staat 'Email manager: '
v_errormsg :=
'(0x146)' || v_mldkey || psubject || v_actie || 'Bepalen manager';
v_manager_email :=
SUBSTR (
m_body,
INSTR (m_body, 'Email manager:') + 15,
INSTR (SUBSTR (m_body, INSTR (m_body, 'Email manager:')), '@')
- 3);
BEGIN
SELECT MAX (prs_perslid_key)
INTO v_manager_key
FROM prs_perslid
WHERE UPPER (prs_perslid_email) = UPPER (v_manager_email)
AND prs_perslid_verwijder IS NULL;
END;
-- Hier maken we de melding aan.
BEGIN
v_errormsg :=
@@ -227,7 +253,33 @@ BEGIN
RETURNING mld_melding_key
INTO mldkey;
v_errormsg := '(0x147)' || v_mldkey || psubject || v_actie;
-- Bepalen kenmerk_key obv stdmelding
BEGIN
SELECT km.mld_kenmerk_key
INTO v_lgkenmerk_key
FROM mld_kenmerk km
WHERE km.mld_srtkenmerk_key = 341 -- Kenmerksoort Leidinggevenden
AND stdmelding = km.mld_stdmelding_key;
END;
v_errormsg :=
'(0x147)'
|| v_mldkey
|| psubject
|| v_actie
|| 'Invoeren kenmerk Leidinggevende/manager';
--Hier proberen we bij de zojuist aangemaakte melding het kenmerk 'Leidinggevende' te vullen met de prs_perslid_key die hoort bij het manager-emailadres uit de body
CASE
WHEN v_lgkenmerk_key IS NOT NULL
THEN
INSERT INTO mld_kenmerkmelding (mld_melding_key,
mld_kenmerk_key,
mld_kenmerkmelding_waarde)
VALUES (mldkey, v_lgkenmerk_key, v_manager_key);
END CASE;
v_errormsg := '(0x148)' || v_mldkey || psubject || v_actie;
INSERT INTO fac_result (fac_result_sessionid,
fac_result_naam,
@@ -237,7 +289,7 @@ BEGIN
'Geregistreerd onder melding ' || mldkey);
-- Indien het een melding is die start is van een workflow, dan moet ook de eerstvolgende stap(pen) aangemaakt worden.
v_errormsg := '(0x146)' || v_mldkey || psubject || v_actie;
v_errormsg := '(0x149)' || v_mldkey || psubject || v_actie;
mld.mld_nextworkflowstep (mldkey, -1);
END;
-- Eerst hanteerde ik een End case en End om de twee kanalen te scheiden. Daarop liep het tweede kanaal (pto: helpdesk_maasdelta@) niet, vreemd genoeg. Door de End case en End uit te commentarieren liep de procedure wel.
@@ -249,7 +301,8 @@ BEGIN
v_errormsg := '(0x245)' || v_mldkey || psubject || v_actie;
stdmelding :=
fac.safe_to_number (fac.getsetting ('defaultstdmelding'));
mldstat := 2; -- Standaard de status in Nieuw (2). Bij geen overeenkomend onderwerp, dan status Nieuw (2), zodat de melding kan worden doorgezet en er een workflow gaat starten na het doorzetten.
mldstat := 2;
-- Standaard de status in Nieuw (2). Bij geen overeenkomend onderwerp, dan status Nieuw (2), zodat de melding kan worden doorgezet en er een workflow gaat starten na het doorzetten.
-- Bepalen van het ticknr. uit Valuemation, deze is vooral van belang bij het confirmation bericht
v_errormsg := '(0x246)' || v_mldkey || psubject || v_actie;
@@ -337,7 +390,8 @@ BEGIN
THEN
v_actie := 'ORDGOE';
v_kenmstatusoms :=
'Oplossing is aangereikt, bij akkoord kan de opdracht door u afgemeld worden via de link in Facilitor. Bij geen akkoord, dit graag aangeven via de portal van Valuemation.';
'Oplossing is aangereikt, bij akkoord kan de opdracht door u afgemeld worden via de link in Facilitor. Bij geen akkoord, dit graag aangeven via de portal van Valuemation.'
;
WHEN UPPER (SUBSTR (psubject, LENGTH (psubject) - 12, 13)) LIKE
'%ACCORDERING%'
THEN
@@ -1062,7 +1116,7 @@ BEGIN
v_opdrkey,
sender,
NULL,
'Status Valuemation: leeg --> ' || v_kenmstatusoms); -- # voorkomt notificatie
'Oplossing: leeg --> ' || v_vm_oplossing); -- # voorkomt notificatie
ELSE
v_errormsg :=
'(0x455)' || v_mldkey || psubject || v_actie;