WELK#89215 Migratie Valuemation naar Zendesk voor klant Maasdelta
svn path=/Customer/trunk/; revision=69199
This commit is contained in:
199
MAAS/maas.sql
199
MAAS/maas.sql
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user