From dea6b790c041fd7bb327b5eb15f86fe9d6ee3d85 Mon Sep 17 00:00:00 2001 From: Suzan Wiegerinck Date: Wed, 30 Sep 2020 09:00:05 +0000 Subject: [PATCH] 60839: Koppeling Facilitor - Topdesk svn path=/Customer/trunk/; revision=48331 --- PNBR/pnbr.sql | 98 ++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 86 insertions(+), 12 deletions(-) diff --git a/PNBR/pnbr.sql b/PNBR/pnbr.sql index 5a4ba23a7..c5dea0eae 100644 --- a/PNBR/pnbr.sql +++ b/PNBR/pnbr.sql @@ -7204,6 +7204,9 @@ AS v_aanduiding VARCHAR2 (100); v_locatie_key NUMBER; v_lengte NUMBER; + v_status_ogd VARCHAR2 (200); + v_status_ogd_new VARCHAR2 (200); + v_status_ogd_key NUMBER; v_new_note VARCHAR2 (4000); -- Dit haalt het externnummer op uit de opdrachtomschrijving indien externnr bij de melding nog leeg is @@ -7424,20 +7427,56 @@ BEGIN FOR rec IN actie_cust LOOP BEGIN - v_aanduiding := 'Melding: ' || rec.mld_melding_key; - v_errorhint := - 'Status melding naar Actie aanvrager voor melding ' - || rec.mld_melding_key; + 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; - UPDATE mld_melding - SET mld_melding_actiecode = 2 - WHERE mld_melding_key = rec.mld_melding_key; - fac.trackaction ('MLDNOT', - rec.mld_melding_key, - rec.prs_perslid_key_voor, - NULL, - 'Notitie toegevoegd door OGD'); + IF UPPER (v_status_ogd) = 'PENDING CUSTOMER' + THEN + v_aanduiding := 'Melding: ' || rec.mld_melding_key; + v_errorhint := + 'Status melding naar Actie aanvrager voor melding ' + || rec.mld_melding_key; + + UPDATE mld_melding + SET mld_melding_actiecode = 2 + WHERE mld_melding_key = rec.mld_melding_key; + + fac.trackaction ('MLDNOT', + rec.mld_melding_key, + rec.prs_perslid_key_voor, + NULL, + 'Notitie toegevoegd door OGD'); + + /* IF upper(v_status_ogd) = 'PENDING DPL' + THEN*/ + ELSE + v_aanduiding := 'Melding: ' || rec.mld_melding_key; + v_errorhint := + 'Status melding naar Attentie voor melding ' + || rec.mld_melding_key; + + UPDATE mld_melding + SET mld_melding_actiecode = 129 + WHERE mld_melding_key = rec.mld_melding_key; + + fac.trackaction ( + 'MLDNOB', + rec.mld_melding_key, + 8502, --- generieke perslid voor mail naar DPL + NULL, + 'Melding kwalitatief onvoldoende bevonden door OGD'); + END IF; -- Vervolgens zetten we de sync date zodat we weten dat we weten tot hoever de notities al genotificeerd zijn mld.upsertmeldingkenmerk (rec.mld_kenmerk_key, @@ -7540,6 +7579,41 @@ BEGIN NULL, 'Sync_OGD: ' || rec.sync || ' --> ' || rec.note); END CASE; + + -- De status OGD werken we dan ook nog even netjes bij + SELECT k.mld_kenmerk_key, + CASE + WHEN (UPPER (ko.mld_kenmerkopdr_waarde) = 'PENDING CUSTOMER') + THEN + 'Reactie ontvangen' + WHEN UPPER (ko.mld_kenmerkopdr_waarde) = 'PENDING DPL' + AND m.mld_melding_flag = 3 + THEN + 'Pending DPL' + WHEN UPPER (ko.mld_kenmerkopdr_waarde) = 'PENDING DPL' + AND (m.mld_melding_flag <> 3 OR m.mld_melding_flag IS NULL) + THEN + 'Reactie ontvangen' + END CASE + INTO v_status_ogd_key, v_status_ogd_new + FROM mld_kenmerkopdr ko, + mld_kenmerk k, + mld_srtkenmerk sk, + mld_opdr o, + mld_melding m + 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 = m.mld_melding_key + AND o.mld_opdr_key = rec.mld_opdr_key; + + mld.upsertopdrachtkenmerk (v_status_ogd_key, + rec.mld_opdr_key, + v_status_ogd_new); + + EXCEPTION WHEN OTHERS THEN