MAAS#61281 Koppeling Valuemation, afmeldnotificatie opdracht naar Valuemation

svn path=/Customer/trunk/; revision=47046
This commit is contained in:
Sander Schepers
2020-06-04 12:59:30 +00:00
parent d9b466c525
commit 4a993b0feb

View File

@@ -128,6 +128,8 @@ AS
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);
BEGIN
v_errormsg := '(0x143)' || v_mldkey || psubject || v_actie;
sender := 3; --Standaard de persoon Facilitor
@@ -335,7 +337,13 @@ BEGIN
THEN
v_actie := 'ORDGOE';
v_kenmstatusoms :=
'Oplossing is aangereikt, bij akkoord kan de opdracht door u afgemeld worden. Akkoord graag ook versturen naar Valuemation via een opmerking.';
'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
v_actie := 'ORDOPL';
v_kenmstatusoms :=
'Oplossing is aangereikt, bij akkoord kan de opdracht door u afgemeld worden via de link in Facilitor.';
WHEN UPPER (SUBSTR (psubject, LENGTH (psubject) - 45, 46)) LIKE
'%IN VERBAND MET HET UITBLIJVEN VAN EEN REACTIE%'
THEN
@@ -650,7 +658,7 @@ BEGIN
v_errormsg :=
'(0x435)' || v_mldkey || psubject || v_actie;
IF v_kenmstatusoms_cur <> v_kenmstatusoms_cur
IF v_kenmstatusoms <> v_kenmstatusoms_cur
THEN
UPDATE mld_kenmerkopdr
SET mld_kenmerkopdr_waarde = v_kenmstatusoms
@@ -765,7 +773,7 @@ BEGIN
END IF;
--Hieronder de afhandeling van het bericht wanneer de melding vanuit Valuemation ter goedkeuring in Facilitor wordt aangeboden.
--Op termijn ontvangen we hopelijk nog 2 url's in fac_result in de html-body om de oplossing te accepteren of af te wijzen.
--Op termijn ontvangen we hopelijk nog 2 url's in fac_result in de html-body om de oplossing te accepteren of af te wijzen. 1 url wordt al geboden (zie actie ORDOPL hieronder)
IF v_actie = 'ORDGOE'
THEN
v_errormsg := '(0x440)' || v_mldkey || psubject || v_actie;
@@ -844,7 +852,7 @@ BEGIN
'#Melding gevalideerd in Valuemation'); -- # voorkomt notificatie
END IF;
-- Hieronder bepalen of de opdracht al de kenmerken mbt status Valuemation gevuld heeft.
-- Hieronder bepalen of de opdracht al de kenmerken gevuld heeft.
SELECT COALESCE (
(SELECT mld_kenmerkopdr_waarde
FROM mld_kenmerkopdr
@@ -994,10 +1002,114 @@ BEGIN
|| ')');
END IF;
--Hieronder de afhandeling van het bericht wanneer de melding vanuit Valuemation ter goedkeuring in Facilitor wordt aangeboden. Er wordt een kenmerk gevuld met een url naar VM om de oplossing te accorderen
--Deze actie ORDOPL komt als 2e email met de email die hoort bij actie ORDGOE. Een aantal handelingen worden hier dus niet (dubbel) gedaan (dat gebeurt al bij ORDGOE)
IF v_actie = 'ORDOPL'
THEN
v_errormsg := '(0x450)' || v_mldkey || psubject || v_actie;
v_vmnr :=
SUBSTR (REGEXP_REPLACE (psubject, '[^0-9]', ''), 1, 12);
SELECT SUBSTR (
SUBSTR (
fac_result_waarde,
(INSTR (
fac_result_waarde,
'https://support.aareon.com/vmwebprod/vmweb?task=runlink'))),
0,
INSTR (
SUBSTR (
fac_result_waarde,
(INSTR (
fac_result_waarde,
'https://support.aareon.com/vmwebprod/vmweb?task=runlink'))),
'"')
- 1)
INTO v_vm_oplossing
FROM fac_result
WHERE fac_result_naam = 'htmlbody'
AND fac_result_sessionid = psessionid;
IF v_opdrkey IS NOT NULL
THEN
v_errormsg :=
'(0x451)' || v_mldkey || psubject || v_actie;
-- Hieronder bepalen of de opdracht al het kenmerk gevuld heeft.
SELECT COALESCE (
(SELECT mld_kenmerkopdr_waarde
FROM mld_kenmerkopdr
WHERE mld_kenmerk_key = 801 -- Kenmerk 'Klik hier als de oplossing akkoord is'
AND mld_opdr_key = v_opdrkey
AND mld_kenmerkopdr_verwijder IS NULL),
'leeg')
INTO v_vm_oplossing_cur
FROM DUAL;
-- Als de kenmerken nog niet bestaan, dan toevoegen bij de opdracht, anders updaten indien gewijzigd.
IF v_vm_oplossing_cur = 'leeg'
THEN
v_errormsg :=
'(0x454)' || v_mldkey || psubject || v_actie;
INSERT INTO mld_kenmerkopdr (mld_opdr_key,
mld_kenmerk_key,
mld_kenmerkopdr_waarde)
VALUES (v_opdrkey, 801, v_vm_oplossing); -- Kenmerk 'Klik hier als de oplossing akkoord is'
fac.trackaction (
'ORDUPD',
v_opdrkey,
sender,
NULL,
'Status Valuemation: leeg --> ' || v_kenmstatusoms); -- # voorkomt notificatie
ELSE
v_errormsg :=
'(0x455)' || v_mldkey || psubject || v_actie;
IF v_vm_oplossing <> v_vm_oplossing_cur
THEN
UPDATE mld_kenmerkopdr
SET mld_kenmerkopdr_waarde = v_vm_oplossing
WHERE mld_opdr_key = v_opdrkey
AND mld_kenmerk_key = 801 -- Kenmerk 'Klik hier als de oplossing akkoord is'
AND mld_kenmerkopdr_verwijder IS NULL;
fac.trackaction (
'ORDUPD',
v_opdrkey,
sender,
NULL,
'Oplossing: '
|| v_vm_oplossing_cur
|| ' --> '
|| v_vm_oplossing); -- # voorkomt notificatie
ELSE
v_errormsg :=
'(0x456)' || v_mldkey || psubject || v_actie;
END IF;
END IF;
END IF;
ELSE
fac.writelog (
'PROCESSEMAIL',
'E',
'Melding kan niet bijgewerkt worden met de aangeboden oplossing'
|| pfrom
|| '['
|| v_errormsg
|| ']',
'OTHERS (error '
|| SQLCODE
|| '/'
|| SUBSTR (SQLERRM, 1, 100)
|| ')');
END IF;
--Hieronder de afhandeling van het bericht wanneer de melding is opgelost in Valuemation.
IF v_actie = 'ORDAFM'
THEN
v_errormsg := '(0x450)' || v_mldkey || psubject || v_actie;
v_errormsg := '(0x460)' || v_mldkey || psubject || v_actie;
v_vmnr :=
SUBSTR (REGEXP_REPLACE (psubject, '[^0-9]', ''), 1, 12);
@@ -1068,7 +1180,7 @@ BEGIN
INSERT INTO mld_opdr_note (mld_opdr_key,
mld_opdr_note_omschrijving,
prs_perslid_key)
prs_perslid_key)
VALUES (v_opdrkey,
SUBSTR (
psubject || CHR (13) || CHR (10)