diff --git a/BES/BES_PAC.SRC b/BES/BES_PAC.SRC index 583492e9..182af77c 100644 --- a/BES/BES_PAC.SRC +++ b/BES/BES_PAC.SRC @@ -2235,7 +2235,7 @@ AS AS BEGIN FOR bedrijfrec IN (SELECT b.prs_bedrijf_key, - CASE WHEN b.prs_bedrijf_key = o.prs_bedrijf_key THEN 'B' ELSE 'BOG' END bedrijfadres_type, + CASE WHEN b.prs_bedrijf_key = o.prs_bedrijf_key THEN 'B' ELSE 'G' END bedrijfadres_type, l.alg_locatie_key, o.bes_bestelopdr_id FROM prs_bedrijf b, @@ -2252,7 +2252,7 @@ AS FROM prs_bedrijfadres ba WHERE ba.prs_bedrijf_key = b.prs_bedrijf_key AND ba.prs_bedrijfadres_startdatum <= SYSDATE - AND ba.prs_bedrijfadres_type = 'BOG'))) + AND ba.prs_bedrijfadres_type = 'G'))) LOOP fac.notifybedrijf (pbedrijf_key => bedrijfrec.prs_bedrijf_key, pbedrijfadres_type => bedrijfrec.bedrijfadres_type, diff --git a/CNT/CNT_PAC.SRC b/CNT/CNT_PAC.SRC index 8cd8d5ef..b081cbbb 100644 --- a/CNT/CNT_PAC.SRC +++ b/CNT/CNT_PAC.SRC @@ -261,7 +261,7 @@ CREATE OR REPLACE PACKAGE BODY cnt AS AND BITAND(p.cnt_disc_params_opties,1) = 1 -- Dit contracttype mag automatisch verlengd worden AND BITAND(c.cnt_contract_verlenging,4) = 4 -- Dit contract mag automatisch verlengd worden AND TRUNC(SYSDATE) > cnt.cnt_getTermijndatum (c.cnt_contract_looptijd_tot, c.cnt_contract_opzegtermijn, -1) - AND NOT EXISTS + AND NOT EXISTS ( SELECT 1 FROM cnt_contract cn WHERE cn.cnt_contract_nummer_intern = c.cnt_contract_nummer_intern @@ -706,7 +706,7 @@ CREATE OR REPLACE PACKAGE BODY cnt AS FOR bedrijfrec IN (SELECT b.prs_bedrijf_key, l.alg_locatie_key, - CASE WHEN b.prs_bedrijf_key = c.cnt_prs_bedrijf_key THEN 'C' ELSE 'CG' END bedrijfadres_type, + CASE WHEN b.prs_bedrijf_key = c.cnt_prs_bedrijf_key THEN 'C' ELSE 'G' END bedrijfadres_type, cnt_contract_nummer_intern, COALESCE (l.alg_locatie_email, ins_discipline_email) FROM prs_bedrijf b, @@ -762,7 +762,7 @@ CREATE OR REPLACE PACKAGE BODY cnt AS FROM prs_bedrijfadres ba WHERE ba.prs_bedrijf_key = b.prs_bedrijf_key AND ba.prs_bedrijfadres_startdatum <= SYSDATE - AND ba.prs_bedrijfadres_type = 'CG'))) + AND ba.prs_bedrijfadres_type = 'G'))) LOOP fac.notifybedrijf (pbedrijf_key => bedrijfrec.prs_bedrijf_key, pbedrijfadres_type => bedrijfrec.bedrijfadres_type, diff --git a/FAC/FAC_LCL.SRC b/FAC/FAC_LCL.SRC index 126cd1f6..a8a936b4 100644 --- a/FAC/FAC_LCL.SRC +++ b/FAC/FAC_LCL.SRC @@ -1513,6 +1513,7 @@ FAC_LCL('lcl_mjb_original', 'Oorspronkelijk {0}', 'Original {0}') FAC_LCL('lcl_mjb_prompt_move', 'Opmerking bij aanpassen planning', 'Note for modification of plan') FAC_LCL('lcl_mjb_plan_opmerking', 'Motivatie', 'Reason') FAC_LCL('lcl_mjb_datum_org', 'Oorspronkelijke plandatum', 'Original plan date') +FAC_LCL('lcl_mjb_start_date', 'Startdatum', 'Start date') FAC_LCL('lcl_mjb_call_history', 'Melding historie', 'Call history') FAC_LCL('lcl_mjb_scenario', 'Scenario', 'Scenario') FAC_LCL('lcl_mjb_scenarios', 'Scenario''s', 'Scenarios') @@ -3474,21 +3475,19 @@ FAC_LCL('lcl_prs_bedrijfadres_srtnoti_frame', 'Gebeurtenis', 'Event') FAC_LCL('lcl_prs_bedrijfadres_srtnoti_title', 'Gebeurtenissen', 'Events') FAC_LCL('lcl_prs_bedrijfadres_frame', 'Technisch adres', 'Technical address') FAC_LCL('lcl_prs_bedrijfadres_omschrijving', 'Omschrijving', 'Description') + FAC_LCL('lcl_prs_bedrijfadres_type', 'Kanaal', 'Channel') -FAC_LCL('lcl_prs_bedrijfadres_type_b', 'Bestellingen', 'Purchase orders') -FAC_LCL('lcl_prs_bedrijfadres_type_o', 'Opdrachten uitvoerende', 'Orders contractor') -FAC_LCL('lcl_prs_bedrijfadres_type_og', 'Opdrachten generiek', 'Orders generic') +FAC_LCL('lcl_prs_bedrijfadres_type_b', 'Bestelopdrachten', 'Purchase orders') +FAC_LCL('lcl_prs_bedrijfadres_type_o', 'Opdrachtverstrekking', 'Orders contractor') FAC_LCL('lcl_prs_bedrijfadres_type_o_other', 'Geen/Overige opdrachten', 'No/Misc. Orders') FAC_LCL('lcl_prs_bedrijfadres_type_c', 'Contracten', 'Contracts') -FAC_LCL('lcl_prs_bedrijfadres_type_v', 'Voorraad info', 'Stock info') +FAC_LCL('lcl_prs_bedrijfadres_type_v', 'Bestelvoorraad info', 'Stock info') FAC_LCL('lcl_prs_bedrijfadres_type_n', 'Notificaties', 'Notifications') FAC_LCL('lcl_prs_bedrijfadres_type_i', 'Service (IOT)', 'Service (IOT)') FAC_LCL('lcl_prs_bedrijfadres_type_r', 'Catering', 'Catering') -FAC_LCL('lcl_prs_bedrijfadres_type_c1', 'Custom 1', 'Custom 1') -FAC_LCL('lcl_prs_bedrijfadres_type_c2', 'Custom 2', 'Custom 2') -FAC_LCL('lcl_prs_bedrijfadres_type_rg', 'Catering generiek', 'Catering generic') -FAC_LCL('lcl_prs_bedrijfadres_type_mg', 'Meldingen generiek', 'Calls generic') +FAC_LCL('lcl_prs_bedrijfadres_type_g', 'Generiek kanaal', 'Generic channel') FAC_LCL('lcl_prs_bedrijfadres_type_e_intern', 'ERP synchronisatie', 'ERP synchronisation') + FAC_LCL('lcl_prs_bedrijfadres_authmethod', 'Authenticatie mode', 'Authenticatie mode') FAC_LCL('lcl_prs_bedrijfadres_authmethodLOV', '0;Automatisch;1;Geforceerd Basic;2;Eigen HTTP header;3;Aan xml toevoegen;4;oAuth basic;5;Google Auth', '0;Automatic;1;Forced Basic;2;Custom HTTP header;3;Add to xml;4;oAuth basic;5;Google Auth') @@ -5938,11 +5937,12 @@ FAC_LCL('lcl_rap_expression', 'SQL-expressie', 'SQL-expression') FAC_LCL('lcl_usrrap_report', 'Rapport', 'Report') FAC_LCL('lcl_usrrap_gegevens', 'Brongegevens', 'Datasource') FAC_LCL('lcl_usrrap_meta', 'Beschikbaarheid', 'Availability') +FAC_LCL('lcl_usrrap_usage', 'Gebruik', 'Usage') FAC_LCL('lcl_usrrap_presentatie', 'Presentatie', 'Presentation') FAC_LCL('lcl_usrrap_style', 'Uiterlijk', 'Styling') FAC_LCL('lcl_usrrap_uitvoeren', 'Uitvoeren', 'Run') FAC_LCL('lcl_usrrap_beware', 'Verander dit filter van tekst/wildcard in lijst of multi-lijst en terug. NB: Voor een intensieve rapportage kan dit lang duren!', 'Toggle wildcard/list/multilist. Note: this might take a long time!') -FAC_LCL('lcl_usrrap_viewname', 'Viewname', 'View name') +FAC_LCL('lcl_usrrap_viewname', 'Viewnaam', 'View name') FAC_LCL('lcl_usrrap_code', 'Unieke rapportcode' , 'Unique reportcode') FAC_LCL('lcl_usrrap_info', 'Toelichting' , 'Explanation') FAC_LCL('lcl_usrrap_functie', 'Autorisatie als', 'Authorisation like') @@ -5972,7 +5972,8 @@ FAC_LCL('lcl_usrrap_showgraphLOV', '0;Lijst;2;Vaste standaardpresentatie;1;Naar FAC_LCL('lcl_usrrap_showconditionLOV', '0;En;2;Of;1;Naar keuze, standaard En;3;Naar keuze, standaard Of', '0;And;2;Or;1;Optional, default And;3;Optional, default Or') FAC_LCL('lcl_usrrap_showcondition', 'Filterconditie', 'Filter condition') FAC_LCL('lcl_usrrap_graphoptions', 'Grafiekparameters', 'Graph parameters') -FAC_LCL('lcl_usrrap_lastrefresh', 'Kolommen ververst op', 'Columns last refreshed') +FAC_LCL('lcl_usrrap_aanmaak', 'Aangemaakt', 'Created') +FAC_LCL('lcl_usrrap_lastrefresh', 'Kolommen ververst', 'Columns last refreshed') FAC_LCL('lcl_usrrap_parameters', 'Parameterlijst', 'Parameter list') FAC_LCL('lcl_usrrap_graphtype', 'Standaardpresentatie', 'Default presentation') FAC_LCL('lcl_usrrap_graphtypeLOV', '0;Lijst;1;Staafgrafiek;3;Taartgrafiek;4;Lijngrafiek;2;Dashboard;5;Blokgrafiek;6;Kaart;7;Kalender' @@ -6804,6 +6805,7 @@ FAC_LCL('mld_discipline', 'Vakgroep', FAC_LCL('mld_discipline_m', 'Vakgroepen', 'Categories') FAC_LCL('mld_discipline_discipline', 'Behandelteam', 'Processing team') FAC_LCL('mld_discipline_discipline_m', 'Behandelteams', 'Processing teams') +FAC_LCL('mld_discipline_discipline_m2', 'Behandelt teams', 'Processes teams') FAC_LCL('mld_discipline_srtgroep', 'Soort vakgroep', 'Type of category') FAC_LCL('mld_discipline_srtgroepLOV', '1;Primaire vakgroep zonder behandelteams;5;Primaire vakgroep met behandelteams;2;Behandelteam;3;Zowel primaire vakgroep zonder teams als behandelteam;7;Zowel primaire vakgroep met teams als behandelteam', diff --git a/FAC/FAC_PAC.SRC b/FAC/FAC_PAC.SRC index 3a427b7a..94936e8a 100644 --- a/FAC/FAC_PAC.SRC +++ b/FAC/FAC_PAC.SRC @@ -148,12 +148,13 @@ CREATE OR REPLACE PACKAGE fac PROCEDURE backtrackaction (pcode VARCHAR2, prefkey NUMBER, puserkey NUMBER, pdatum DATE); PROCEDURE notifytracking(psrtnotificatiekey NUMBER, pperslid_key NUMBER, ptracking_oms VARCHAR2, prefkey NUMBER, ptrackingkey NUMBER DEFAULT NULL); PROCEDURE notifytrackingbedrijven(ptrackingkey NUMBER); + PROCEDURE notifygeneriekbedrijven(prefkey NUMBER, ptrackingkey NUMBER); PROCEDURE notifybedrijf(pbedrijf_key NUMBER, pbedrijfadres_type VARCHAR2, prefkey NUMBER, - ptrackingkey NUMBER, + ptrackingkey NUMBER DEFAULT NULL, + psrtnoti_key NUMBER DEFAULT NULL, -- als geen trackingkey ptracking_oms VARCHAR2 DEFAULT NULL, - pperslid_key NUMBER DEFAULT NULL, pxrefkey NUMBER DEFAULT NULL, preference VARCHAR2 DEFAULT NULL, psender VARCHAR2 DEFAULT NULL, @@ -4818,43 +4819,54 @@ CREATE OR REPLACE PACKAGE BODY fac AS WHEN lxmlnode = 'bestelopdr' THEN bes.notifybestelopdrbedrijven(l_refkey, ptrackingkey); - WHEN lxmlnode = 'afspraak' OR lxmlnode = 'bezoeker' - THEN - NULL; -- let op dat je bij bezoeker de afspraak_key moet zoeken? - WHEN lxmlnode = 'deel' - THEN - NULL; - WHEN lxmlnode = 'controle' - THEN - NULL; WHEN lxmlnode = 'contract' THEN cnt.notifycontractbedrijven(l_refkey, ptrackingkey); - WHEN lxmlnode = 'perslid' - THEN - NULL; - WHEN lxmlnode = 'message' - THEN - NULL; -- kan nog niet via tracking worden veroorzaakt (later: ontvangstbericht?) ELSE - NULL; -- force error? + fac.notifygeneriekbedrijven(l_refkey, ptrackingkey); + END CASE; END; + -- Notificeer genrieke bedrijven die luisteren naar onze notificatie + PROCEDURE notifygeneriekbedrijven (prefkey NUMBER, ptrackingkey NUMBER) + AS + BEGIN + FOR bedrijfrec + IN (SELECT b.prs_bedrijf_key, 'G' bedrijfadres_type, fac_tracking_oms + FROM prs_bedrijf b, fac_tracking ft + WHERE ft.fac_tracking_key = ptrackingkey + AND EXISTS + (SELECT 1 + FROM prs_bedrijfadres ba, prs_bedrijfadres_srtnoti basrt + WHERE b.prs_bedrijf_key = ba.prs_bedrijf_key + AND ba.prs_bedrijfadres_key = basrt.prs_bedrijfadres_key + AND basrt.fac_srtnotificatie_key = ft.fac_srtnotificatie_key + AND ba.prs_bedrijfadres_startdatum <= SYSDATE + AND ba.prs_bedrijfadres_type = 'G')) + LOOP + fac.notifybedrijf (pbedrijf_key => bedrijfrec.prs_bedrijf_key, + pbedrijfadres_type => bedrijfrec.bedrijfadres_type, + prefkey => prefkey, + ptrackingkey => ptrackingkey, + ptracking_oms => bedrijfrec.fac_tracking_oms); + END LOOP; + END; + -- Notificeren tracking naar een specifiek bedrijf via een technisch adres PROCEDURE notifybedrijf (pbedrijf_key NUMBER, pbedrijfadres_type VARCHAR2, prefkey NUMBER, - ptrackingkey NUMBER, + ptrackingkey NUMBER DEFAULT NULL, + psrtnoti_key NUMBER DEFAULT NULL, -- als geen trackingkey ptracking_oms VARCHAR2 DEFAULT NULL, - pperslid_key NUMBER DEFAULT NULL, pxrefkey NUMBER DEFAULT NULL, preference VARCHAR2 DEFAULT NULL, - psender VARCHAR2 DEFAULT NULL, // alleen bij opdrachten alg_locatie_email? + psender VARCHAR2 DEFAULT NULL, -- alleen bij opdrachten alg_locatie_email? plocatie_key NUMBER DEFAULT NULL, pdiscipline_key NUMBER DEFAULT NULL, ptypeopdr_key NUMBER DEFAULT NULL, - pdisc_key NUMBER DEFAULT NULL) // future use + pdisc_key NUMBER DEFAULT NULL) -- future use AS l_bdradr_key prs_bedrijfadres.prs_bedrijfadres_key%TYPE; l_basrt_key prs_bedrijfadres_srtnoti.prs_bedrijfadres_srtnoti_key%TYPE; @@ -4906,61 +4918,74 @@ CREATE OR REPLACE PACKAGE BODY fac AS RETURN; END; + +/* TODO + als de tracking.prs_perslid_key een contactpersoon is van prs_bedrijf + *en* die persoon heeft een speciaal vinkje 'geen notificaties terugsturen' + dan geen notificatie terugsturen (Arai/van Dorp case) +*/ + DBMS_OUTPUT.Put_line ('Gevonden technisch adres key ' || l_bdradr_key); - -- Nu de srtnotificatie zoeken - SELECT basrt.prs_bedrijfadres_srtnoti_key, - srtnoti.fac_srtnotificatie_code, - srtnoti.fac_srtnotificatie_delay, - srtnoti.fac_srtnotificatie_key, - srtnoti.fac_srtnotificatie_xmlnode - INTO l_basrt_key, - l_srtnoti_code, - l_srtnoti_delay, - l_srtnoti_key, - l_srtnoti_xmlnode - FROM prs_bedrijfadres_srtnoti basrt, fac_srtnotificatie srtnoti, fac_tracking ft - WHERE basrt.prs_bedrijfadres_key(+) = l_bdradr_key - AND basrt.fac_srtnotificatie_key(+) = srtnoti.fac_srtnotificatie_key - AND srtnoti.fac_srtnotificatie_key = ft.fac_srtnotificatie_key - AND ft.fac_tracking_key = ptrackingkey; - - IF (l_basrt_key IS NULL) + IF ptrackingkey IS NULL THEN - IF (pbedrijfadres_type = 'O' AND l_srtnoti_code = 'ORDNEW') - OR (pbedrijfadres_type = 'B' AND l_srtnoti_code = 'BES2NE') -- bestelopdracht aangemaakt - OR (pbedrijfadres_type = 'C' AND l_srtnoti_code = 'CNTNEW') - -- RESNEW nooit automatisch OR (pbedrijfadres_type = 'R' AND l_srtnoti_code = 'RESNEW') + l_srtnoti_key := psrtnoti_key; + ELSE IF ptrackingkey IS NOT NULL -- Specifieke fac_srtnotificatie onderzoeken + THEN + -- Nu de srtnotificatie zoeken + SELECT basrt.prs_bedrijfadres_srtnoti_key, + srtnoti.fac_srtnotificatie_code, + srtnoti.fac_srtnotificatie_delay, + srtnoti.fac_srtnotificatie_key, + srtnoti.fac_srtnotificatie_xmlnode + INTO l_basrt_key, + l_srtnoti_code, + l_srtnoti_delay, + l_srtnoti_key, + l_srtnoti_xmlnode + FROM prs_bedrijfadres_srtnoti basrt, fac_srtnotificatie srtnoti, fac_tracking ft + WHERE basrt.prs_bedrijfadres_key(+) = l_bdradr_key + AND basrt.fac_srtnotificatie_key(+) = srtnoti.fac_srtnotificatie_key + AND srtnoti.fac_srtnotificatie_key = ft.fac_srtnotificatie_key + AND ft.fac_tracking_key = ptrackingkey; + + IF (l_basrt_key IS NULL) THEN - NULL; -- backwards compatible: als geen enkel prs_bedrijfadres_srtnoti is dan is er default een xxxNEW - ELSE - DBMS_OUTPUT.Put_line ('Technisch adres onder bedrijf ' || pbedrijf_key || ' luistert niet naar notificatie ' || l_srtnoti_code); - RETURN; - END IF; - END IF; - - -- ORDUPD of wat dan ook sturen we niet als er nog geen ORDNEW tracking (en naar we aannamen notificatie) is geweest - -- (DECODE mag alleen binnen een SELECT, domme Oracle) - SELECT DECODE(l_srtnoti_xmlnode, 'opdracht', 'ORDNEW', - 'bestelopdr', 'BES2NE', - 'contract', 'CNTNEW', - 'reservering', 'RESSND') -- RESNEW gaat niet vaak naar externen - INTO l_srtnoti_chkcode - FROM DUAL; - IF (l_srtnoti_chkcode IS NOT NULL) - THEN - BEGIN - SELECT MIN(NULL) INTO dummy -- Dubbele is nooit logisch maar is héél sporadisch wel aanwezig. Dan geen ORA- error nodig dus de MIN - FROM fac_tracking ft, fac_srtnotificatie fsn - WHERE ft.fac_srtnotificatie_key = fsn.fac_srtnotificatie_key - AND ft.fac_tracking_refkey = prefkey - AND fac_srtnotificatie_code = l_srtnoti_chkcode; - EXCEPTION - WHEN NO_DATA_FOUND + IF (pbedrijfadres_type = 'O' AND l_srtnoti_code = 'ORDNEW') + OR (pbedrijfadres_type = 'B' AND l_srtnoti_code = 'BES2NE') -- bestelopdracht aangemaakt + OR (pbedrijfadres_type = 'C' AND l_srtnoti_code = 'CNTNEW') + -- RESNEW nooit automatisch OR (pbedrijfadres_type = 'R' AND l_srtnoti_code = 'RESNEW') THEN - DBMS_OUTPUT.Put_line ('Nog geen tracking van ' || l_srtnoti_chkcode || ' dus stuur ik ' || l_srtnoti_code || ' nog maar niet'); - RETURN; - END; + NULL; -- backwards compatible: als geen enkel prs_bedrijfadres_srtnoti is dan is er default een xxxNEW + ELSE + DBMS_OUTPUT.Put_line ('Technisch adres onder bedrijf ' || pbedrijf_key || ' luistert niet naar notificatie ' || l_srtnoti_code); + RETURN; + END IF; + END IF; + + -- ORDUPD of wat dan ook sturen we niet als er nog geen ORDNEW tracking (en naar we aannamen notificatie) is geweest + -- (DECODE mag alleen binnen een SELECT, domme Oracle) + SELECT DECODE(l_srtnoti_xmlnode, 'opdracht', 'ORDNEW', + 'bestelopdr', 'BES2NE', + 'contract', 'CNTNEW', + 'reservering', 'RESSND') -- RESNEW gaat niet vaak naar externen + INTO l_srtnoti_chkcode + FROM DUAL; + IF (l_srtnoti_chkcode IS NOT NULL) + THEN + BEGIN + SELECT MIN(NULL) INTO dummy -- Dubbele is nooit logisch maar is héél sporadisch wel aanwezig. Dan geen ORA error nodig dus de MIN + FROM fac_tracking ft, fac_srtnotificatie fsn + WHERE ft.fac_srtnotificatie_key = fsn.fac_srtnotificatie_key + AND ft.fac_tracking_refkey = prefkey + AND fac_srtnotificatie_code = l_srtnoti_chkcode; + EXCEPTION + WHEN NO_DATA_FOUND + THEN + DBMS_OUTPUT.Put_line ('Nog geen tracking van ' || l_srtnoti_chkcode || ' dus stuur ik ' || l_srtnoti_code || ' nog maar niet'); + RETURN; + END; + END IF; END IF; -- Ok, het technisch adres luistert naar onze notificatie! @@ -4983,6 +5008,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS 0, l_bdradr_key, SYSDATE); -- nooit delay, we ontdubbelen toch niet? + NVL(l_srtnoti_delay/ 60/ 60/ 24, 0)); + END IF; END; -- Levert de (nieuwste) datum op van een getrackt event op key diff --git a/MLD/MLD_PAC.SRC b/MLD/MLD_PAC.SRC index aef02b4c..b8ee746c 100644 --- a/MLD/MLD_PAC.SRC +++ b/MLD/MLD_PAC.SRC @@ -1403,7 +1403,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS -- Stuur notificatie psrtnotificatiekey naar diverse bedrijven -- in het bijzonder de uitvoerende maar het mag ook een - -- ander 'subscribed' bedrijf zijn (bedrijfadres_type 'OG'). + -- ander 'subscribed' bedrijf zijn (bedrijfadres_type 'G'). PROCEDURE notifyopdrbedrijven (popdrkey NUMBER, ptrackingkey NUMBER) AS @@ -1412,11 +1412,11 @@ CREATE OR REPLACE PACKAGE BODY mld AS IN (SELECT o.mld_typeopdr_key, o.mld_opdr_discipline_key, b.prs_bedrijf_key, - CASE WHEN b.prs_bedrijf_key = o.mld_uitvoerende_keys THEN 'O' ELSE 'OG' END bedrijfadres_type, - COALESCE (l1.alg_locatie_key, l2.alg_locatie_key) alg_locatie_key, - COALESCE (l1.alg_locatie_email, l2.alg_locatie_email) alg_locatie_email, - o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr reference, - d.prs_bedrijf_key persoon_bedrijf_key -- van de melder, niet de uitvoerende + CASE WHEN b.prs_bedrijf_key = o.mld_uitvoerende_keys THEN 'O' ELSE 'G' END bedrijfadres_type, + COALESCE (l1.alg_locatie_key, l2.alg_locatie_key) alg_locatie_key, + COALESCE (l1.alg_locatie_email, l2.alg_locatie_email) alg_locatie_email, + o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr reference, + d.prs_bedrijf_key persoon_bedrijf_key -- van de melder, niet de uitvoerende FROM mld_opdr o, mld_melding m, mld_adres ma, @@ -1432,7 +1432,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS FROM prs_bedrijfadres ba WHERE ba.prs_bedrijf_key = b.prs_bedrijf_key AND ba.prs_bedrijfadres_startdatum <= SYSDATE - AND ba.prs_bedrijfadres_type = 'OG')) + AND ba.prs_bedrijfadres_type = 'G')) AND o.mld_melding_key = m.mld_melding_key AND m.mld_adres_key = ma.mld_adres_key(+) AND ma.alg_locatie_key = l1.alg_locatie_key(+) @@ -1458,7 +1458,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS BEGIN FOR bedrijfrec IN (SELECT b.prs_bedrijf_key, - 'MG' bedrijfadres_type, -- Meldingen generiek + 'G' bedrijfadres_type, -- Meldingen generiek COALESCE (l1.alg_locatie_key, l2.alg_locatie_key) alg_locatie_key, COALESCE (l1.alg_locatie_email, l2.alg_locatie_email) alg_locatie_email, m.mld_melding_key reference, @@ -1477,7 +1477,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS FROM prs_bedrijfadres ba WHERE ba.prs_bedrijf_key = b.prs_bedrijf_key AND ba.prs_bedrijfadres_startdatum <= SYSDATE - AND ba.prs_bedrijfadres_type = 'MG') + AND ba.prs_bedrijfadres_type = 'G') AND m.mld_adres_key = ma.mld_adres_key(+) AND ma.alg_locatie_key = l1.alg_locatie_key(+) AND m.mld_alg_locatie_key = l2.alg_locatie_key(+) diff --git a/MLD/MLD_TRI.SRC b/MLD/MLD_TRI.SRC index 5da20eec..bea9655b 100644 --- a/MLD/MLD_TRI.SRC +++ b/MLD/MLD_TRI.SRC @@ -423,6 +423,51 @@ BEGIN THEN fac.clrnotifications ('MLDAP1', :new.mld_opdr_key); END IF; + + // Nog tijdelijk backwards compatible met cust-code die mld_opdr_teverzenden op 2 zet + IF :OLD.mld_opdr_teverzenden = 2 AND :OLD.mld_opdr_verzonden IS NULL + THEN + NULL; -- stond hij al in de queue + ELSIF :NEW.mld_opdr_teverzenden = 2 AND :NEW.mld_opdr_verzonden IS NULL + THEN -- Zou hij vroeger in de fac_v_orderqueue herverschijnen + -- ORDUPD tracking/notificatie + --mld.notifyopdrbedrijven (:new.mld_opdr_key, ptrackingkey => NULL); geeft trigger mutating + FOR bedrijfrec + IN (SELECT b.prs_bedrijf_key, + COALESCE (l1.alg_locatie_key, l2.alg_locatie_key) alg_locatie_key, + COALESCE (l1.alg_locatie_email, l2.alg_locatie_email) alg_locatie_email, + :NEW.mld_melding_key || '/' || :NEW.mld_opdr_bedrijfopdr_volgnr reference, + d.prs_bedrijf_key persoon_bedrijf_key, -- van de melder, niet de uitvoerende + fac_srtnotificatie_key + FROM mld_melding m, + mld_adres ma, + alg_locatie l1, + alg_locatie l2, + prs_perslid p, + prs_v_afdeling d, + prs_bedrijf b, + fac_srtnotificatie fsn + WHERE b.prs_bedrijf_key = :NEW.mld_uitvoerende_keys + AND :NEW.mld_melding_key = m.mld_melding_key + AND m.mld_adres_key = ma.mld_adres_key(+) + AND ma.alg_locatie_key = l1.alg_locatie_key(+) + AND m.mld_alg_locatie_key = l2.alg_locatie_key(+) + AND d.prs_afdeling_key = p.prs_afdeling_key + AND p.prs_perslid_key = m.prs_perslid_key + AND fac_srtnotificatie_code = 'ORDUPD') -- hardcoded ORDUPD, het gaat uiteindelijk vooral om de XMLnode 'opdracht' in putorders + LOOP + fac.notifybedrijf (pbedrijf_key => bedrijfrec.prs_bedrijf_key, + pbedrijfadres_type => 'O', + prefkey => :NEW.mld_opdr_key, + ptrackingkey => NULL, + psrtnoti_key => bedrijfrec.fac_srtnotificatie_key, + preference => bedrijfrec.reference, + ptypeopdr_key => :NEW.mld_typeopdr_key, + plocatie_key => bedrijfrec.alg_locatie_key, + pdisc_key => :NEW.mld_opdr_discipline_key, + psender => bedrijfrec.alg_locatie_email); + END LOOP; + END IF; END; / diff --git a/RES/RES_PAC.SRC b/RES/RES_PAC.SRC index 6e36d503..941af780 100644 --- a/RES/RES_PAC.SRC +++ b/RES/RES_PAC.SRC @@ -2558,7 +2558,7 @@ AS FOR bedrijfrec IN (SELECT b.prs_bedrijf_key, l.alg_locatie_key, - CASE WHEN b.prs_bedrijf_key = resbedrijf.prs_bedrijf_key THEN 'R' ELSE 'GR' END bedrijfadres_type, + CASE WHEN b.prs_bedrijf_key = resbedrijf.prs_bedrijf_key THEN 'R' ELSE 'G' END bedrijfadres_type, rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr reference FROM prs_bedrijf b, res_rsv_ruimte rrr, @@ -2588,7 +2588,7 @@ AS FROM prs_bedrijfadres ba WHERE ba.prs_bedrijf_key = b.prs_bedrijf_key AND ba.prs_bedrijfadres_startdatum <= SYSDATE - AND ba.prs_bedrijfadres_type = 'RG'))) + AND ba.prs_bedrijfadres_type = 'G'))) LOOP fac.notifybedrijf (pbedrijf_key => bedrijfrec.prs_bedrijf_key, pbedrijfadres_type => bedrijfrec.bedrijfadres_type,