FCLT#84767 Overstap Aareon naar Zendesk en benodigde API-koppelingen

svn path=/Customer/trunk/; revision=67754
This commit is contained in:
Sander Schepers
2025-01-28 08:42:26 +00:00
parent 4bdcea4781
commit 4f0c18667e

View File

@@ -1807,7 +1807,7 @@ END;
/
/*
CREATE OR REPLACE PROCEDURE welk_export_valuemation (
p_applname IN VARCHAR2,
p_applrun IN VARCHAR2,
@@ -1949,6 +1949,134 @@ EXCEPTION
|| ')');
END;
/
*/
CREATE OR REPLACE PROCEDURE welk_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
FROM (SELECT DISTINCT (opdr.mld_opdr_key),
p.prs_perslid_email,
p.prs_perslid_key,
ba.prs_bedrijfadres_url,
ba.prs_bedrijfadres_key --, opdr.mld_melding_key, opdr.mld_opdr_externsyncdate
FROM mld_opdr opdr,
mld_opdr_note note,
prs_perslid p,
prs_bedrijf b,
prs_bedrijfadres ba
WHERE note.mld_opdr_key = opdr.mld_opdr_key
AND opdr.prs_perslid_key = p.prs_perslid_key(+)
AND opdr.mld_typeopdr_key = 341 --Aareon
-- AND note.prs_perslid_key <> 4 --Facilitor
AND opdr.mld_uitvoerende_keys = b.prs_bedrijf_key(+)
AND ba.prs_bedrijf_key = b.prs_bedrijf_key
AND mld_statusopdr_key IN (5, 8) -- Toegekend, geaccepteerd
AND ba.prs_bedrijfadres_type = 'N'
AND note.mld_opdr_note_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 note.mld_opdr_note_aanmaak >
opdr.mld_opdr_externsyncdate
UNION ALL
SELECT DISTINCT (opdr.mld_opdr_key),
p.prs_perslid_email,
p.prs_perslid_key,
ba.prs_bedrijfadres_url,
ba.prs_bedrijfadres_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 = 341 --Aareon
AND opdr.mld_statusopdr_key IN (5, 8) -- Toegekend, geaccepteerd
AND ba.prs_bedrijfadres_type = 'N'
AND fac_bijlagen_kenmerk_key = 409 -- 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)
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,
rec.prs_bedrijfadres_key,
rec.prs_bedrijfadres_url);
--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 (
'WELK_UPDATE_ZENDESK',
'E',
'Update sturen naar Zendesk' || '[' || v_errorhint || ']',
'OTHERS (error '
|| SQLCODE
|| '/'
|| SUBSTR (SQLERRM, 1, 100)
|| ')');
END;
/
CREATE OR REPLACE PROCEDURE welk_pre_putorders
AS
BEGIN
welk_update_zendesk;
END;
CREATE OR REPLACE VIEW welk_v_mldopdr
(