MAAS#61281 Valuemation Maasdelta, verbeterde logging en automatische updates versturen
svn path=/Customer/trunk/; revision=51144
This commit is contained in:
243
MAAS/maas.sql
243
MAAS/maas.sql
@@ -390,8 +390,7 @@ 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
|
||||
@@ -421,12 +420,12 @@ BEGIN
|
||||
--Als de actie niet bepaald kan worden obv het onderwerp van de mail uit Valuemation, dan doen we niets met de mail.
|
||||
IF v_actie = NULL
|
||||
THEN
|
||||
v_errormsg := '(0x360)' || v_mldkey || psubject;
|
||||
v_errormsg := '(0x361)' || v_mldkey || psubject;
|
||||
|
||||
fac.writelog (
|
||||
'PROCESSEMAIL',
|
||||
'E',
|
||||
'Mail kon niet ingelezen worden afzender:'
|
||||
'Onbekende actie, mail van: '
|
||||
|| pfrom
|
||||
|| '['
|
||||
|| v_errormsg
|
||||
@@ -807,20 +806,21 @@ BEGIN
|
||||
NULL,
|
||||
'#Notitie toegevoegd vanuit e-mail'); -- # voorkomt notificatie
|
||||
END IF;
|
||||
ELSE
|
||||
fac.writelog (
|
||||
'PROCESSEMAIL',
|
||||
'E',
|
||||
'Melding kan niet bijgewerkt worden, onbekende opdrachtkey'
|
||||
|| pfrom
|
||||
|| '['
|
||||
|| v_errormsg
|
||||
|| ']',
|
||||
'OTHERS (error '
|
||||
|| SQLCODE
|
||||
|| '/'
|
||||
|| SUBSTR (SQLERRM, 1, 100)
|
||||
|| ')');
|
||||
-- ELSE
|
||||
-- HIER TOCH GEEN LOGGING, ACTIE MAG ANDERS ZIJN DAN ORDUPD. DIT CREEERT TEVEEL ONNODIGE LOGGING.
|
||||
-- fac.writelog (
|
||||
-- 'PROCESSEMAIL',
|
||||
-- 'E',
|
||||
-- 'Melding kan niet bijgewerkt worden, onbekende opdrachtkey'
|
||||
-- || pfrom
|
||||
-- || '['
|
||||
-- || v_errormsg
|
||||
-- || ']',
|
||||
-- 'OTHERS (error '
|
||||
-- || SQLCODE
|
||||
-- || '/'
|
||||
-- || SUBSTR (SQLERRM, 1, 100)
|
||||
-- || ')');
|
||||
END IF;
|
||||
|
||||
--Hieronder de afhandeling van het bericht wanneer de melding vanuit Valuemation ter goedkeuring in Facilitor wordt aangeboden.
|
||||
@@ -1037,20 +1037,21 @@ BEGIN
|
||||
NULL,
|
||||
'Oplossing is aangereikt');
|
||||
END IF;
|
||||
ELSE
|
||||
fac.writelog (
|
||||
'PROCESSEMAIL',
|
||||
'E',
|
||||
'Melding kan niet bijgewerkt worden, onbekende opdrachtkey'
|
||||
|| pfrom
|
||||
|| '['
|
||||
|| v_errormsg
|
||||
|| ']',
|
||||
'OTHERS (error '
|
||||
|| SQLCODE
|
||||
|| '/'
|
||||
|| SUBSTR (SQLERRM, 1, 100)
|
||||
|| ')');
|
||||
-- ELSE
|
||||
-- HIER TOCH GEEN LOGGING, ACTIE MAG ANDERS ZIJN DAN ORDGOE. DIT CREEERT TEVEEL ONNODIGE LOGGING.
|
||||
-- fac.writelog (
|
||||
-- 'PROCESSEMAIL',
|
||||
-- 'E',
|
||||
-- 'Melding kan niet bijgewerkt worden, onbekende opdrachtkey'
|
||||
-- || pfrom
|
||||
-- || '['
|
||||
-- || v_errormsg
|
||||
-- || ']',
|
||||
-- 'OTHERS (error '
|
||||
-- || SQLCODE
|
||||
-- || '/'
|
||||
-- || SUBSTR (SQLERRM, 1, 100)
|
||||
-- || ')');
|
||||
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
|
||||
@@ -1141,20 +1142,21 @@ BEGIN
|
||||
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)
|
||||
|| ')');
|
||||
-- ELSE
|
||||
-- HIER TOCH GEEN LOGGING, ACTIE MAG ANDERS ZIJN DAN ORDOPL. DIT CREEERT TEVEEL ONNODIGE LOGGING.
|
||||
-- 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.
|
||||
@@ -1305,6 +1307,7 @@ EXCEPTION
|
||||
END;
|
||||
/
|
||||
|
||||
/* Formatted on 28-4-2021 16:01:59 (QP5 v5.136.908.31019) */
|
||||
CREATE OR REPLACE PROCEDURE maas_export_valuemation (
|
||||
p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2,
|
||||
@@ -1318,38 +1321,50 @@ AS
|
||||
-- Dit haalt het externnummer op van een opdrachtkenmerk indien externnr bij de melding nog leeg is
|
||||
CURSOR sendagain
|
||||
IS
|
||||
SELECT DISTINCT
|
||||
m.mld_melding_key,
|
||||
to_char(m.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr) as opdrachtnummer,
|
||||
o.mld_opdr_key,
|
||||
o.mld_opdr_externnr AS externnr
|
||||
FROM mld_melding m,
|
||||
mld_opdr o,
|
||||
mld_kenmerkopdr ko,
|
||||
mld_kenmerk km,
|
||||
mld_srtkenmerk skm
|
||||
WHERE m.mld_melding_key = o.mld_melding_key
|
||||
AND o.mld_typeopdr_key = 481 --Opdrachttype Aareon.
|
||||
--AND o.mld_opdr_externnr IS NOT NULL --Bij nader inzien is het niet raar om een email die niet is aangekomen in VM (externnr leeg) nogmaals te verzenden
|
||||
AND o.mld_opdr_key = ko.mld_opdr_key
|
||||
AND km.mld_kenmerk_key = ko.mld_kenmerk_key
|
||||
AND skm.mld_srtkenmerk_key = km.mld_srtkenmerk_key
|
||||
AND skm.mld_srtkenmerk_key = 383 --Kenmerksoort 'Opnieuw versturen' (checkbox) (421 in ACCP)
|
||||
AND o.mld_statusopdr_key NOT IN (1, 6, 7, 9) --Afgewezen, afgemeld, verwerkt, afgerond
|
||||
AND ko.mld_kenmerkopdr_verwijder IS NULL;
|
||||
SELECT DISTINCT (mld_opdr_key) --Zelfde opdracht niet 2 maal
|
||||
FROM (SELECT DISTINCT (opdr.mld_opdr_key) --, opdr.mld_melding_key, opdr.mld_opdr_externsyncdate
|
||||
FROM mld_opdr opdr, mld_opdr_note note
|
||||
WHERE note.mld_opdr_key = opdr.mld_opdr_key
|
||||
AND opdr.mld_typeopdr_key = 481
|
||||
AND mld_statusopdr_key IN (5, 8) -- Toegekend, geaccepteerd
|
||||
AND (opdr.mld_opdr_externsyncdate IS NULL
|
||||
OR opdr.mld_opdr_externsyncdate <
|
||||
note.mld_opdr_note_aanmaak)
|
||||
UNION ALL
|
||||
SELECT DISTINCT (opdr.mld_opdr_key)
|
||||
FROM mld_opdr opdr, fac_bijlagen att
|
||||
WHERE opdr.mld_opdr_key = att.fac_bijlagen_refkey
|
||||
AND att.fac_bijlagen_module = 'MLD'
|
||||
AND opdr.mld_typeopdr_key = 481
|
||||
AND opdr.mld_statusopdr_key IN (5, 8) -- Toegekend, geaccepteerd
|
||||
AND fac_bijlagen_kenmerk_key = 601 -- Opdrachtkenmerk Bijlagen bij opdrachttype Aareon
|
||||
AND (opdr.mld_opdr_externsyncdate IS NULL
|
||||
OR opdr.mld_opdr_externsyncdate <
|
||||
att.fac_bijlagen_aanmaak)
|
||||
UNION ALL
|
||||
SELECT opdr.mld_opdr_key
|
||||
FROM mld_opdr opdr, fac_tracking t
|
||||
WHERE opdr.mld_opdr_key = 128
|
||||
AND opdr.mld_opdr_key = t.fac_tracking_refkey
|
||||
AND t.fac_srtnotificatie_key = 75
|
||||
AND (t.fac_tracking_oms LIKE '%Impact: %'
|
||||
OR t.fac_tracking_oms LIKE '%Urgentie: %')
|
||||
AND opdr.mld_typeopdr_key = 481
|
||||
AND opdr.mld_statusopdr_key IN (5, 8) -- Toegekend, geaccepteerd
|
||||
AND (opdr.mld_opdr_externsyncdate IS NULL
|
||||
OR opdr.mld_opdr_externsyncdate <
|
||||
t.fac_tracking_datum));
|
||||
|
||||
|
||||
CURSOR kenmerken (c_opdr_key NUMBER)
|
||||
CURSOR kenmerken (
|
||||
c_opdr_key NUMBER)
|
||||
IS
|
||||
SELECT ko.mld_kenmerkopdr_key AS kmkey
|
||||
FROM mld_kenmerkopdr ko,
|
||||
mld_kenmerk k,
|
||||
mld_srtkenmerk skm
|
||||
FROM mld_kenmerkopdr ko, mld_kenmerk k, mld_srtkenmerk skm
|
||||
WHERE ko.mld_opdr_key = c_opdr_key
|
||||
AND k.mld_kenmerk_key = ko.mld_kenmerk_key
|
||||
AND skm.mld_srtkenmerk_key = k.mld_srtkenmerk_key
|
||||
AND ko.mld_kenmerkopdr_verwijder IS NULL
|
||||
AND skm.mld_srtkenmerk_key IN (381, 382, 383); --Kenmerksoorten Status Valuemation, Status per en Opnieuw versturen' (resp. 381, 401, 421 in ACCP)
|
||||
AND ko.mld_kenmerkopdr_verwijder IS NULL
|
||||
AND skm.mld_srtkenmerk_key IN (381, 382, 383); --Kenmerksoorten Status Valuemation, Status per en Opnieuw versturen'
|
||||
BEGIN
|
||||
v_errorhint := 'init';
|
||||
|
||||
@@ -1367,9 +1382,11 @@ BEGIN
|
||||
SET mld_opdr_teverzenden = 2, mld_opdr_verzonden = NULL
|
||||
WHERE mld_opdr_key = rec.mld_opdr_key;
|
||||
|
||||
v_errorhint :=
|
||||
'Kenmerken opdracht legen bij opnieuw verzenden '
|
||||
|| rec.mld_opdr_key;
|
||||
|
||||
--Daarna legen we de kenmerken bij de opdracht die we opnieuw klaar zetten om te verzenden
|
||||
|
||||
|
||||
FOR rec1 IN kenmerken (rec.mld_opdr_key)
|
||||
LOOP
|
||||
BEGIN
|
||||
@@ -1378,16 +1395,41 @@ BEGIN
|
||||
UPDATE mld_kenmerkopdr
|
||||
SET mld_kenmerkopdr_verwijder = SYSDATE
|
||||
WHERE mld_kenmerkopdr_key = rec1.kmkey;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
fac.writelog (
|
||||
'EXP_VALUEMATION',
|
||||
'E',
|
||||
'Export tbv opnieuw klaarzetten opdrachten'
|
||||
|| '['
|
||||
|| v_errorhint
|
||||
|| ']',
|
||||
'OTHERS (error '
|
||||
|| SQLCODE
|
||||
|| '/'
|
||||
|| SUBSTR (SQLERRM, 1, 100)
|
||||
|| ')');
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
v_errorhint :=
|
||||
'Syncdatum instellen na opnieuw klaar zetten voor verzenden '
|
||||
|| rec.mld_opdr_key;
|
||||
|
||||
--We updaten de syncdatum zodat de wijziging eenmalig wordt verstuurd.
|
||||
|
||||
UPDATE mld_opdr
|
||||
SET mld_opdr_externsyncdate = SYSDATE
|
||||
WHERE mld_opdr_key = rec.mld_opdr_key;
|
||||
|
||||
fac.trackaction (
|
||||
'ORDUPD',
|
||||
rec.mld_opdr_key,
|
||||
NULL,
|
||||
NULL,
|
||||
'Opdracht opnieuw klaarzetten voor verzending '
|
||||
|| rec.opdrachtnummer);
|
||||
|| rec.mld_opdr_key);
|
||||
END;
|
||||
END LOOP;
|
||||
EXCEPTION
|
||||
@@ -1408,7 +1450,6 @@ EXCEPTION
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
CREATE OR REPLACE FORCE VIEW maas_v_mldopdr
|
||||
(
|
||||
melding_key,
|
||||
@@ -1773,6 +1814,56 @@ AS
|
||||
AND UPPER (t.fac_tracking_oms) LIKE
|
||||
'%NOTIFICATIE CUST05 VERSTUURD%');
|
||||
|
||||
CREATE OR REPLACE VIEW maas_v_noti_noresponsevm
|
||||
(
|
||||
code,
|
||||
sender,
|
||||
receiver,
|
||||
text,
|
||||
key,
|
||||
xkey,
|
||||
xsender,
|
||||
xemail,
|
||||
xmobile
|
||||
)
|
||||
AS
|
||||
SELECT DISTINCT
|
||||
'CUST06' AS code,
|
||||
NULL,
|
||||
NULL,
|
||||
'Opdracht '
|
||||
|| mld_melding_key
|
||||
|| '/'
|
||||
|| mld_opdr_bedrijfopdr_volgnr
|
||||
|| ' heeft nog geen ticketnummer van Valuemation ontvangen',
|
||||
mld_opdr_key,
|
||||
NULL,
|
||||
'gerard.mensink@aareon.nl;c.stok@maasdelta.nl;s.schepers@facilitor.nl',
|
||||
NULL,
|
||||
NULL
|
||||
FROM mld_opdr
|
||||
WHERE mld_opdr_externnr IS NULL
|
||||
AND mld_opdr_verzonden < SYSDATE - (30 / 1440) -- Enkel opdrachten van meer dan 30 minuten geleden
|
||||
AND mld_opdr_key NOT IN
|
||||
(SELECT t.fac_tracking_refkey
|
||||
FROM fac_tracking t
|
||||
WHERE t.fac_tracking_refkey = mld_opdr_key
|
||||
AND UPPER (t.fac_tracking_oms) LIKE
|
||||
'%NOTIFICATIE CUST06 VERSTUURD%');
|
||||
|
||||
CREATE OR REPLACE VIEW maas_v_maillog
|
||||
(
|
||||
key,
|
||||
datum,
|
||||
status,
|
||||
omschrijving,
|
||||
hinthint
|
||||
)
|
||||
AS
|
||||
SELECT imp_log_key, imp_log_datum, imp_log_status, imp_log_omschrijving, imp_log_hint
|
||||
FROM imp_log
|
||||
WHERE imp_log_applicatie = 'PROCESSEMAIL'
|
||||
ORDER BY imp_log_datum DESC;
|
||||
|
||||
------ payload end ------
|
||||
|
||||
|
||||
Reference in New Issue
Block a user