MAAS#61281 Koppeling Valuemation, email vanuit VM importeren als bijlage

svn path=/Customer/trunk/; revision=56373
This commit is contained in:
Sander Schepers
2022-06-24 04:31:18 +00:00
parent 0b87309c97
commit ee2b668ebf

View File

@@ -134,9 +134,11 @@ AS
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;
BEGIN
v_errormsg := '(0x143)' || v_mldkey || psubject || v_actie;
sender := 3; --Standaard de persoon Facilitor
v_mailorigin := 1342; --Opdrachtkenmerk_key originele mail-bijlage
-- Verwijder de Bounce Address Tag Validation
IF pfrom LIKE 'prvs=%'
@@ -392,6 +394,12 @@ BEGIN
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.';
WHEN UPPER (SUBSTR (psubject, LENGTH (psubject) - 50, 51)) LIKE
'%WACHT INMIDDELS EEN WEEK OP AANVULLENDE INFORMATIE%'
THEN
v_actie := 'ORDUPD';
v_kenmstatusoms :=
'Wacht inmiddels een week op uw reactie';
WHEN UPPER (SUBSTR (psubject, LENGTH (psubject) - 12, 13)) LIKE
'%ACCORDERING%'
THEN
@@ -647,17 +655,17 @@ BEGIN
|| ')');
END IF;
--Wanneer confirmationbericht niet binnen is gekomen, dan is de status nog Toegekend (6) en niet Geaccepteerd (8). Dat kunnen we nu ook omzetten.
--Wanneer confirmationbericht niet binnen is gekomen, dan is de status nog Toegekend (5) en niet Geaccepteerd (8). Dat kunnen we nu ook omzetten.
IF v_vmnr IS NOT NULL
AND v_opdrkey IS NOT NULL
AND v_status = 6 --Toegekend (en dus nog niet geaccepteerd)
AND v_status = 5 --Toegekend (en dus nog niet geaccepteerd)
THEN
v_errormsg :=
'(0x433)' || v_mldkey || psubject || v_actie;
UPDATE mld_opdr
SET mld_statusopdr_key = 8 -- Geaccepteerd
WHERE mld_opdr_key = v_opdrkey AND v_status = 6;
WHERE mld_opdr_key = v_opdrkey AND v_status = 5;
fac.trackaction (
'ORDACP',
@@ -671,7 +679,7 @@ BEGIN
SELECT COALESCE (
(SELECT mld_kenmerkopdr_waarde
FROM mld_kenmerkopdr
WHERE mld_kenmerk_key = 602 -- Kenmerk 'Status valuemation' (601 in ACCP)
WHERE mld_kenmerk_key = 602 -- Kenmerk 'Status valuemation'
AND mld_opdr_key = v_opdrkey
AND mld_kenmerkopdr_verwijder IS NULL),
'leeg')
@@ -681,7 +689,7 @@ BEGIN
SELECT COALESCE (
(SELECT mld_kenmerkopdr_waarde
FROM mld_kenmerkopdr
WHERE mld_kenmerk_key = 603 -- Kenmerk 'Status per' (623 in ACCP)
WHERE mld_kenmerk_key = 603 -- Kenmerk 'Status per'
AND mld_opdr_key = v_opdrkey
AND mld_kenmerkopdr_verwijder IS NULL),
'leeg')
@@ -697,7 +705,7 @@ BEGIN
INSERT INTO mld_kenmerkopdr (mld_opdr_key,
mld_kenmerk_key,
mld_kenmerkopdr_waarde)
VALUES (v_opdrkey, 602, 'Wacht op uw reactie'); -- Kenmerk 'Status valuemation' (601 in ACCP)
VALUES (v_opdrkey, 602, 'Wacht op uw reactie'); -- Kenmerk 'Status valuemation'
fac.trackaction (
'ORDUPD',
@@ -712,7 +720,7 @@ BEGIN
UPDATE mld_kenmerkopdr
SET mld_kenmerkopdr_waarde = v_kenmstatusoms
WHERE mld_opdr_key = v_opdrkey
AND mld_kenmerk_key = 602 -- Kenmerk 'Status valuemation' (601 in ACCP)
AND mld_kenmerk_key = 602 -- Kenmerk 'Status valuemation'
AND mld_kenmerkopdr_verwijder IS NULL;
fac.trackaction (
@@ -738,7 +746,7 @@ BEGIN
mld_kenmerk_key,
mld_kenmerkopdr_waarde)
VALUES (v_opdrkey,
603, -- -- Kenmerk 'Status per' (623 in ACCP)
603, -- -- Kenmerk 'Status per'
TO_CHAR (SYSDATE,
'DD-MM-YYYY HH24:MI:SS'))
RETURNING mld_kenmerkopdr_waarde
@@ -758,7 +766,7 @@ BEGIN
SET mld_kenmerkopdr_waarde =
TO_CHAR (SYSDATE, 'DD-MM-YYYY HH24:MI:SS')
WHERE mld_opdr_key = v_opdrkey
AND mld_kenmerk_key = 603 -- Kenmerk 'Status per' (623 in ACCP)
AND mld_kenmerk_key = 603 -- Kenmerk 'Status per'
AND mld_kenmerkopdr_verwijder IS NULL
RETURNING mld_kenmerkopdr_waarde
INTO v_kenmstatusper;
@@ -881,17 +889,17 @@ BEGIN
|| ')');
END IF;
--Wanneer confirmationbericht niet binnen is gekomen, dan is de status nog Toegekend (6) en niet Geaccepteerd (8). Dat kunnen we nu ook omzetten.
--Wanneer confirmationbericht niet binnen is gekomen, dan is de status nog Toegekend (5) en niet Geaccepteerd (8). Dat kunnen we nu ook omzetten.
IF v_vmnr IS NOT NULL
AND v_opdrkey IS NOT NULL
AND v_status = 6 --Toegekend (en dus nog niet geaccepteerd)
AND v_status = 5 --Toegekend (en dus nog niet geaccepteerd)
THEN
v_errormsg :=
'(0x443)' || v_mldkey || psubject || v_actie;
UPDATE mld_opdr
SET mld_statusopdr_key = 8 -- Geaccepteerd
WHERE mld_opdr_key = v_opdrkey AND v_status = 6;
WHERE mld_opdr_key = v_opdrkey AND v_status = 5;
fac.trackaction (
'ORDACP',
@@ -905,7 +913,7 @@ BEGIN
SELECT COALESCE (
(SELECT mld_kenmerkopdr_waarde
FROM mld_kenmerkopdr
WHERE mld_kenmerk_key = 602 -- Kenmerk 'Status valuemation' (601 in ACCP)
WHERE mld_kenmerk_key = 602 -- Kenmerk 'Status valuemation'
AND mld_opdr_key = v_opdrkey
AND mld_kenmerkopdr_verwijder IS NULL),
'leeg')
@@ -915,7 +923,7 @@ BEGIN
SELECT COALESCE (
(SELECT mld_kenmerkopdr_waarde
FROM mld_kenmerkopdr
WHERE mld_kenmerk_key = 603 -- Kenmerk 'Status per' (623 in ACCP)
WHERE mld_kenmerk_key = 603 -- Kenmerk 'Status per'
AND mld_opdr_key = v_opdrkey
AND mld_kenmerkopdr_verwijder IS NULL),
'leeg')
@@ -931,7 +939,7 @@ BEGIN
INSERT INTO mld_kenmerkopdr (mld_opdr_key,
mld_kenmerk_key,
mld_kenmerkopdr_waarde)
VALUES (v_opdrkey, 602, 'Oplossing is aangereikt'); -- Kenmerk 'Status valuemation' (601 in ACCP)
VALUES (v_opdrkey, 602, 'Oplossing is aangereikt'); -- Kenmerk 'Status valuemation'
fac.trackaction (
'ORDUPD',
@@ -948,7 +956,7 @@ BEGIN
UPDATE mld_kenmerkopdr
SET mld_kenmerkopdr_waarde = v_kenmstatusoms
WHERE mld_opdr_key = v_opdrkey
AND mld_kenmerk_key = 602 -- Kenmerk 'Status valuemation' (601 in ACCP)
AND mld_kenmerk_key = 602 -- Kenmerk 'Status valuemation'
AND mld_kenmerkopdr_verwijder IS NULL;
fac.trackaction (
@@ -975,7 +983,7 @@ BEGIN
mld_kenmerk_key,
mld_kenmerkopdr_waarde)
VALUES (v_opdrkey,
603, -- -- Kenmerk 'Status per' (623 in ACCP)
603, -- -- Kenmerk 'Status per'
TO_CHAR (SYSDATE,
'DD-MM-YYYY HH24:MI:SS'))
RETURNING mld_kenmerkopdr_waarde
@@ -995,7 +1003,7 @@ BEGIN
SET mld_kenmerkopdr_waarde =
TO_CHAR (SYSDATE, 'DD-MM-YYYY HH24:MI:SS')
WHERE mld_opdr_key = v_opdrkey
AND mld_kenmerk_key = 603 -- Kenmerk 'Status per' (623 in ACCP)
AND mld_kenmerk_key = 603 -- Kenmerk 'Status per'
AND mld_kenmerkopdr_verwijder IS NULL
RETURNING mld_kenmerkopdr_waarde
INTO v_kenmstatusper;
@@ -1315,9 +1323,9 @@ BEGIN
AND k1.mld_kenmerk_verwijder IS NULL
AND k1.mld_kenmerk_volgnummer >
k.mld_kenmerk_volgnummer);
IF v_kenmerk_key IS NOT NULL
THEN
IF mldkey IS NOT NULL AND v_kenmerk_key IS NOT NULL
THEN
INSERT INTO fac_result (fac_result_sessionid,
fac_result_naam,
fac_result_waarde)
@@ -1331,13 +1339,34 @@ BEGIN
|| v_kenmerk_key
|| '\');
END IF;
IF v_opdrkey IS NOT NULL
THEN
-- 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;
END IF;
END;
ELSE
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 - geen pto herkend', v_errormsg);
VALUES (psessionid, 'maillog', v_errormsg);
END CASE;
EXCEPTION
WHEN OTHERS
@@ -1385,6 +1414,7 @@ AS
FROM mld_opdr opdr, mld_opdr_note note
WHERE note.mld_opdr_key = opdr.mld_opdr_key
AND opdr.mld_typeopdr_key = 481
AND note.prs_perslid_key <> 3
AND mld_statusopdr_key IN (5, 8) -- Toegekend, geaccepteerd
AND (opdr.mld_opdr_externsyncdate IS NULL
OR opdr.mld_opdr_externsyncdate <