FCLT#85890 Orderqueue en notificatiequeue savepoint

svn path=/Database/trunk/; revision=67766
This commit is contained in:
Jos Groot Lipman
2025-01-28 15:59:07 +00:00
parent e4912ec5cd
commit 4ac5450681
7 changed files with 171 additions and 98 deletions

View File

@@ -2235,7 +2235,7 @@ AS
AS AS
BEGIN BEGIN
FOR bedrijfrec IN (SELECT b.prs_bedrijf_key, 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, l.alg_locatie_key,
o.bes_bestelopdr_id o.bes_bestelopdr_id
FROM prs_bedrijf b, FROM prs_bedrijf b,
@@ -2252,7 +2252,7 @@ AS
FROM prs_bedrijfadres ba FROM prs_bedrijfadres ba
WHERE ba.prs_bedrijf_key = b.prs_bedrijf_key WHERE ba.prs_bedrijf_key = b.prs_bedrijf_key
AND ba.prs_bedrijfadres_startdatum <= SYSDATE AND ba.prs_bedrijfadres_startdatum <= SYSDATE
AND ba.prs_bedrijfadres_type = 'BOG'))) AND ba.prs_bedrijfadres_type = 'G')))
LOOP LOOP
fac.notifybedrijf (pbedrijf_key => bedrijfrec.prs_bedrijf_key, fac.notifybedrijf (pbedrijf_key => bedrijfrec.prs_bedrijf_key,
pbedrijfadres_type => bedrijfrec.bedrijfadres_type, pbedrijfadres_type => bedrijfrec.bedrijfadres_type,

View File

@@ -706,7 +706,7 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
FOR bedrijfrec FOR bedrijfrec
IN (SELECT b.prs_bedrijf_key, IN (SELECT b.prs_bedrijf_key,
l.alg_locatie_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, cnt_contract_nummer_intern,
COALESCE (l.alg_locatie_email, ins_discipline_email) COALESCE (l.alg_locatie_email, ins_discipline_email)
FROM prs_bedrijf b, FROM prs_bedrijf b,
@@ -762,7 +762,7 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
FROM prs_bedrijfadres ba FROM prs_bedrijfadres ba
WHERE ba.prs_bedrijf_key = b.prs_bedrijf_key WHERE ba.prs_bedrijf_key = b.prs_bedrijf_key
AND ba.prs_bedrijfadres_startdatum <= SYSDATE AND ba.prs_bedrijfadres_startdatum <= SYSDATE
AND ba.prs_bedrijfadres_type = 'CG'))) AND ba.prs_bedrijfadres_type = 'G')))
LOOP LOOP
fac.notifybedrijf (pbedrijf_key => bedrijfrec.prs_bedrijf_key, fac.notifybedrijf (pbedrijf_key => bedrijfrec.prs_bedrijf_key,
pbedrijfadres_type => bedrijfrec.bedrijfadres_type, pbedrijfadres_type => bedrijfrec.bedrijfadres_type,

View File

@@ -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_prompt_move', 'Opmerking bij aanpassen planning', 'Note for modification of plan')
FAC_LCL('lcl_mjb_plan_opmerking', 'Motivatie', 'Reason') FAC_LCL('lcl_mjb_plan_opmerking', 'Motivatie', 'Reason')
FAC_LCL('lcl_mjb_datum_org', 'Oorspronkelijke plandatum', 'Original plan date') 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_call_history', 'Melding historie', 'Call history')
FAC_LCL('lcl_mjb_scenario', 'Scenario', 'Scenario') FAC_LCL('lcl_mjb_scenario', 'Scenario', 'Scenario')
FAC_LCL('lcl_mjb_scenarios', 'Scenario''s', 'Scenarios') 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_srtnoti_title', 'Gebeurtenissen', 'Events')
FAC_LCL('lcl_prs_bedrijfadres_frame', 'Technisch adres', 'Technical address') FAC_LCL('lcl_prs_bedrijfadres_frame', 'Technisch adres', 'Technical address')
FAC_LCL('lcl_prs_bedrijfadres_omschrijving', 'Omschrijving', 'Description') FAC_LCL('lcl_prs_bedrijfadres_omschrijving', 'Omschrijving', 'Description')
FAC_LCL('lcl_prs_bedrijfadres_type', 'Kanaal', 'Channel') FAC_LCL('lcl_prs_bedrijfadres_type', 'Kanaal', 'Channel')
FAC_LCL('lcl_prs_bedrijfadres_type_b', 'Bestellingen', 'Purchase orders') FAC_LCL('lcl_prs_bedrijfadres_type_b', 'Bestelopdrachten', 'Purchase orders')
FAC_LCL('lcl_prs_bedrijfadres_type_o', 'Opdrachten uitvoerende', 'Orders contractor') FAC_LCL('lcl_prs_bedrijfadres_type_o', 'Opdrachtverstrekking', 'Orders contractor')
FAC_LCL('lcl_prs_bedrijfadres_type_og', 'Opdrachten generiek', 'Orders generic')
FAC_LCL('lcl_prs_bedrijfadres_type_o_other', 'Geen/Overige opdrachten', 'No/Misc. Orders') 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_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_n', 'Notificaties', 'Notifications')
FAC_LCL('lcl_prs_bedrijfadres_type_i', 'Service (IOT)', 'Service (IOT)') 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_r', 'Catering', 'Catering')
FAC_LCL('lcl_prs_bedrijfadres_type_c1', 'Custom 1', 'Custom 1') FAC_LCL('lcl_prs_bedrijfadres_type_g', 'Generiek kanaal', 'Generic channel')
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_e_intern', 'ERP synchronisatie', 'ERP synchronisation') 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_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', 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') '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_report', 'Rapport', 'Report')
FAC_LCL('lcl_usrrap_gegevens', 'Brongegevens', 'Datasource') FAC_LCL('lcl_usrrap_gegevens', 'Brongegevens', 'Datasource')
FAC_LCL('lcl_usrrap_meta', 'Beschikbaarheid', 'Availability') 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_presentatie', 'Presentatie', 'Presentation')
FAC_LCL('lcl_usrrap_style', 'Uiterlijk', 'Styling') FAC_LCL('lcl_usrrap_style', 'Uiterlijk', 'Styling')
FAC_LCL('lcl_usrrap_uitvoeren', 'Uitvoeren', 'Run') 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_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_code', 'Unieke rapportcode' , 'Unique reportcode')
FAC_LCL('lcl_usrrap_info', 'Toelichting' , 'Explanation') FAC_LCL('lcl_usrrap_info', 'Toelichting' , 'Explanation')
FAC_LCL('lcl_usrrap_functie', 'Autorisatie als', 'Authorisation like') 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_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_showcondition', 'Filterconditie', 'Filter condition')
FAC_LCL('lcl_usrrap_graphoptions', 'Grafiekparameters', 'Graph parameters') 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_parameters', 'Parameterlijst', 'Parameter list')
FAC_LCL('lcl_usrrap_graphtype', 'Standaardpresentatie', 'Default presentation') 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' 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_m', 'Vakgroepen', 'Categories')
FAC_LCL('mld_discipline_discipline', 'Behandelteam', 'Processing team') FAC_LCL('mld_discipline_discipline', 'Behandelteam', 'Processing team')
FAC_LCL('mld_discipline_discipline_m', 'Behandelteams', 'Processing teams') 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_srtgroep', 'Soort vakgroep', 'Type of category')
FAC_LCL('mld_discipline_srtgroepLOV', 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', '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',

View File

@@ -148,12 +148,13 @@ CREATE OR REPLACE PACKAGE fac
PROCEDURE backtrackaction (pcode VARCHAR2, prefkey NUMBER, puserkey NUMBER, pdatum DATE); 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 notifytracking(psrtnotificatiekey NUMBER, pperslid_key NUMBER, ptracking_oms VARCHAR2, prefkey NUMBER, ptrackingkey NUMBER DEFAULT NULL);
PROCEDURE notifytrackingbedrijven(ptrackingkey NUMBER); PROCEDURE notifytrackingbedrijven(ptrackingkey NUMBER);
PROCEDURE notifygeneriekbedrijven(prefkey NUMBER, ptrackingkey NUMBER);
PROCEDURE notifybedrijf(pbedrijf_key NUMBER, PROCEDURE notifybedrijf(pbedrijf_key NUMBER,
pbedrijfadres_type VARCHAR2, pbedrijfadres_type VARCHAR2,
prefkey NUMBER, prefkey NUMBER,
ptrackingkey NUMBER, ptrackingkey NUMBER DEFAULT NULL,
psrtnoti_key NUMBER DEFAULT NULL, -- als geen trackingkey
ptracking_oms VARCHAR2 DEFAULT NULL, ptracking_oms VARCHAR2 DEFAULT NULL,
pperslid_key NUMBER DEFAULT NULL,
pxrefkey NUMBER DEFAULT NULL, pxrefkey NUMBER DEFAULT NULL,
preference VARCHAR2 DEFAULT NULL, preference VARCHAR2 DEFAULT NULL,
psender VARCHAR2 DEFAULT NULL, psender VARCHAR2 DEFAULT NULL,
@@ -4818,43 +4819,54 @@ CREATE OR REPLACE PACKAGE BODY fac AS
WHEN lxmlnode = 'bestelopdr' WHEN lxmlnode = 'bestelopdr'
THEN THEN
bes.notifybestelopdrbedrijven(l_refkey, ptrackingkey); 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' WHEN lxmlnode = 'contract'
THEN THEN
cnt.notifycontractbedrijven(l_refkey, ptrackingkey); 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 ELSE
NULL; -- force error? fac.notifygeneriekbedrijven(l_refkey, ptrackingkey);
END CASE; END CASE;
END; 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 -- Notificeren tracking naar een specifiek bedrijf via een technisch adres
PROCEDURE notifybedrijf (pbedrijf_key NUMBER, PROCEDURE notifybedrijf (pbedrijf_key NUMBER,
pbedrijfadres_type VARCHAR2, pbedrijfadres_type VARCHAR2,
prefkey NUMBER, prefkey NUMBER,
ptrackingkey NUMBER, ptrackingkey NUMBER DEFAULT NULL,
psrtnoti_key NUMBER DEFAULT NULL, -- als geen trackingkey
ptracking_oms VARCHAR2 DEFAULT NULL, ptracking_oms VARCHAR2 DEFAULT NULL,
pperslid_key NUMBER DEFAULT NULL,
pxrefkey NUMBER DEFAULT NULL, pxrefkey NUMBER DEFAULT NULL,
preference VARCHAR2 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, plocatie_key NUMBER DEFAULT NULL,
pdiscipline_key NUMBER DEFAULT NULL, pdiscipline_key NUMBER DEFAULT NULL,
ptypeopdr_key NUMBER DEFAULT NULL, ptypeopdr_key NUMBER DEFAULT NULL,
pdisc_key NUMBER DEFAULT NULL) // future use pdisc_key NUMBER DEFAULT NULL) -- future use
AS AS
l_bdradr_key prs_bedrijfadres.prs_bedrijfadres_key%TYPE; l_bdradr_key prs_bedrijfadres.prs_bedrijfadres_key%TYPE;
l_basrt_key prs_bedrijfadres_srtnoti.prs_bedrijfadres_srtnoti_key%TYPE; l_basrt_key prs_bedrijfadres_srtnoti.prs_bedrijfadres_srtnoti_key%TYPE;
@@ -4906,8 +4918,20 @@ CREATE OR REPLACE PACKAGE BODY fac AS
RETURN; RETURN;
END; 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); DBMS_OUTPUT.Put_line ('Gevonden technisch adres key ' || l_bdradr_key);
IF ptrackingkey IS NULL
THEN
l_srtnoti_key := psrtnoti_key;
ELSE IF ptrackingkey IS NOT NULL -- Specifieke fac_srtnotificatie onderzoeken
THEN
-- Nu de srtnotificatie zoeken -- Nu de srtnotificatie zoeken
SELECT basrt.prs_bedrijfadres_srtnoti_key, SELECT basrt.prs_bedrijfadres_srtnoti_key,
srtnoti.fac_srtnotificatie_code, srtnoti.fac_srtnotificatie_code,
@@ -4950,7 +4974,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
IF (l_srtnoti_chkcode IS NOT NULL) IF (l_srtnoti_chkcode IS NOT NULL)
THEN THEN
BEGIN BEGIN
SELECT MIN(NULL) INTO dummy -- Dubbele is nooit logisch maar is h<><68>l sporadisch wel aanwezig. Dan geen ORA- error nodig dus de MIN SELECT MIN(NULL) INTO dummy -- Dubbele is nooit logisch maar is h<><68>l sporadisch wel aanwezig. Dan geen ORA error nodig dus de MIN
FROM fac_tracking ft, fac_srtnotificatie fsn FROM fac_tracking ft, fac_srtnotificatie fsn
WHERE ft.fac_srtnotificatie_key = fsn.fac_srtnotificatie_key WHERE ft.fac_srtnotificatie_key = fsn.fac_srtnotificatie_key
AND ft.fac_tracking_refkey = prefkey AND ft.fac_tracking_refkey = prefkey
@@ -4962,6 +4986,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
RETURN; RETURN;
END; END;
END IF; END IF;
END IF;
-- Ok, het technisch adres luistert naar onze notificatie! -- Ok, het technisch adres luistert naar onze notificatie!
-- Geen putnotificationsrtprio. Die is veel te agressief met ontdubbelen -- Geen putnotificationsrtprio. Die is veel te agressief met ontdubbelen
@@ -4983,6 +5008,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
0, 0,
l_bdradr_key, l_bdradr_key,
SYSDATE); -- nooit delay, we ontdubbelen toch niet? + NVL(l_srtnoti_delay/ 60/ 60/ 24, 0)); SYSDATE); -- nooit delay, we ontdubbelen toch niet? + NVL(l_srtnoti_delay/ 60/ 60/ 24, 0));
END IF;
END; END;
-- Levert de (nieuwste) datum op van een getrackt event op key -- Levert de (nieuwste) datum op van een getrackt event op key

