WELK#89215 Migratie Valuemation naar Zendesk voor klant Maasdelta

svn path=/Customer/trunk/; revision=69199
This commit is contained in:
Sander Schepers
2025-05-30 14:48:38 +00:00
parent fba12a3beb
commit f9a54186c7

View File

@@ -1403,9 +1403,6 @@ END;
CREATE OR REPLACE PROCEDURE maas_export_valuemation
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
@@ -1416,6 +1413,7 @@ AS
WHERE note.mld_opdr_key = opdr.mld_opdr_key
AND opdr.mld_typeopdr_key = 481
AND note.prs_perslid_key <> 3
AND opdr.mld_opdr_verzonden IS NOT NULL
AND mld_statusopdr_key IN (5, 8) -- Toegekend, geaccepteerd
AND (opdr.mld_opdr_externsyncdate IS NULL
OR opdr.mld_opdr_externsyncdate <
@@ -1426,6 +1424,7 @@ AS
WHERE opdr.mld_opdr_key = att.fac_bijlagen_refkey
AND att.fac_bijlagen_module = 'MLD'
AND opdr.mld_typeopdr_key = 481
AND opdr.mld_opdr_verzonden IS NOT NULL
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
@@ -1441,6 +1440,7 @@ AS
AND t.prs_perslid_key IS NOT NULL
AND t.prs_perslid_key <> 3 --Facilitor, dus enkel tracking door wijzigingen van gebruikers
AND opdr.mld_typeopdr_key = 481
AND opdr.mld_opdr_verzonden IS NOT NULL
AND opdr.mld_statusopdr_key IN (5, 8) -- Toegekend, geaccepteerd
AND (opdr.mld_opdr_externsyncdate IS NULL
OR opdr.mld_opdr_externsyncdate <
@@ -1541,12 +1541,148 @@ EXCEPTION
END;
/
CREATE OR REPLACE PROCEDURE maas_update_zendesk
AS
v_errorhint VARCHAR2 (100);
--Bij een recente wijziging (toevoegen notitie / bijlage) moet Aareon een update krijgen via notificatie (ORDNOL)
CURSOR sendagain IS
SELECT DISTINCT (mld_opdr_key),
prs_perslid_email,
prs_perslid_key,
prs_bedrijfadres_url,
prs_bedrijfadres_key, --Zelfde opdracht niet 2 maal
mld_opdr_note_key,
fac_bijlagen_key
FROM (SELECT DISTINCT(o.mld_opdr_key)
, p.prs_perslid_email
, p.prs_perslid_key
, a.prs_bedrijfadres_url
, a.prs_bedrijfadres_key
, n.mld_opdr_note_key
, NULL fac_bijlagen_key
FROM mld_opdr o
, mld_opdr_note n
, fac_notificatie t
, fac_srtnotificatie s
, prs_bedrijf b
, prs_bedrijfadres a
, prs_perslid p
WHERE o.mld_opdr_key = n.mld_opdr_key
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key(+)
AND o.prs_perslid_key = p.prs_perslid_key(+)
AND b.prs_bedrijf_key = a.prs_bedrijf_key
AND n.mld_opdr_key = t.fac_notificatie_refkey
AND t.fac_srtnotificatie_key = s.fac_srtnotificatie_key
AND s.fac_srtnotificatie_code = 'ORDNOL'
AND o.prs_perslid_key <> 3 -- Facilitor
AND o.mld_typeopdr_key = 481 -- Aareon
AND o.mld_statusopdr_key IN (5,8) -- Toegekend, geaccepteerd
AND a.prs_bedrijfadres_type = 'N'
and t.fac_notificatie_datum = n.mld_opdr_note_aanmaak
UNION ALL
SELECT DISTINCT (opdr.mld_opdr_key),
p.prs_perslid_email,
p.prs_perslid_key,
ba.prs_bedrijfadres_url,
ba.prs_bedrijfadres_key,
NULL mld_opdr_note_key,
TO_CHAR(att.fac_bijlagen_key)
FROM mld_opdr opdr,
fac_bijlagen att,
prs_perslid p,
prs_bedrijf b,
prs_bedrijfadres ba
WHERE opdr.mld_opdr_key = att.fac_bijlagen_refkey
AND opdr.prs_perslid_key = p.prs_perslid_key(+)
AND att.fac_bijlagen_module = 'MLD'
AND opdr.mld_uitvoerende_keys = b.prs_bedrijf_key(+)
AND ba.prs_bedrijf_key = b.prs_bedrijf_key
AND opdr.mld_typeopdr_key = 481 --Aareon
AND opdr.mld_statusopdr_key IN (5, 8) -- Toegekend, geaccepteerd
AND ba.prs_bedrijfadres_type = 'N'
AND fac_bijlagen_kenmerk_key = 601 -- Opdrachtkenmerk Bijlagen bij opdrachttype Aareon
AND att.fac_bijlagen_aanmaak >
(SELECT MAX (t.fac_tracking_datum)
FROM fac_tracking t,
fac_srtnotificatie sn
WHERE sn.fac_srtnotificatie_key = t.fac_srtnotificatie_key
AND sn.fac_srtnotificatie_code = 'ORDSNT'
)
AND att.fac_bijlagen_aanmaak > opdr.mld_opdr_externsyncdate
);
BEGIN
v_errorhint := 'init';
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
INSERT INTO fac_notificatie (fac_srtnotificatie_key,
fac_notificatie_status,
fac_notificatie_refkey,
fac_notificatie_prioriteit,
fac_notificatie_datum,
fac_notificatie_lang,
fac_notificatie_sender_email,
prs_perslid_key_sender,
fac_notificatie_systeemadres,
prs_bedrijfadres_key,
fac_notificatie_extrakey,
fac_notificatie_attachments
)
VALUES ( (SELECT sn.fac_srtnotificatie_key
FROM fac_srtnotificatie sn
WHERE sn.fac_srtnotificatie_code = 'ORDNOL'),
0,
rec.mld_opdr_key,
2,
SYSDATE,
'NL',
rec.prs_perslid_email,
rec.prs_perslid_key,
NULL, --rec.prs_bedrijfadres_url,
rec.prs_bedrijfadres_key,
rec.mld_opdr_note_key,
rec.fac_bijlagen_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;
END;
END LOOP;
EXCEPTION
WHEN OTHERS
THEN
fac.writelog (
'MAAS',
'E',
'Update sturen naar Zendesk' || '[' || v_errorhint || ']',
'OTHERS (error '
|| SQLCODE
|| '/'
|| SUBSTR (SQLERRM, 1, 100)
|| ')');
END;
/
/*
CREATE OR REPLACE PROCEDURE maas_pre_putorders
AS
BEGIN
maas_export_valuemation;
--maas_export_valuemation
--maas_update_zendesk;
END;
/
*/
CREATE OR REPLACE FORCE VIEW maas_v_mldopdr
(
@@ -2332,6 +2468,61 @@ AS
fac_notificatie_job_view) =
'MAAS_V_NOTI_UITLEEN_HR_IN'));
CREATE OR REPLACE PACKAGE MAAS
AS
PROCEDURE create_fac_usrdata_node (p_key IN NUMBER,
p_custid IN VARCHAR2,
p_sessionid IN VARCHAR2,
p_extra IN VARCHAR2,
p_where IN VARCHAR2);
END;
/
CREATE OR REPLACE PACKAGE BODY MAAS
AS
PROCEDURE create_fac_usrdata_node (p_key IN NUMBER,
p_custid IN VARCHAR2,
p_sessionid IN VARCHAR2,
p_extra IN VARCHAR2,
p_where IN VARCHAR2)
AS
v_fac_usrtab_key fac_usrdata.fac_usrtab_key%TYPE;
v_fac_usrdata_code fac_usrdata.fac_usrdata_code%TYPE;
v_fac_usrdata_omschr fac_usrdata.fac_usrdata_omschr%TYPE;
v_fac_usrdata_omschr2 fac_usrdata.fac_usrdata_omschr2%TYPE;
v_fac_usrdata_prijs fac_usrdata.fac_usrdata_prijs%TYPE;
BEGIN
IF p_key IS NOT NULL
THEN
XML.createconciseopentag ('fac_usrdata');
SELECT fac_usrdata.fac_usrtab_key,
fac_usrdata.fac_usrdata_code,
fac_usrdata.fac_usrdata_omschr,
fac_usrdata.fac_usrdata_omschr2,
fac_usrdata.fac_usrdata_prijs
INTO v_fac_usrtab_key,
v_fac_usrdata_code,
v_fac_usrdata_omschr,
v_fac_usrdata_omschr2,
v_fac_usrdata_prijs
FROM fac_usrdata
WHERE fac_usrdata_key = p_key;
XML.createxmltagvalue ('tabel_key', v_fac_usrtab_key);
XML.createxmltagvalue ('code', v_fac_usrdata_code);
XML.createxmltagvalue ('omschrijving', v_fac_usrdata_omschr);
XML.createxmltagvalue ('omschrijving2', v_fac_usrdata_omschr2);
XML.createxmltagvalue ('prijs', XML.mynumbertochar(v_fac_usrdata_prijs));
XML.createclosetag ('fac_usrdata');
END IF;
END;
END;
/
------ payload end ------
SET DEFINE OFF