1764 lines
72 KiB
SQL
1764 lines
72 KiB
SQL
-- Script containing customer specific configuration sql statements for MAASDELTA
|
|
-- $Revision$
|
|
-- $Id$
|
|
|
|
DEFINE thisfile = 'MAAS.SQL'
|
|
DEFINE dbuser = '^MAAS'
|
|
DEFINE custid = 'MAAS'
|
|
|
|
SET ECHO ON
|
|
SET DEFINE ON
|
|
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
|
WHENEVER SQLERROR EXIT;
|
|
SELECT adm.scriptspoolfile('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
|
|
WHENEVER SQLERROR CONTINUE;
|
|
SPOOL &fcltlogfile
|
|
SET DEFINE OFF
|
|
|
|
------ payload begin ------
|
|
|
|
CREATE OR REPLACE VIEW maas_v_noti_lgstartdvb
|
|
(
|
|
code,
|
|
sender,
|
|
receiver,
|
|
text,
|
|
key,
|
|
xkey
|
|
)
|
|
AS
|
|
SELECT DISTINCT 'CUST01' AS code,
|
|
NULL,
|
|
leidinggevende, -- Persoon "_Schoonmaak_Van_Vliet", voor de emailadressen
|
|
'Notificatie start indiensttreding ' || naam,
|
|
mld_melding_key,
|
|
NULL
|
|
FROM (SELECT m.mld_melding_key,
|
|
(SELECT mld_kenmerkmelding_waarde
|
|
FROM mld_kenmerkmelding km
|
|
WHERE m.mld_melding_key = km.mld_melding_key
|
|
AND mld_kenmerk_key = 22)
|
|
AS naam, --kenmerk_key voor kenmerk 'Volledige naam'
|
|
(SELECT mld_kenmerkmelding_waarde
|
|
FROM mld_kenmerkmelding km
|
|
WHERE m.mld_melding_key = km.mld_melding_key
|
|
AND mld_kenmerk_key = 343)
|
|
AS leidinggevende --kenmerk_key voor kenmerk 'leidinggevende'
|
|
FROM mld_melding m
|
|
WHERE TRUNC (m.mld_melding_datum) = TRUNC (SYSDATE)-1
|
|
AND m.mld_stdmelding_key = 262);
|
|
|
|
CREATE OR REPLACE VIEW maas_v_rap_inlog_als
|
|
(
|
|
trackingdatum,
|
|
datum,
|
|
tijdstip,
|
|
trackingomschrijving,
|
|
key_als,
|
|
inloggen_als,
|
|
key_door,
|
|
inloggen_door
|
|
)
|
|
AS
|
|
SELECT t.fac_tracking_datum, TRUNC (t.fac_tracking_datum),
|
|
TO_CHAR (t.fac_tracking_datum, 'hh24:mm:ss'),
|
|
t.fac_tracking_oms,
|
|
t.fac_tracking_refkey,
|
|
als.prs_perslid_naam_friendly AS als,
|
|
t.prs_perslid_key,
|
|
door.prs_perslid_naam_friendly AS door
|
|
FROM fac_tracking t,
|
|
fac_srtnotificatie sn,
|
|
prs_v_perslid_fullnames als,
|
|
prs_v_perslid_fullnames door
|
|
WHERE t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
|
AND t.fac_srtnotificatie_key = 101 -- PRSLOG
|
|
AND als.prs_perslid_key = t.fac_tracking_refkey
|
|
AND door.prs_perslid_key = t.prs_perslid_key
|
|
AND (t.fac_tracking_oms LIKE '%INLOGGEN ALS%'
|
|
OR t.fac_tracking_oms LIKE '%Inloggen door%')
|
|
ORDER BY t.fac_tracking_key DESC;
|
|
|
|
CREATE OR REPLACE FORCE VIEW maas_v_noti_inlogals
|
|
(
|
|
code,
|
|
sender,
|
|
receiver,
|
|
text,
|
|
key,
|
|
xkey
|
|
)
|
|
AS
|
|
SELECT DISTINCT
|
|
'CUST02' AS code,
|
|
NULL,
|
|
key_als,
|
|
inloggen_door || ' heeft op uw account in Facilitor ingelogd',
|
|
key_door,
|
|
NULL
|
|
FROM maas_v_rap_inlog_als
|
|
WHERE key_als <> key_door
|
|
AND key_door <> 3 -- Facilitor, inlogpogingen vanuit Facilitor hoeven niet genotificeerd te worden
|
|
AND (SYSDATE - trackingdatum) * 24 BETWEEN 0 AND 1;
|
|
/
|
|
|
|
CREATE OR REPLACE PROCEDURE maas_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_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_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
|
|
|
|
-- Verwijder de Bounce Address Tag Validation
|
|
IF pfrom LIKE 'prvs=%'
|
|
THEN
|
|
v_from := SUBSTR (pfrom, INSTR (pfrom, '=', -1) + 1);
|
|
ELSE
|
|
v_from := pfrom;
|
|
END IF;
|
|
|
|
v_body := pbody;
|
|
m_body := pbody;
|
|
|
|
CASE
|
|
WHEN UPPER (pto) LIKE 'HRM@%'
|
|
THEN
|
|
v_errormsg := '(0x145)' || v_mldkey || psubject || v_actie;
|
|
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.
|
|
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
|
|
WHEN UPPER (psubject) LIKE '%NIEUWE MEDEWERKER%'
|
|
THEN
|
|
stdmelding := 501;
|
|
WHEN UPPER (psubject) LIKE '%NIEUWE STAGIAIR%'
|
|
THEN
|
|
stdmelding := 501;
|
|
WHEN UPPER (psubject) LIKE '%NIEUWE INLEENKRACHT%'
|
|
THEN
|
|
stdmelding := 501;
|
|
WHEN UPPER (psubject) LIKE '%UIT DIENST%'
|
|
THEN
|
|
stdmelding := 522;
|
|
WHEN UPPER (psubject) LIKE '%ANDERE FUNCTIE%'
|
|
THEN
|
|
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.
|
|
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 :=
|
|
'Melding kan niet worden aangemaakt ('
|
|
|| 'To: '
|
|
|| pto
|
|
|| 'Subject: '
|
|
|| psubject
|
|
|| 'From: '
|
|
|| pfrom
|
|
|| 'Body: '
|
|
|| SUBSTR (pbody, 1, 100)
|
|
|| ')';
|
|
|
|
INSERT INTO mld_melding (mld_melding_module,
|
|
mld_meldbron_key,
|
|
mld_melding_datum,
|
|
mld_melding_onderwerp,
|
|
mld_melding_omschrijving,
|
|
mld_melding_status,
|
|
mld_melding_t_uitvoertijd,
|
|
mld_stdmelding_key,
|
|
mld_melding_kto,
|
|
mld_melding_externnr,
|
|
prs_perslid_key,
|
|
prs_perslid_key_voor,
|
|
prs_kostenplaats_key,
|
|
mld_melding_spoed)
|
|
VALUES ('MLD',
|
|
4, -- email
|
|
SYSDATE,
|
|
psubject,
|
|
SUBSTR (
|
|
REPLACE (
|
|
SUBSTR (m_body, 1, 4000),
|
|
CHR (13) || CHR (10) || CHR (13) || CHR (10),
|
|
CHR (13) || CHR (10)),
|
|
1,
|
|
4000), -- verwijder onnodige witregels
|
|
mldstat,
|
|
mld_t_uitvoertijd (2, 'D'),
|
|
stdmelding,
|
|
0,
|
|
NULL,
|
|
3, --Persoon Facilitor
|
|
3, --Persoon Facilitor
|
|
NULL,
|
|
3)
|
|
RETURNING mld_melding_key
|
|
INTO mldkey;
|
|
|
|
-- 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,
|
|
fac_result_waarde)
|
|
VALUES (psessionid,
|
|
'maillog',
|
|
'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 := '(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.
|
|
-- Wellicht wat vreemd en onverwacht gedrag, maar met die wetenschap, dit maar zo laten.
|
|
-- END CASE;
|
|
-- CASE
|
|
WHEN UPPER (pto) LIKE 'HELPDESK_MAASDELTA@%'
|
|
THEN
|
|
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.
|
|
|
|
-- Bepalen van het ticknr. uit Valuemation, deze is vooral van belang bij het confirmation bericht
|
|
v_errormsg := '(0x246)' || v_mldkey || psubject || v_actie;
|
|
v_vmnr := SUBSTR (REGEXP_REPLACE (psubject, '[^0-9]', ''), 0, 12);
|
|
|
|
-- Bepalen van mld_melding_key
|
|
v_errormsg := '(0x247)' || v_mldkey || psubject || v_actie;
|
|
v_mldkey :=
|
|
SUBSTR (
|
|
SUBSTR (
|
|
SUBSTR (psubject,
|
|
INSTR (psubject, 'Facilitor opdracht:') + 19),
|
|
0,
|
|
INSTR (
|
|
SUBSTR (psubject,
|
|
INSTR (psubject, 'Facilitor opdracht:') + 19),
|
|
'"')
|
|
- 1),
|
|
0,
|
|
INSTR (
|
|
SUBSTR (
|
|
SUBSTR (psubject,
|
|
INSTR (psubject, 'Facilitor opdracht:') + 19),
|
|
0,
|
|
INSTR (
|
|
SUBSTR (psubject,
|
|
INSTR (psubject, 'Facilitor opdracht:') + 19),
|
|
'"')
|
|
- 1),
|
|
'/')
|
|
- 1);
|
|
|
|
-- Bepalen van opdrachtvolgnr
|
|
v_errormsg := '(0x248)' || v_mldkey || psubject || v_actie;
|
|
v_opdrvolgnr :=
|
|
SUBSTR (
|
|
SUBSTR (
|
|
SUBSTR (psubject,
|
|
INSTR (psubject, 'Facilitor opdracht:') + 19),
|
|
0),
|
|
INSTR (
|
|
SUBSTR (
|
|
SUBSTR (psubject,
|
|
INSTR (psubject, 'Facilitor opdracht:') + 19),
|
|
0),
|
|
'/')
|
|
+ 1,
|
|
1);
|
|
|
|
-- Bepalen van de mld_opdr_key
|
|
-- Uitgangspunt is 1 opdracht per melding
|
|
v_errormsg := '(0x249)' || v_mldkey || psubject || v_actie;
|
|
|
|
SELECT MIN (mld_opdr_key)
|
|
INTO v_opdrkey
|
|
FROM mld_opdr
|
|
WHERE mld_melding_key = v_mldkey
|
|
AND mld_opdr_bedrijfopdr_volgnr = v_opdrvolgnr;
|
|
|
|
--Hier gaan we obv het onderwerpveld bepalen wat de actie in Facilitor moet zijn
|
|
v_errormsg := 'Kan actie niet bepalen: ' || psubject || v_mldkey;
|
|
|
|
CASE
|
|
WHEN UPPER (SUBSTR (psubject, LENGTH (psubject) - 13, 14)) LIKE
|
|
'%IS AANGEMAAKT%'
|
|
THEN
|
|
v_actie := 'ORDVAL';
|
|
WHEN UPPER (SUBSTR (psubject, LENGTH (psubject) - 22, 23)) LIKE
|
|
'%IS DOOR ONS GEVALIDEERD%'
|
|
THEN
|
|
v_actie := 'ORDACP';
|
|
WHEN UPPER (SUBSTR (psubject, LENGTH (psubject) - 22, 23)) LIKE
|
|
'%WACHT OP UW REACTIE%'
|
|
THEN
|
|
v_actie := 'ORDUPD';
|
|
v_kenmstatusoms :=
|
|
'Aanvullende info gevraagd, wacht op uw reactie';
|
|
WHEN UPPER (SUBSTR (psubject, 0, 14)) LIKE '%AFSTEMMING NAV%'
|
|
THEN
|
|
v_actie := 'ORDUPD';
|
|
v_kenmstatusoms :=
|
|
'Telefonisch contact leggen mislukt, wacht op uw reactie';
|
|
WHEN UPPER (SUBSTR (psubject, LENGTH (psubject) - 11, 12)) LIKE
|
|
'%IS OPGELOST%'
|
|
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.'
|
|
;
|
|
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
|
|
v_actie := 'ORDAFM';
|
|
WHEN UPPER (SUBSTR (psubject, LENGTH (psubject) - 13, 14)) LIKE
|
|
'%IS BIJGEWERKT%'
|
|
THEN
|
|
v_actie := 'ORDUPD';
|
|
v_kenmstatusoms := 'De melding is bijgewerkt.';
|
|
ELSE
|
|
v_actie := NULL;
|
|
END CASE;
|
|
|
|
|
|
BEGIN
|
|
--Hieronder de acties die gedaan moeten worden.
|
|
|
|
--Bevestigingsmail vanuit Valuemation, vult externnr bij de melding
|
|
v_errormsg := '(0x350)' || v_mldkey || psubject || v_actie;
|
|
|
|
--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;
|
|
|
|
fac.writelog (
|
|
'PROCESSEMAIL',
|
|
'E',
|
|
'Mail kon niet ingelezen worden afzender:'
|
|
|| pfrom
|
|
|| '['
|
|
|| v_errormsg
|
|
|| ']',
|
|
'OTHERS (error '
|
|
|| SQLCODE
|
|
|| '/'
|
|
|| SUBSTR (SQLERRM, 1, 100)
|
|
|| ')');
|
|
ELSE
|
|
--Bij een confirmationbericht uit Valuemation, wordt het ticketnr vanuit Valuemation doorgegeven.
|
|
IF v_actie = 'ORDVAL'
|
|
THEN
|
|
v_errormsg :=
|
|
'(0x410)'
|
|
|| v_mldkey
|
|
|| psubject
|
|
|| v_actie
|
|
|| 'vmnr: '
|
|
|| v_vmnr
|
|
|| 'opdrkey: '
|
|
|| v_opdrkey;
|
|
|
|
IF v_vmnr IS NOT NULL AND v_opdrkey IS NOT NULL
|
|
THEN
|
|
SELECT mld_opdr_externnr
|
|
INTO v_opdrextnr
|
|
FROM mld_opdr
|
|
WHERE mld_opdr_key = v_opdrkey;
|
|
|
|
UPDATE mld_opdr
|
|
SET mld_opdr_externnr = v_vmnr
|
|
WHERE mld_opdr_key = v_opdrkey;
|
|
|
|
--Enkel tracking mbt nieuw (of aanpassing Externnr) toevoegen als er ook iets wijzigt.
|
|
IF v_opdrextnr <> v_vmnr
|
|
THEN
|
|
fac.trackaction (
|
|
'ORDUPD',
|
|
v_opdrkey,
|
|
sender,
|
|
NULL,
|
|
'#Valuemation nr vanuit confirmationbericht: '
|
|
|| v_opdrextnr
|
|
|| ' --> '
|
|
|| v_vmnr); -- # voorkomt notificatie
|
|
END IF;
|
|
ELSE
|
|
fac.writelog (
|
|
'PROCESSEMAIL',
|
|
'E',
|
|
'Valuemation nr kon niet worden gevuld:'
|
|
|| pfrom
|
|
|| '['
|
|
|| v_errormsg
|
|
|| v_vmnr
|
|
|| ']',
|
|
'OTHERS (error '
|
|
|| SQLCODE
|
|
|| '/'
|
|
|| SUBSTR (SQLERRM, 1, 100)
|
|
|| ')');
|
|
END IF;
|
|
END IF;
|
|
|
|
--Hieronder de afhandeling van het bericht wanneer de melding wordt gevalideerd in Valuemation.
|
|
IF v_actie = 'ORDACP'
|
|
THEN
|
|
v_errormsg := '(0x420)' || v_mldkey || psubject || v_actie;
|
|
v_vmnr :=
|
|
SUBSTR (REGEXP_REPLACE (psubject, '[^0-9]', ''), 1, 12);
|
|
|
|
IF v_opdrkey IS NOT NULL
|
|
THEN
|
|
--Normaal zouden we het ticketnummer vanuit Valuemation al moeten hebben vanuit confirmationbericht. Maar als dit bericht niet goed ontvangen is, dan proberen we het ticketnummer alsnog te vullen
|
|
IF v_vmnr IS NOT NULL AND v_opdrkey IS NOT NULL
|
|
THEN
|
|
UPDATE mld_opdr
|
|
SET mld_opdr_externnr = v_vmnr
|
|
WHERE mld_opdr_key = v_opdrkey
|
|
AND mld_opdr_externnr IS NULL;
|
|
|
|
--Enkel tracking mbt nieuw (of aanpassing Externnr) toevoegen als er ook iets wijzigt.
|
|
IF v_opdrextnr <> v_vmnr
|
|
THEN
|
|
fac.trackaction (
|
|
'ORDUPD',
|
|
v_opdrkey,
|
|
sender,
|
|
NULL,
|
|
'#Valuemation nr vanuit confirmationbericht: '
|
|
|| v_opdrextnr
|
|
|| ' --> '
|
|
|| v_vmnr); -- # voorkomt notificatie
|
|
END IF; -- # voorkomt notificatie
|
|
ELSE
|
|
fac.writelog (
|
|
'PROCESSEMAIL',
|
|
'E',
|
|
'Valuemation nr kon niet worden gevuld:'
|
|
|| pfrom
|
|
|| '['
|
|
|| v_errormsg
|
|
|| v_vmnr
|
|
|| ']',
|
|
'OTHERS (error '
|
|
|| SQLCODE
|
|
|| '/'
|
|
|| SUBSTR (SQLERRM, 1, 100)
|
|
|| ')');
|
|
END IF;
|
|
|
|
UPDATE mld_opdr
|
|
SET mld_statusopdr_key = 8 --Status geaccepteerd
|
|
WHERE mld_opdr_key = v_opdrkey;
|
|
|
|
fac.trackaction ('ORDACP',
|
|
v_opdrkey,
|
|
sender,
|
|
NULL,
|
|
'#Melding gevalideerd in Valuemation'); -- # voorkomt notificatie
|
|
|
|
INSERT INTO mld_opdr_note (mld_opdr_key,
|
|
mld_opdr_note_omschrijving,
|
|
prs_perslid_key)
|
|
VALUES (v_opdrkey,
|
|
SUBSTR (
|
|
psubject || CHR (13) || CHR (10)
|
|
|| REPLACE (
|
|
SUBSTR (
|
|
pbody,
|
|
1,
|
|
4000 - (LENGTH (psubject) + 2)),
|
|
CHR (13)
|
|
|| CHR (10)
|
|
|| CHR (13)
|
|
|| CHR (10),
|
|
CHR (13) || CHR (10)),
|
|
1,
|
|
4000), -- Verwijder onnodige witregels
|
|
sender);
|
|
|
|
fac.trackaction ('ORDUPD',
|
|
v_opdrkey,
|
|
sender,
|
|
NULL,
|
|
'#Notitie toegevoegd vanuit e-mail'); -- # voorkomt notificatie
|
|
ELSE
|
|
fac.writelog (
|
|
'PROCESSEMAIL',
|
|
'E',
|
|
'Melding kan niet geaccepteerd worden, onbekende opdrachtkey'
|
|
|| pfrom
|
|
|| '['
|
|
|| v_errormsg
|
|
|| ']',
|
|
'OTHERS (error '
|
|
|| SQLCODE
|
|
|| '/'
|
|
|| SUBSTR (SQLERRM, 1, 100)
|
|
|| ')');
|
|
END IF;
|
|
END IF;
|
|
|
|
--Hieronder de afhandeling van het bericht wanneer de melding moet worden bijgewerkt en een reactie wordt verwacht
|
|
IF v_actie = 'ORDUPD'
|
|
THEN
|
|
v_errormsg := '(0x430)' || v_mldkey || psubject || v_actie;
|
|
v_vmnr :=
|
|
SUBSTR (REGEXP_REPLACE (psubject, '[^0-9]', ''), 1, 12);
|
|
|
|
|
|
IF v_opdrkey IS NOT NULL
|
|
THEN
|
|
v_errormsg :=
|
|
'(0x431)' || v_mldkey || psubject || v_actie;
|
|
|
|
SELECT mld_statusopdr_key
|
|
INTO v_status
|
|
FROM mld_opdr
|
|
WHERE mld_opdr_key = v_opdrkey;
|
|
|
|
--Normaal zouden we het ticketnummer vanuit Valuemation al moeten hebben vanuit confirmationbericht. Maar als dit bericht niet goed ontvangen is, dan proberen we het ticketnummer alsnog te vullen
|
|
IF v_vmnr IS NOT NULL AND v_opdrkey IS NOT NULL
|
|
THEN
|
|
v_errormsg :=
|
|
'(0x432)' || v_mldkey || psubject || v_actie;
|
|
|
|
UPDATE mld_opdr
|
|
SET mld_opdr_externnr = v_vmnr
|
|
WHERE mld_opdr_key = v_opdrkey
|
|
AND mld_opdr_externnr IS NULL;
|
|
|
|
--Enkel tracking mbt nieuw (of aanpassing Externnr) toevoegen als er ook iets wijzigt.
|
|
IF v_opdrextnr <> v_vmnr
|
|
THEN
|
|
fac.trackaction (
|
|
'ORDUPD',
|
|
v_opdrkey,
|
|
sender,
|
|
NULL,
|
|
'#Valuemation nr vanuit confirmationbericht: '
|
|
|| v_opdrextnr
|
|
|| ' --> '
|
|
|| v_vmnr); -- # voorkomt notificatie
|
|
END IF;
|
|
ELSE
|
|
fac.writelog (
|
|
'PROCESSEMAIL',
|
|
'E',
|
|
'Valuemation nr kon niet worden gevuld:'
|
|
|| pfrom
|
|
|| '['
|
|
|| v_errormsg
|
|
|| v_vmnr
|
|
|| ']',
|
|
'OTHERS (error '
|
|
|| SQLCODE
|
|
|| '/'
|
|
|| SUBSTR (SQLERRM, 1, 100)
|
|
|| ')');
|
|
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.
|
|
IF v_vmnr IS NOT NULL
|
|
AND v_opdrkey IS NOT NULL
|
|
AND v_status = 6 --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;
|
|
|
|
fac.trackaction (
|
|
'ORDACP',
|
|
v_opdrkey,
|
|
sender,
|
|
NULL,
|
|
'#Melding gevalideerd in Valuemation'); -- # voorkomt notificatie
|
|
END IF;
|
|
|
|
-- Hieronder bepalen of de opdracht al de kenmerken mbt status Valuemation gevuld heeft.
|
|
SELECT COALESCE (
|
|
(SELECT mld_kenmerkopdr_waarde
|
|
FROM mld_kenmerkopdr
|
|
WHERE mld_kenmerk_key = 602 -- Kenmerk 'Status valuemation' (601 in ACCP)
|
|
AND mld_opdr_key = v_opdrkey
|
|
AND mld_kenmerkopdr_verwijder IS NULL),
|
|
'leeg')
|
|
INTO v_kenmstatusoms_cur
|
|
FROM DUAL;
|
|
|
|
SELECT COALESCE (
|
|
(SELECT mld_kenmerkopdr_waarde
|
|
FROM mld_kenmerkopdr
|
|
WHERE mld_kenmerk_key = 603 -- Kenmerk 'Status per' (623 in ACCP)
|
|
AND mld_opdr_key = v_opdrkey
|
|
AND mld_kenmerkopdr_verwijder IS NULL),
|
|
'leeg')
|
|
INTO v_kenmstatusper_cur
|
|
FROM DUAL;
|
|
|
|
-- Als de kenmerken nog niet bestaan, dan toevoegen bij de opdracht, anders updaten indien gewijzigd.
|
|
IF v_kenmstatusoms_cur = 'leeg'
|
|
THEN
|
|
v_errormsg :=
|
|
'(0x434)' || v_mldkey || psubject || v_actie;
|
|
|
|
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)
|
|
|
|
fac.trackaction (
|
|
'ORDUPD',
|
|
v_opdrkey,
|
|
sender,
|
|
NULL,
|
|
'Status Valuemation: leeg --> ' || v_kenmstatusoms); -- # voorkomt notificatie
|
|
ELSE
|
|
v_errormsg :=
|
|
'(0x435)' || v_mldkey || psubject || v_actie;
|
|
|
|
IF v_kenmstatusoms <> v_kenmstatusoms_cur
|
|
THEN
|
|
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_kenmerkopdr_verwijder IS NULL;
|
|
|
|
fac.trackaction (
|
|
'ORDUPD',
|
|
v_opdrkey,
|
|
sender,
|
|
NULL,
|
|
'Status Valuemation: '
|
|
|| v_kenmstatusoms_cur
|
|
|| ' --> '
|
|
|| v_kenmstatusoms); -- # voorkomt notificatie
|
|
ELSE
|
|
v_errormsg :=
|
|
'(0x436)' || v_mldkey || psubject || v_actie;
|
|
END IF;
|
|
END IF;
|
|
|
|
IF v_kenmstatusper_cur = 'leeg'
|
|
THEN
|
|
v_errormsg :=
|
|
'(0x437)' || v_mldkey || psubject || v_actie;
|
|
|
|
INSERT INTO mld_kenmerkopdr (mld_opdr_key,
|
|
mld_kenmerk_key,
|
|
mld_kenmerkopdr_waarde)
|
|
VALUES (v_opdrkey,
|
|
603, -- -- Kenmerk 'Status per' (623 in ACCP)
|
|
TO_CHAR (SYSDATE,
|
|
'DD-MM-YYYY HH24:MI:SS'))
|
|
RETURNING mld_kenmerkopdr_waarde
|
|
INTO v_kenmstatusper;
|
|
|
|
fac.trackaction (
|
|
'ORDUPD',
|
|
v_opdrkey,
|
|
sender,
|
|
NULL,
|
|
'Status per: leeg --> ' || v_kenmstatusper); -- # voorkomt notificatie
|
|
ELSE
|
|
v_errormsg :=
|
|
'(0x438)' || v_mldkey || psubject || v_actie;
|
|
|
|
UPDATE mld_kenmerkopdr
|
|
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_kenmerkopdr_verwijder IS NULL
|
|
RETURNING mld_kenmerkopdr_waarde
|
|
INTO v_kenmstatusper;
|
|
|
|
fac.trackaction (
|
|
'ORDUPD',
|
|
v_opdrkey,
|
|
sender,
|
|
NULL,
|
|
'Status per:'
|
|
|| v_kenmstatusper_cur
|
|
|| ' --> '
|
|
|| v_kenmstatusper); -- # voorkomt notificatie
|
|
END IF;
|
|
|
|
-- Als er een opdracht_key gevonden kan worden, dan ook de body als notitie meenemen
|
|
v_errormsg :=
|
|
'(0x439)' || v_mldkey || psubject || v_actie;
|
|
|
|
INSERT INTO mld_opdr_note (mld_opdr_key,
|
|
mld_opdr_note_omschrijving,
|
|
prs_perslid_key)
|
|
VALUES (v_opdrkey,
|
|
SUBSTR (
|
|
psubject || CHR (13) || CHR (10)
|
|
|| REPLACE (
|
|
SUBSTR (
|
|
pbody,
|
|
1,
|
|
4000 - (LENGTH (psubject) + 2)),
|
|
CHR (13)
|
|
|| CHR (10)
|
|
|| CHR (13)
|
|
|| CHR (10),
|
|
CHR (13) || CHR (10)),
|
|
1,
|
|
4000), -- Verwijder onnodige witregels
|
|
sender);
|
|
|
|
fac.trackaction ('ORDUPD',
|
|
v_opdrkey,
|
|
sender,
|
|
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)
|
|
|| ')');
|
|
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. 1 url wordt al geboden (zie actie ORDOPL hieronder)
|
|
IF v_actie = 'ORDGOE'
|
|
THEN
|
|
v_errormsg := '(0x440)' || v_mldkey || psubject || v_actie;
|
|
v_vmnr :=
|
|
SUBSTR (REGEXP_REPLACE (psubject, '[^0-9]', ''), 1, 12);
|
|
|
|
|
|
IF v_opdrkey IS NOT NULL
|
|
THEN
|
|
v_errormsg :=
|
|
'(0x441)' || v_mldkey || psubject || v_actie;
|
|
|
|
SELECT mld_statusopdr_key
|
|
INTO v_status
|
|
FROM mld_opdr
|
|
WHERE mld_opdr_key = v_opdrkey;
|
|
|
|
--Normaal zouden we het ticketnummer vanuit Valuemation al moeten hebben vanuit confirmationbericht. Maar als dit bericht niet goed ontvangen is, dan proberen we het ticketnummer alsnog te vullen
|
|
IF v_vmnr IS NOT NULL AND v_opdrkey IS NOT NULL
|
|
THEN
|
|
v_errormsg :=
|
|
'(0x442)' || v_mldkey || psubject || v_actie;
|
|
|
|
UPDATE mld_opdr
|
|
SET mld_opdr_externnr = v_vmnr
|
|
WHERE mld_opdr_key = v_opdrkey
|
|
AND mld_opdr_externnr IS NULL;
|
|
|
|
--Enkel tracking mbt nieuw (of aanpassing Externnr) toevoegen als er ook iets wijzigt.
|
|
IF v_opdrextnr <> v_vmnr
|
|
THEN
|
|
fac.trackaction (
|
|
'ORDUPD',
|
|
v_opdrkey,
|
|
sender,
|
|
NULL,
|
|
'#Valuemation nr vanuit confirmationbericht: '
|
|
|| v_opdrextnr
|
|
|| ' --> '
|
|
|| v_vmnr); -- # voorkomt notificatie
|
|
END IF;
|
|
ELSE
|
|
fac.writelog (
|
|
'PROCESSEMAIL',
|
|
'E',
|
|
'Valuemation nr kon niet worden gevuld:'
|
|
|| pfrom
|
|
|| '['
|
|
|| v_errormsg
|
|
|| v_vmnr
|
|
|| ']',
|
|
'OTHERS (error '
|
|
|| SQLCODE
|
|
|| '/'
|
|
|| SUBSTR (SQLERRM, 1, 100)
|
|
|| ')');
|
|
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.
|
|
IF v_vmnr IS NOT NULL
|
|
AND v_opdrkey IS NOT NULL
|
|
AND v_status = 6 --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;
|
|
|
|
fac.trackaction (
|
|
'ORDACP',
|
|
v_opdrkey,
|
|
sender,
|
|
NULL,
|
|
'#Melding gevalideerd in Valuemation'); -- # voorkomt notificatie
|
|
END IF;
|
|
|
|
-- Hieronder bepalen of de opdracht al de kenmerken gevuld heeft.
|
|
SELECT COALESCE (
|
|
(SELECT mld_kenmerkopdr_waarde
|
|
FROM mld_kenmerkopdr
|
|
WHERE mld_kenmerk_key = 602 -- Kenmerk 'Status valuemation' (601 in ACCP)
|
|
AND mld_opdr_key = v_opdrkey
|
|
AND mld_kenmerkopdr_verwijder IS NULL),
|
|
'leeg')
|
|
INTO v_kenmstatusoms_cur
|
|
FROM DUAL;
|
|
|
|
SELECT COALESCE (
|
|
(SELECT mld_kenmerkopdr_waarde
|
|
FROM mld_kenmerkopdr
|
|
WHERE mld_kenmerk_key = 603 -- Kenmerk 'Status per' (623 in ACCP)
|
|
AND mld_opdr_key = v_opdrkey
|
|
AND mld_kenmerkopdr_verwijder IS NULL),
|
|
'leeg')
|
|
INTO v_kenmstatusper_cur
|
|
FROM DUAL;
|
|
|
|
-- Als de kenmerken nog niet bestaan, dan toevoegen bij de opdracht, anders updaten indien gewijzigd.
|
|
IF v_kenmstatusoms_cur = 'leeg'
|
|
THEN
|
|
v_errormsg :=
|
|
'(0x444)' || v_mldkey || psubject || v_actie;
|
|
|
|
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)
|
|
|
|
fac.trackaction (
|
|
'ORDUPD',
|
|
v_opdrkey,
|
|
sender,
|
|
NULL,
|
|
'Status Valuemation: leeg --> ' || v_kenmstatusoms); -- # voorkomt notificatie
|
|
ELSE
|
|
v_errormsg :=
|
|
'(0x445)' || v_mldkey || psubject || v_actie;
|
|
|
|
IF v_kenmstatusoms_cur <> v_kenmstatusoms_cur
|
|
THEN
|
|
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_kenmerkopdr_verwijder IS NULL;
|
|
|
|
fac.trackaction (
|
|
'ORDUPD',
|
|
v_opdrkey,
|
|
sender,
|
|
NULL,
|
|
'Status Valuemation: '
|
|
|| v_kenmstatusoms_cur
|
|
|| ' --> '
|
|
|| v_kenmstatusoms); -- # voorkomt notificatie
|
|
ELSE
|
|
v_errormsg :=
|
|
'(0x446)' || v_mldkey || psubject || v_actie;
|
|
END IF;
|
|
END IF;
|
|
|
|
IF v_kenmstatusper_cur = 'leeg'
|
|
THEN
|
|
v_errormsg :=
|
|
'(0x447)' || v_mldkey || psubject || v_actie;
|
|
|
|
INSERT INTO mld_kenmerkopdr (mld_opdr_key,
|
|
mld_kenmerk_key,
|
|
mld_kenmerkopdr_waarde)
|
|
VALUES (v_opdrkey,
|
|
603, -- -- Kenmerk 'Status per' (623 in ACCP)
|
|
TO_CHAR (SYSDATE,
|
|
'DD-MM-YYYY HH24:MI:SS'))
|
|
RETURNING mld_kenmerkopdr_waarde
|
|
INTO v_kenmstatusper;
|
|
|
|
fac.trackaction (
|
|
'ORDUPD',
|
|
v_opdrkey,
|
|
sender,
|
|
NULL,
|
|
'Status per: leeg --> ' || v_kenmstatusper); -- # voorkomt notificatie
|
|
ELSE
|
|
v_errormsg :=
|
|
'(0x448)' || v_mldkey || psubject || v_actie;
|
|
|
|
UPDATE mld_kenmerkopdr
|
|
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_kenmerkopdr_verwijder IS NULL
|
|
RETURNING mld_kenmerkopdr_waarde
|
|
INTO v_kenmstatusper;
|
|
|
|
fac.trackaction (
|
|
'ORDUPD',
|
|
v_opdrkey,
|
|
sender,
|
|
NULL,
|
|
'Status per:'
|
|
|| v_kenmstatusper_cur
|
|
|| ' --> '
|
|
|| v_kenmstatusper); -- # voorkomt notificatie
|
|
END IF;
|
|
|
|
-- Als er een opdracht_key gevonden kan worden, dan ook de body als afhandeling meenemen
|
|
v_errormsg :=
|
|
'(0x449)' || v_mldkey || psubject || v_actie;
|
|
|
|
UPDATE mld_opdr
|
|
SET mld_opdr_opmerking =
|
|
SUBSTR (
|
|
REPLACE (
|
|
SUBSTR (pbody, 1, 4000),
|
|
CHR (13)
|
|
|| CHR (10)
|
|
|| CHR (13)
|
|
|| CHR (10),
|
|
CHR (13) || CHR (10)),
|
|
1,
|
|
4000)
|
|
WHERE mld_opdr_key = v_opdrkey;
|
|
|
|
fac.trackaction ('ORDUPD',
|
|
v_opdrkey,
|
|
sender,
|
|
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)
|
|
|| ')');
|
|
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,
|
|
'Oplossing: leeg --> ' || v_vm_oplossing); -- # 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 := '(0x460)' || v_mldkey || psubject || v_actie;
|
|
v_vmnr :=
|
|
SUBSTR (REGEXP_REPLACE (psubject, '[^0-9]', ''), 1, 12);
|
|
|
|
IF v_opdrkey IS NOT NULL
|
|
THEN
|
|
--Normaal zouden we het ticketnummer vanuit Valuemation al moeten hebben vanuit confirmationbericht. Maar als dit bericht niet goed ontvangen is, dan proberen we het ticketnummer alsnog te vullen
|
|
IF v_vmnr IS NOT NULL AND v_opdrkey IS NOT NULL
|
|
THEN
|
|
UPDATE mld_opdr
|
|
SET mld_opdr_externnr = v_vmnr
|
|
WHERE mld_opdr_key = v_opdrkey
|
|
AND mld_opdr_externnr IS NULL;
|
|
|
|
--Enkel tracking mbt nieuw (of aanpassing Externnr) toevoegen als er ook iets wijzigt.
|
|
IF v_opdrextnr <> v_vmnr
|
|
THEN
|
|
fac.trackaction (
|
|
'ORDUPD',
|
|
v_opdrkey,
|
|
sender,
|
|
NULL,
|
|
'#Valuemation nr vanuit confirmationbericht: '
|
|
|| v_opdrextnr
|
|
|| ' --> '
|
|
|| v_vmnr); -- # voorkomt notificatie
|
|
END IF;
|
|
ELSE
|
|
fac.writelog (
|
|
'PROCESSEMAIL',
|
|
'E',
|
|
'Valuemation nr kon niet worden gevuld:'
|
|
|| pfrom
|
|
|| '['
|
|
|| v_errormsg
|
|
|| v_vmnr
|
|
|| ']',
|
|
'OTHERS (error '
|
|
|| SQLCODE
|
|
|| '/'
|
|
|| SUBSTR (SQLERRM, 1, 100)
|
|
|| ')');
|
|
END IF;
|
|
|
|
UPDATE mld_opdr
|
|
SET mld_statusopdr_key = 6, -- Afgemeld
|
|
mld_opdr_opmerking =
|
|
SUBSTR (
|
|
psubject || CHR (13) || CHR (10)
|
|
|| REPLACE (
|
|
SUBSTR (
|
|
pbody,
|
|
1,
|
|
4000 - (LENGTH (psubject) + 2)),
|
|
CHR (13)
|
|
|| CHR (10)
|
|
|| CHR (13)
|
|
|| CHR (10),
|
|
CHR (13) || CHR (10)),
|
|
1,
|
|
4000) -- Verwijder onnodige witregels
|
|
WHERE mld_opdr_key = v_opdrkey;
|
|
|
|
fac.trackaction ('ORDUPD',
|
|
v_opdrkey,
|
|
sender,
|
|
NULL,
|
|
'Melding gereed gemeld in Valuemation'); -- # voorkomt notificatie
|
|
|
|
INSERT INTO mld_opdr_note (mld_opdr_key,
|
|
mld_opdr_note_omschrijving,
|
|
prs_perslid_key)
|
|
VALUES (v_opdrkey,
|
|
SUBSTR (
|
|
psubject || CHR (13) || CHR (10)
|
|
|| REPLACE (
|
|
SUBSTR (
|
|
pbody,
|
|
1,
|
|
4000 - (LENGTH (psubject) + 2)),
|
|
CHR (13)
|
|
|| CHR (10)
|
|
|| CHR (13)
|
|
|| CHR (10),
|
|
CHR (13) || CHR (10)),
|
|
1,
|
|
4000), -- Verwijder onnodige witregels
|
|
sender);
|
|
|
|
fac.trackaction ('ORDUPD',
|
|
v_opdrkey,
|
|
sender,
|
|
NULL,
|
|
'#Notitie toegevoegd vanuit e-mail'); -- # voorkomt notificatie
|
|
ELSE
|
|
fac.writelog (
|
|
'PROCESSEMAIL',
|
|
'E',
|
|
'Melding kan niet geaccepteerd worden, onbekende opdrachtkey'
|
|
|| pfrom
|
|
|| '['
|
|
|| v_errormsg
|
|
|| ']',
|
|
'OTHERS (error '
|
|
|| SQLCODE
|
|
|| '/'
|
|
|| SUBSTR (SQLERRM, 1, 100)
|
|
|| ')');
|
|
END IF;
|
|
END IF;
|
|
END IF;
|
|
END;
|
|
ELSE
|
|
INSERT INTO fac_result (fac_result_sessionid,
|
|
fac_result_naam,
|
|
fac_result_waarde)
|
|
VALUES (psessionid, 'maillog - geen pto herkend', v_errormsg);
|
|
END CASE;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
INSERT INTO fac_result (fac_result_sessionid,
|
|
fac_result_naam,
|
|
fac_result_waarde)
|
|
VALUES (psessionid, 'maillog', v_errormsg);
|
|
|
|
fac.writelog (
|
|
'PROCESSEMAIL',
|
|
'E',
|
|
'Mail kon niet ingelezen worden afzender:'
|
|
|| pfrom
|
|
|| '['
|
|
|| v_errormsg
|
|
|| v_mldkey
|
|
|| psubject
|
|
|| v_actie
|
|
|| ']',
|
|
'OTHERS (error '
|
|
|| SQLCODE
|
|
|| '/'
|
|
|| SUBSTR (SQLERRM, 1, 100)
|
|
|| ')');
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE PROCEDURE maas_export_valuemation (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_filedir IN VARCHAR2,
|
|
p_filename IN VARCHAR2)
|
|
AS
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
v_errorhint VARCHAR2 (100);
|
|
|
|
-- 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
|
|
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;
|
|
|
|
|
|
CURSOR kenmerken
|
|
IS
|
|
SELECT ko.mld_kenmerkopdr_key AS kmkey
|
|
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
|
|
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 IN (381, 382, 383) --Kenmerksoorten Status Valuemation, Status per en Opnieuw versturen' (resp. 381, 401, 421 in ACCP)
|
|
AND o.mld_statusopdr_key NOT IN (1, 6, 7, 9); --Afgewezen, afgemeld, verwerkt, afgerond;
|
|
BEGIN
|
|
v_errorhint := 'init';
|
|
|
|
-- We zetten de opdracht opnieuw in de wachtrij voor putorder.
|
|
-- Ook halen we de kenmerken leeg mbt de status in Valuemation (3 stuks).
|
|
FOR rec IN sendagain
|
|
LOOP
|
|
BEGIN
|
|
v_errorhint :=
|
|
'Opdracht opnieuw klaar zetten voor verzenden '
|
|
|| rec.mld_opdr_key;
|
|
|
|
-- Eerst zetten we de opdracht opnieuw klaar om te verzenden
|
|
UPDATE mld_opdr
|
|
SET mld_opdr_teverzenden = 2, mld_opdr_verzonden = NULL
|
|
WHERE mld_opdr_key = rec.mld_opdr_key;
|
|
|
|
--Daarna legen we de kenmerken bij de opdracht die we opnieuw klaar zetten om te verzenden
|
|
|
|
|
|
FOR rec1 IN kenmerken
|
|
LOOP
|
|
BEGIN
|
|
v_errorhint := 'Kenmerken legen ' || rec.mld_opdr_key;
|
|
|
|
UPDATE mld_kenmerkopdr
|
|
SET mld_kenmerkopdr_verwijder = SYSDATE
|
|
WHERE mld_kenmerkopdr_key = rec1.kmkey
|
|
AND mld_opdr_key = rec.mld_opdr_key;
|
|
END;
|
|
END LOOP;
|
|
|
|
fac.trackaction (
|
|
'ORDUPD',
|
|
rec.mld_opdr_key,
|
|
NULL,
|
|
NULL,
|
|
'Opdracht opnieuw klaarzetten voor verzending '
|
|
|| rec.opdrachtnummer);
|
|
END;
|
|
END LOOP;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
fac.writelog (
|
|
'EXP_VALUEMATION',
|
|
'E',
|
|
'Export tbv opnieuw klaarzetten opdrachten'
|
|
|| '['
|
|
|| v_errorhint
|
|
|| ']',
|
|
'OTHERS (error '
|
|
|| SQLCODE
|
|
|| '/'
|
|
|| SUBSTR (SQLERRM, 1, 100)
|
|
|| ')');
|
|
END;
|
|
/
|
|
|
|
|
|
CREATE OR REPLACE FORCE VIEW maas_v_mldopdr
|
|
(
|
|
melding_key,
|
|
meldingnummer,
|
|
melding_start_key,
|
|
externnummer,
|
|
melding_regio,
|
|
melding_district,
|
|
melding_locatiecode,
|
|
melding_locatie,
|
|
melding_locatieplaats,
|
|
fclt_3d_locatie_key,
|
|
melding_gebouwcode,
|
|
melding_gebouw,
|
|
melding_verdieping,
|
|
melding_ruimtenr,
|
|
melding_ruimte,
|
|
melding_ordernr,
|
|
kostensoortgroep,
|
|
kostensoort,
|
|
kostenplaats,
|
|
kostenplaats_oms,
|
|
melder,
|
|
melder_key,
|
|
afdeling,
|
|
afdeling_omschrijving,
|
|
fclt_3d_afdeling_key,
|
|
bedrijf_key,
|
|
invoerder,
|
|
meldbron,
|
|
soortmelding,
|
|
fclt_3d_discipline_key,
|
|
productgroep,
|
|
subproductgroep,
|
|
behandelgroep,
|
|
behandelaar,
|
|
behandelaar_key,
|
|
subproductgroepgroep,
|
|
fclt_3d_discipline2_key,
|
|
actieve_behandelgroep,
|
|
actieve_behandelaar_key,
|
|
actieve_behandelaar,
|
|
melding_status,
|
|
sla_nvt,
|
|
sla_werkdgn,
|
|
sla_werkuren,
|
|
sla_respijtdgn,
|
|
sla_respijturen,
|
|
sla_accptdgn,
|
|
sla_accpturen,
|
|
plan_uitvoertijd_sla,
|
|
melding_datum,
|
|
melding_einddatum,
|
|
melding_einddatum_std,
|
|
melding_acceptdatum,
|
|
melding_afgemeld,
|
|
melding_accepted,
|
|
doorlooptijd_werkdgn,
|
|
doorlooptijd_werkuren,
|
|
onderwerp,
|
|
vomschrijving,
|
|
melding_opmerking,
|
|
prioriteit,
|
|
prioriteittxt,
|
|
rating,
|
|
rating_opmerking,
|
|
bolletje,
|
|
actiecode,
|
|
accept_sla_dagen,
|
|
accept_sla_uren,
|
|
uitvoering_sla_dagen,
|
|
uitvoering_sla_uren,
|
|
afspraak_sla_dagen,
|
|
afspraak_sla_uren,
|
|
accept_sla_optijd,
|
|
uitvoering_sla_optijd,
|
|
afspraak_sla_optijd,
|
|
selfservice,
|
|
opdracht_key,
|
|
opdracht_nummer,
|
|
opdracht_regio,
|
|
opdracht_district,
|
|
opdracht_locatie_code,
|
|
opdracht_locatie,
|
|
opdracht_locatieplaats,
|
|
opdracht_gebouwcode,
|
|
opdracht_gebouw,
|
|
opdracht_verdieping,
|
|
opdracht_ruimtenr,
|
|
opdracht_ruimte,
|
|
opdracht_kostenplaats,
|
|
opdracht_kostenplaats_oms,
|
|
opdracht_type,
|
|
opdracht_volgnummer,
|
|
opdracht_status,
|
|
opdracht_duur_gepland,
|
|
opdracht_datum,
|
|
opdracht_einddatum,
|
|
opdracht_plandatum,
|
|
opdracht_acceptdatum,
|
|
opdracht_afgemeld,
|
|
opdracht_doorlooptijd,
|
|
opdracht_accepttijd,
|
|
opdracht_omschrijving,
|
|
opdracht_opmerking,
|
|
opdracht_uitvoerende,
|
|
opdracht_uitvoerende_contact,
|
|
opdracht_behandelaar,
|
|
opdracht_contract,
|
|
opdracht_contract_versie,
|
|
opdracht_contactpersoon,
|
|
opdracht_uren,
|
|
opdracht_correctie,
|
|
opdracht_materiaal,
|
|
opdracht_uurtarief,
|
|
opdracht_kosten,
|
|
opdracht_verstrektdatum,
|
|
opdracht_lev_doorloopuren,
|
|
opdracht_lev_doorloopdagen,
|
|
status_valuemation,
|
|
status_per
|
|
)
|
|
AS
|
|
SELECT melding_key,
|
|
meldingnummer,
|
|
melding_start_key,
|
|
mo.mld_opdr_externnr,
|
|
melding_regio,
|
|
melding_district,
|
|
melding_locatiecode,
|
|
melding_locatie,
|
|
melding_locatieplaats,
|
|
fclt_3d_locatie_key,
|
|
melding_gebouwcode,
|
|
melding_gebouw,
|
|
melding_verdieping,
|
|
melding_ruimtenr,
|
|
melding_ruimte,
|
|
melding_ordernr,
|
|
kostensoortgroep,
|
|
kostensoort,
|
|
kostenplaats,
|
|
kostenplaats_oms,
|
|
melder,
|
|
melder_key,
|
|
afdeling,
|
|
afdeling_omschrijving,
|
|
fclt_3d_afdeling_key,
|
|
bedrijf_key,
|
|
invoerder,
|
|
meldbron,
|
|
soortmelding,
|
|
fclt_3d_discipline_key,
|
|
productgroep,
|
|
subproductgroep,
|
|
behandelgroep,
|
|
behandelaar,
|
|
behandelaar_key,
|
|
subproductgroepgroep,
|
|
fclt_3d_discipline2_key,
|
|
actieve_behandelgroep,
|
|
actieve_behandelaar_key,
|
|
actieve_behandelaar,
|
|
melding_status,
|
|
sla_nvt,
|
|
sla_werkdgn,
|
|
sla_werkuren,
|
|
sla_respijtdgn,
|
|
sla_respijturen,
|
|
sla_accptdgn,
|
|
sla_accpturen,
|
|
plan_uitvoertijd_sla,
|
|
melding_datum,
|
|
melding_einddatum,
|
|
melding_einddatum_std,
|
|
melding_acceptdatum,
|
|
melding_afgemeld,
|
|
melding_accepted,
|
|
doorlooptijd_werkdgn,
|
|
doorlooptijd_werkuren,
|
|
onderwerp,
|
|
vomschrijving,
|
|
melding_opmerking,
|
|
prioriteit,
|
|
prioriteittxt,
|
|
rating,
|
|
rating_opmerking,
|
|
bolletje,
|
|
actiecode,
|
|
accept_sla_dagen,
|
|
accept_sla_uren,
|
|
uitvoering_sla_dagen,
|
|
uitvoering_sla_uren,
|
|
afspraak_sla_dagen,
|
|
afspraak_sla_uren,
|
|
accept_sla_optijd,
|
|
uitvoering_sla_optijd,
|
|
afspraak_sla_optijd,
|
|
selfservice,
|
|
opdracht_key,
|
|
opdracht_nummer,
|
|
opdracht_regio,
|
|
opdracht_district,
|
|
opdracht_locatie_code,
|
|
opdracht_locatie,
|
|
opdracht_locatieplaats,
|
|
opdracht_gebouwcode,
|
|
opdracht_gebouw,
|
|
opdracht_verdieping,
|
|
opdracht_ruimtenr,
|
|
opdracht_ruimte,
|
|
opdracht_kostenplaats,
|
|
opdracht_kostenplaats_oms,
|
|
opdracht_type,
|
|
opdracht_volgnummer,
|
|
opdracht_status,
|
|
opdracht_duur_gepland,
|
|
opdracht_datum,
|
|
opdracht_einddatum,
|
|
opdracht_plandatum,
|
|
opdracht_acceptdatum,
|
|
opdracht_afgemeld,
|
|
opdracht_doorlooptijd,
|
|
opdracht_accepttijd,
|
|
opdracht_omschrijving,
|
|
opdracht_opmerking,
|
|
opdracht_uitvoerende,
|
|
opdracht_uitvoerende_contact,
|
|
opdracht_behandelaar,
|
|
opdracht_contract,
|
|
opdracht_contract_versie,
|
|
opdracht_contactpersoon,
|
|
opdracht_uren,
|
|
opdracht_correctie,
|
|
opdracht_materiaal,
|
|
opdracht_uurtarief,
|
|
opdracht_kosten,
|
|
opdracht_verstrektdatum,
|
|
opdracht_lev_doorloopuren,
|
|
opdracht_lev_doorloopdagen,
|
|
(SELECT DISTINCT mld_kenmerkopdr_waarde
|
|
FROM mld_v_aanwezigkenmerkopdr km1,
|
|
mld_srtkenmerk sk,
|
|
mld_kenmerk km
|
|
WHERE km1.mld_opdr_key = opdracht_key
|
|
AND sk.mld_srtkenmerk_key = 381 --Status Valuemation
|
|
AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
|
AND km.mld_kenmerk_key = km1.mld_kenmerk_key
|
|
AND km1.mld_kenmerkopdr_verwijder IS NULL)
|
|
AS status_valuemation,
|
|
(SELECT DISTINCT mld_kenmerkopdr_waarde
|
|
FROM mld_v_aanwezigkenmerkopdr km1,
|
|
mld_srtkenmerk sk,
|
|
mld_kenmerk km
|
|
WHERE km1.mld_opdr_key = opdracht_key
|
|
AND sk.mld_srtkenmerk_key = 382 --Status per
|
|
AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
|
AND km.mld_kenmerk_key = km1.mld_kenmerk_key
|
|
AND km1.mld_kenmerkopdr_verwijder IS NULL)
|
|
AS status_per
|
|
FROM mld_v_udr_meldingopdracht, mld_opdr mo
|
|
WHERE mo.mld_opdr_key = opdracht_key AND opdracht_key IS NOT NULL;
|
|
|
|
CREATE OR REPLACE VIEW maas_v_noti_hrwf_man_id
|
|
(
|
|
code,
|
|
sender,
|
|
receiver,
|
|
text,
|
|
key,
|
|
xkey
|
|
)
|
|
AS
|
|
SELECT DISTINCT 'CUST04' AS code,
|
|
NULL,
|
|
kmm.mld_kenmerkmelding_waarde, --prs_perslid_key manager. Manager is als email in processmail aangereikt
|
|
'Notificatie ivm medewerker in dienst',
|
|
m.mld_melding_key,
|
|
NULL
|
|
FROM mld_melding m, mld_kenmerkmelding kmm
|
|
WHERE kmm.mld_melding_key = m.mld_melding_key
|
|
AND kmm.mld_kenmerk_key = 821 --Kenmerk Leidinggevende bij de startmelding workflow In Dienst
|
|
AND m.mld_melding_key NOT IN
|
|
(SELECT t.fac_tracking_refkey
|
|
FROM fac_tracking t
|
|
WHERE t.fac_tracking_refkey = m.mld_melding_key
|
|
AND UPPER (t.fac_tracking_oms) LIKE
|
|
'%NOTIFICATIE CUST04 VERSTUURD%')
|
|
UNION ALL --Er moet een mail naar de leidinggevende én Igor Zandee
|
|
SELECT DISTINCT 'CUST04' AS code,
|
|
NULL,
|
|
238, --prs_perslid_key van Igor Zandee
|
|
'Notificatie ivm medewerker in dienst',
|
|
m.mld_melding_key,
|
|
NULL
|
|
FROM mld_melding m, mld_kenmerkmelding kmm
|
|
WHERE kmm.mld_melding_key = m.mld_melding_key
|
|
AND kmm.mld_kenmerk_key = 821 --Kenmerk Leidinggevende bij de startmelding workflow In Dienst
|
|
AND m.mld_melding_key NOT IN
|
|
(SELECT t.fac_tracking_refkey
|
|
FROM fac_tracking t
|
|
WHERE t.fac_tracking_refkey = m.mld_melding_key
|
|
AND UPPER (t.fac_tracking_oms) LIKE
|
|
'%NOTIFICATIE CUST04 VERSTUURD%');
|
|
|
|
CREATE OR REPLACE VIEW maas_v_noti_hrwf_man_bm
|
|
(
|
|
code,
|
|
sender,
|
|
receiver,
|
|
text,
|
|
key,
|
|
xkey
|
|
)
|
|
AS
|
|
SELECT DISTINCT 'CUST05' AS code,
|
|
NULL,
|
|
kmm.mld_kenmerkmelding_waarde, --prs_perslid_key manager. Manager is als email in processmail aangereikt
|
|
'Notificatie bruikleenmiddelen voor nieuwe medewerker',
|
|
m.mld_melding_key,
|
|
NULL
|
|
FROM mld_melding m, mld_kenmerkmelding kmm
|
|
WHERE kmm.mld_melding_key = m.mld_melding_key
|
|
AND kmm.mld_kenmerk_key = 922 --Kenmerk Leidinggevende bij de melding Bruikleenmiddelen in orde maken (Servicedesk)
|
|
AND m.mld_melding_status IN (1, 5, 6, 99) -- Afgewezen, afgemeld, historie, niet opgelost.
|
|
AND m.mld_melding_key NOT IN
|
|
(SELECT t.fac_tracking_refkey
|
|
FROM fac_tracking t
|
|
WHERE t.fac_tracking_refkey = m.mld_melding_key
|
|
AND UPPER (t.fac_tracking_oms) LIKE
|
|
'%NOTIFICATIE CUST05 VERSTUURD%');
|
|
|
|
|
|
------ payload end ------
|
|
|
|
SET DEFINE OFF
|
|
BEGIN adm.systrackscriptId ('$Id$', 0); END;
|
|
/
|
|
|
|
COMMIT;
|
|
SET ECHO OFF
|
|
SPOOL OFF
|
|
SET DEFINE ON
|
|
PROMPT Logfile of this upgrade is: &fcltlogfile |