PNBR#64859: Extern nummer in meldingen bij uitgegeven melding

svn path=/Customer/trunk/; revision=48970
This commit is contained in:
Suzan Wiegerinck
2020-11-26 15:25:20 +00:00
parent afb140d8fa
commit 5cf88dd365

View File

@@ -7719,28 +7719,51 @@ AS
-- Dit haalt het externnummer op uit de opdrachtomschrijving indien externnr bij de melding nog leeg is
-- De syncstate moet gezet worden om te bepalen wat wanneer gesynchroniseerd is
-- Na het aanmaken van de opdrachte zetten we de sync state gelijk aan de order date
-- Na het aanmaken van de opdracht zetten we de sync state gelijk aan de order date
CURSOR externnr IS
SELECT DISTINCT
m.mld_melding_key,
o.mld_opdr_key,
o.mld_opdr_externnr AS externnr,
km.mld_kenmerk_key,
fac.safe_to_number (
TO_CHAR (o.mld_opdr_datumbegin, 'yyyymmddhh24miss')) AS sync_date_new
FROM mld_melding m,
mld_opdr o,
mld_stdmelding sm,
mld_kenmerk km,
mld_srtkenmerk sk
WHERE m.mld_melding_key = o.mld_melding_key
AND sm.mld_stdmelding_key = m.mld_stdmelding_key
AND o.mld_opdr_externnr IS NOT NULL
AND km.mld_stdmelding_key = sm.mld_ins_discipline_key
AND sk.mld_srtkenmerk_key = km.mld_srtkenmerk_key
AND UPPER (sk.mld_srtkenmerk_omschrijving) = 'SYNC_OGD'
AND sm.mld_ins_discipline_key IN (4141, 4162) -- Enkel voor de vakgroepen die met Topdesk gekoppeld worden.
AND m.mld_melding_externnr IS NULL;
SELECT DISTINCT
m.mld_melding_key,
o.mld_opdr_key,
o.mld_statusopdr_key,
MAX (o.mld_opdr_datumbegin),
o.mld_opdr_externnr
AS externnr,
SUBSTR (o.mld_opdr_omschrijving,
INSTR (o.mld_opdr_omschrijving, 'TOPdesk nr:') + 12)
topdesknr,
km.mld_kenmerk_key,
fac.safe_to_number (
TO_CHAR (o.mld_opdr_datumbegin, 'yyyymmddhh24miss'))
AS sync_date_new
FROM mld_melding m,
mld_opdr o,
mld_stdmelding sm,
mld_kenmerk km,
mld_srtkenmerk sk
WHERE m.mld_melding_key = o.mld_melding_key
AND sm.mld_stdmelding_key = m.mld_stdmelding_key
AND o.mld_opdr_externnr IS NOT NULL
AND km.mld_stdmelding_key = sm.mld_ins_discipline_key
AND sk.mld_srtkenmerk_key = km.mld_srtkenmerk_key
AND UPPER (sk.mld_srtkenmerk_omschrijving) = 'SYNC_OGD'
AND sm.mld_ins_discipline_key IN (4141, 4162) -- Enkel voor de vakgroepen die met Topdesk gekoppeld worden.
AND o.mld_statusopdr_key NOT IN (1,
2,
6,
7)
AND ( m.mld_melding_externnr IS NULL
OR m.mld_melding_externnr <>
SUBSTR (o.mld_opdr_omschrijving,
INSTR (o.mld_opdr_omschrijving, 'TOPdesk nr:') + 12))
GROUP BY m.mld_melding_key,
o.mld_opdr_key,
o.mld_statusopdr_key,
o.mld_opdr_externnr,
SUBSTR (o.mld_opdr_omschrijving,
INSTR (o.mld_opdr_omschrijving, 'TOPdesk nr:') + 12),
km.mld_kenmerk_key,
fac.safe_to_number (
TO_CHAR (o.mld_opdr_datumbegin, 'yyyymmddhh24miss'));
-- Onderstaande cursor verzamelt de meldingen die status 'Actie aanvrager' (actie code = 2) moeten krijgen
-- Dit is wanneer OGD 60449 een notitie heeft aangemaakt
@@ -7788,6 +7811,7 @@ AS
AND skm.mld_srtkenmerk_key = 9083) syncdate
WHERE sm.mld_stdmelding_key = m.mld_stdmelding_key
AND sm.mld_ins_discipline_key IN (4162, 1582) --- alleen vakgroepen OGD en ICT wijziging
AND sm.mld_stdmelding_key <> 11121
AND n.mld_melding_key = m.mld_melding_key
AND o.mld_melding_key = m.mld_melding_key
AND n.prs_perslid_key = 60449
@@ -7795,6 +7819,7 @@ AS
AND m.prs_perslid_key = pr.prs_perslid_key
AND syncdate.mld_melding_key(+) = m.mld_melding_key
AND km.mld_stdmelding_key = sm.mld_ins_discipline_key --- let op: kenmerk zit gekoppeld op discipline niveau
AND m.mld_melding_status not in (1, 5, 6)
AND km.mld_srtkenmerk_key = 9083
AND ( fac.safe_to_number (
TO_CHAR (mld_melding_note_aanmaak,
@@ -7924,7 +7949,7 @@ BEGIN
|| rec.mld_melding_key;
UPDATE mld_melding
SET mld_melding_externnr = rec.externnr
SET mld_melding_externnr = rec.topdesknr
WHERE mld_melding_key = rec.mld_melding_key;
-- Vervolgens zetten we de sync state zodat we weten vanaf wanneer de sync van notities en bijlagen mag gaan lopen
@@ -7953,18 +7978,21 @@ BEGIN
FOR rec IN actie_cust
LOOP
BEGIN
SELECT ko.mld_kenmerkopdr_waarde
INTO v_status_ogd
FROM mld_kenmerkopdr ko,
mld_kenmerk k,
mld_srtkenmerk sk,
mld_opdr o
WHERE ko.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
AND o.mld_opdr_key = ko.mld_opdr_key
AND sk.mld_srtkenmerk_key = 9081
AND ko.mld_kenmerkopdr_verwijder IS NULL
AND o.mld_melding_key = rec.mld_melding_key;
SELECT COALESCE (mld_kenmerkopdr_waarde, 'Wacht op klant')
INTO v_status_ogd
FROM (SELECT o.mld_melding_key,
o.mld_opdr_key,
ko.mld_kenmerkopdr_waarde
FROM mld_kenmerkopdr ko,
mld_kenmerk k,
mld_srtkenmerk sk,
mld_opdr o
WHERE ko.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
AND o.mld_opdr_key = ko.mld_opdr_key
AND sk.mld_srtkenmerk_key = 9081
AND ko.mld_kenmerkopdr_verwijder IS NULL) status
WHERE status.mld_melding_key(+) = rec.mld_melding_key;
IF rec.opdr_status = 1
THEN