View File

@@ -1403,7 +1403,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
-- Stuur notificatie psrtnotificatiekey naar diverse bedrijven -- Stuur notificatie psrtnotificatiekey naar diverse bedrijven
-- in het bijzonder de uitvoerende maar het mag ook een -- 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, PROCEDURE notifyopdrbedrijven (popdrkey NUMBER,
ptrackingkey NUMBER) ptrackingkey NUMBER)
AS AS
@@ -1412,7 +1412,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
IN (SELECT o.mld_typeopdr_key, IN (SELECT o.mld_typeopdr_key,
o.mld_opdr_discipline_key, o.mld_opdr_discipline_key,
b.prs_bedrijf_key, b.prs_bedrijf_key,
CASE WHEN b.prs_bedrijf_key = o.mld_uitvoerende_keys THEN 'O' ELSE 'OG' END bedrijfadres_type, 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_key, l2.alg_locatie_key) alg_locatie_key,
COALESCE (l1.alg_locatie_email, l2.alg_locatie_email) alg_locatie_email, COALESCE (l1.alg_locatie_email, l2.alg_locatie_email) alg_locatie_email,
o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr reference, o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr reference,
@@ -1432,7 +1432,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
FROM prs_bedrijfadres ba FROM prs_bedrijfadres ba
WHERE ba.prs_bedrijf_key = b.prs_bedrijf_key WHERE ba.prs_bedrijf_key = b.prs_bedrijf_key
AND ba.prs_bedrijfadres_startdatum <= SYSDATE 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 o.mld_melding_key = m.mld_melding_key
AND m.mld_adres_key = ma.mld_adres_key(+) AND m.mld_adres_key = ma.mld_adres_key(+)
AND ma.alg_locatie_key = l1.alg_locatie_key(+) AND ma.alg_locatie_key = l1.alg_locatie_key(+)
@@ -1458,7 +1458,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
BEGIN BEGIN
FOR bedrijfrec FOR bedrijfrec
IN (SELECT b.prs_bedrijf_key, 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_key, l2.alg_locatie_key) alg_locatie_key,
COALESCE (l1.alg_locatie_email, l2.alg_locatie_email) alg_locatie_email, COALESCE (l1.alg_locatie_email, l2.alg_locatie_email) alg_locatie_email,
m.mld_melding_key reference, m.mld_melding_key reference,
@@ -1477,7 +1477,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
FROM prs_bedrijfadres ba FROM prs_bedrijfadres ba
WHERE ba.prs_bedrijf_key = b.prs_bedrijf_key WHERE ba.prs_bedrijf_key = b.prs_bedrijf_key
AND ba.prs_bedrijfadres_startdatum <= SYSDATE 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 m.mld_adres_key = ma.mld_adres_key(+)
AND ma.alg_locatie_key = l1.alg_locatie_key(+) AND ma.alg_locatie_key = l1.alg_locatie_key(+)
AND m.mld_alg_locatie_key = l2.alg_locatie_key(+) AND m.mld_alg_locatie_key = l2.alg_locatie_key(+)

View File

@@ -423,6 +423,51 @@ BEGIN
THEN THEN
fac.clrnotifications ('MLDAP1', :new.mld_opdr_key); fac.clrnotifications ('MLDAP1', :new.mld_opdr_key);
END IF; 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; END;
/ /

View File

@@ -2558,7 +2558,7 @@ AS
FOR bedrijfrec FOR bedrijfrec
IN (SELECT b.prs_bedrijf_key, IN (SELECT b.prs_bedrijf_key,
l.alg_locatie_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 rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr reference
FROM prs_bedrijf b, FROM prs_bedrijf b,
res_rsv_ruimte rrr, res_rsv_ruimte rrr,
@@ -2588,7 +2588,7 @@ AS
FROM prs_bedrijfadres ba FROM prs_bedrijfadres ba
WHERE ba.prs_bedrijf_key = b.prs_bedrijf_key WHERE ba.prs_bedrijf_key = b.prs_bedrijf_key
AND ba.prs_bedrijfadres_startdatum <= SYSDATE AND ba.prs_bedrijfadres_startdatum <= SYSDATE
AND ba.prs_bedrijfadres_type = 'RG'))) AND ba.prs_bedrijfadres_type = 'G')))
LOOP LOOP
fac.notifybedrijf (pbedrijf_key => bedrijfrec.prs_bedrijf_key, fac.notifybedrijf (pbedrijf_key => bedrijfrec.prs_bedrijf_key,
pbedrijfadres_type => bedrijfrec.bedrijfadres_type, pbedrijfadres_type => bedrijfrec.bedrijfadres_type,