HCAS#88613 Dubbele verzending opdrachten naar Servicenow via email koppeling
Nu betere controle in de update dat een opdracht niet direct opnieuw verzonden wordt als deze nog in de wachtrij staat. Bovendien een betere bepaling op unieke opdracht (mocht er eens een melding zijn met meerdere opdrachten). svn path=/Customer/trunk/; revision=70993
This commit is contained in:
@@ -298,20 +298,23 @@ AS
|
||||
--Onderstaande cursor verzamelt de gegevens om te bepalen welke meldingen nieuwe opmerkingen hebben en die verzonden kunnen worden naar Servicenow
|
||||
CURSOR sync
|
||||
IS
|
||||
SELECT mld_melding_key,
|
||||
SELECT mld_melding_key,
|
||||
mld_opdr_key,
|
||||
mld_ins_discipline_key,
|
||||
mld_melding_note_aanmaak,
|
||||
fac.safe_to_number (
|
||||
TO_CHAR (mld_melding_note_aanmaak, 'yyyymmddhh24miss'))
|
||||
TO_CHAR (mld_melding_note_aanmaak, 'yyyymmddhh24miss'))
|
||||
AS note,
|
||||
sync,
|
||||
sync_key
|
||||
FROM ( SELECT mld_melding_key,
|
||||
mld_opdr_key,
|
||||
mld_ins_discipline_key,
|
||||
MAX (mld_melding_note_aanmaak) AS mld_melding_note_aanmaak,
|
||||
sync,
|
||||
sync_key
|
||||
FROM (SELECT mld.mld_melding_key,
|
||||
o.mld_opdr_key,
|
||||
sm.mld_ins_discipline_key,
|
||||
fac_bijlagen_aanmaak AS mld_melding_note_aanmaak,
|
||||
(SELECT fac.safe_to_number (
|
||||
@@ -333,17 +336,20 @@ AS
|
||||
AND km.mld_kenmerk_key = sync.mld_kenmerk_key
|
||||
AND km.mld_srtkenmerk_key = 541) -- Kenmerksoort 'Sync_'Servicenow' (tbv synchronisatie van opmerkingen naar Servicenow)
|
||||
AS sync_key
|
||||
FROM mld_melding mld, mld_stdmelding sm, fac_bijlagen att
|
||||
FROM mld_melding mld, mld_stdmelding sm, fac_bijlagen att, mld_opdr o
|
||||
WHERE sm.mld_stdmelding_key = mld.mld_stdmelding_key
|
||||
AND sm.mld_ins_discipline_key IN (321, 341, 401) -- Enkel voor de vakgroepen die met servicenow gekoppeld worden.
|
||||
AND mld.mld_melding_status IN (2, 3, 4, 7)
|
||||
AND att.fac_bijlagen_refkey = mld.mld_melding_key
|
||||
AND att.fac_bijlagen_module = 'MLD' --Enkel bijlage-kenmerken van meldingen (niet opdrachten)
|
||||
AND att.fac_bijlagen_kenmerk_key NOT IN
|
||||
AND att.fac_bijlagen_kenmerk_key NOT IN
|
||||
(SELECT mld_kenmerk_key
|
||||
FROM mld_kenmerk
|
||||
WHERE mld_kenmerk_niveau IN ('O', 'P')) --Kenmerk gekoppeld aan Opdrachtype (O) of alle Opdrachttypen (P)
|
||||
AND att.fac_bijlagen_verwijder IS NULL
|
||||
AND o.mld_melding_key = mld.mld_melding_key
|
||||
AND o.mld_uitvoerende_keys = 4623
|
||||
AND o.mld_opdr_verzonden IS NOT NULL
|
||||
AND ( (SELECT fac.safe_to_date (
|
||||
sync.mld_kenmerkmelding_waarde, 'yyyymmddhh24miss')
|
||||
FROM mld_kenmerkmelding sync,
|
||||
@@ -358,6 +364,7 @@ AS
|
||||
fac_bijlagen_aanmaak)
|
||||
UNION ALL
|
||||
SELECT mld.mld_melding_key,
|
||||
o.mld_opdr_key,
|
||||
sm.mld_ins_discipline_key,
|
||||
mn.mld_melding_note_aanmaak,
|
||||
(SELECT fac.safe_to_number (
|
||||
@@ -391,6 +398,7 @@ AS
|
||||
AND mld.mld_melding_key = o.mld_melding_key -- Enkel SyncServicenow bijwerken indien er ook een opdracht is.
|
||||
AND sm.mld_ins_discipline_key IN (321, 341, 401) -- Enkel voor de vakgroepen die met servicenow gekoppeld worden.
|
||||
AND mld.mld_melding_status IN (2, 3, 4, 7)
|
||||
AND o.mld_uitvoerende_keys = 4623
|
||||
AND o.mld_opdr_verzonden IS NOT NULL
|
||||
AND ( (SELECT fac.safe_to_date (
|
||||
sync.mld_kenmerkmelding_waarde, 'yyyymmddhh24miss')
|
||||
@@ -415,9 +423,9 @@ AS
|
||||
mld.mld_melding_key
|
||||
AND km.mld_kenmerk_key =
|
||||
sync.mld_kenmerk_key
|
||||
AND km.mld_srtkenmerk_key = 541) IS NULL))
|
||||
ORDER BY mld_melding_key, mld_melding_note_aanmaak ASC)
|
||||
AND km.mld_srtkenmerk_key = 541) IS NULL)))
|
||||
GROUP BY mld_melding_key,
|
||||
mld_opdr_key,
|
||||
mld_ins_discipline_key,
|
||||
sync,
|
||||
sync_key);
|
||||
@@ -527,8 +535,9 @@ BEGIN
|
||||
-- Eerst zetten we de opdracht opnieuw klaar om te verzenden
|
||||
UPDATE mld_opdr
|
||||
SET mld_opdr_teverzenden = 2, mld_opdr_verzonden = NULL
|
||||
WHERE mld_melding_key = rec.mld_melding_key
|
||||
AND mld_opdr.mld_uitvoerende_keys = 4623; -- Alle opdrachten aan KPN die gekoppeld zijn aan deze melding (doorgaans maar 1 per melding)
|
||||
WHERE mld_opdr.mld_opdr_key = rec.mld_opdr_key
|
||||
AND mld_opdr.mld_uitvoerende_keys = 4623 -- Alle opdrachten aan KPN die gekoppeld zijn aan deze melding (doorgaans maar 1 per melding)
|
||||
AND mld_opdr.mld_opdr_verzonden IS NOT NULL;
|
||||
|
||||
v_errorhint :=
|
||||
'Syncdatum bijwerken voor melding ' || rec.mld_melding_key;
|
||||
|
||||
Reference in New Issue
Block a user