PNBR#29314 bestellingen; notificatie voor backoffice
svn path=/Database/trunk/; revision=22239
This commit is contained in:
119
BES/BES_PAC.SRC
119
BES/BES_PAC.SRC
@@ -61,6 +61,7 @@ AS
|
|||||||
PROCEDURE setbestelopdrstatus (pbestelopdrkey IN NUMBER, pstatus IN NUMBER, puserkey IN NUMBER);
|
PROCEDURE setbestelopdrstatus (pbestelopdrkey IN NUMBER, pstatus IN NUMBER, puserkey IN NUMBER);
|
||||||
PROCEDURE updatebestellingstatus (pbestelling_key IN NUMBER, user_key IN NUMBER);
|
PROCEDURE updatebestellingstatus (pbestelling_key IN NUMBER, user_key IN NUMBER);
|
||||||
PROCEDURE updatebestelopdrstatus (pbestelopdr_key IN NUMBER, user_key IN NUMBER);
|
PROCEDURE updatebestelopdrstatus (pbestelopdr_key IN NUMBER, user_key IN NUMBER);
|
||||||
|
PROCEDURE notifybackoffice (pbeskey IN NUMBER);
|
||||||
PROCEDURE notifybesgoedkeurders (pbeskey IN NUMBER);
|
PROCEDURE notifybesgoedkeurders (pbeskey IN NUMBER);
|
||||||
PROCEDURE acceptopdracht (pbestelopdr_key IN NUMBER, user_key IN NUMBER, presulttext IN VARCHAR2);
|
PROCEDURE acceptopdracht (pbestelopdr_key IN NUMBER, user_key IN NUMBER, presulttext IN VARCHAR2);
|
||||||
PROCEDURE rejectopdracht (pbestelopdr_key IN NUMBER, user_key IN NUMBER, presulttext IN VARCHAR2);
|
PROCEDURE rejectopdracht (pbestelopdr_key IN NUMBER, user_key IN NUMBER, presulttext IN VARCHAR2);
|
||||||
@@ -1366,6 +1367,95 @@ AS
|
|||||||
END IF;
|
END IF;
|
||||||
END;
|
END;
|
||||||
|
|
||||||
|
|
||||||
|
-- Stuur alle mogelijke backofficemedewerkers een bericht als de
|
||||||
|
-- melding NIEUW is. Naar wie, wordt reversed opgezocht op basis van
|
||||||
|
-- toegekende autorisaties
|
||||||
|
-- (zoals bij de lijst van BO-behandelaars in suggest/persoonfilter.inc)
|
||||||
|
PROCEDURE notifybackoffice (pbeskey IN NUMBER)
|
||||||
|
AS
|
||||||
|
lloc_key mld_adres.alg_locatie_key%TYPE;
|
||||||
|
lafd_key prs_perslid.prs_afdeling_key%TYPE;
|
||||||
|
ldisc_key bes_srtgroep.ins_discipline_key%TYPE;
|
||||||
|
loms fac_srtnotificatie.fac_srtnotificatie_oms%TYPE;
|
||||||
|
bericht fac_srtnotificatie.fac_srtnotificatie_oms%TYPE;
|
||||||
|
BEGIN
|
||||||
|
BEGIN
|
||||||
|
SELECT COALESCE(ma.alg_locatie_key, -1),
|
||||||
|
p.prs_afdeling_key,
|
||||||
|
bsg.ins_discipline_key
|
||||||
|
INTO lloc_key,
|
||||||
|
lafd_key,
|
||||||
|
ldisc_key
|
||||||
|
FROM bes_bestelling b,
|
||||||
|
bes_bestelling_item bi,
|
||||||
|
bes_srtdeel bsd,
|
||||||
|
bes_srtgroep bsg,
|
||||||
|
prs_perslid p,
|
||||||
|
mld_adres ma
|
||||||
|
WHERE b.bes_bestelling_key = bi.bes_bestelling_key
|
||||||
|
AND bi.bes_srtdeel_key = bsd.bes_srtdeel_key
|
||||||
|
AND bsd.bes_srtgroep_key = bsg.bes_srtgroep_key
|
||||||
|
AND b.prs_perslid_key = p.prs_perslid_key
|
||||||
|
AND b.mld_adres_key_lev = ma.mld_adres_key
|
||||||
|
AND b.bes_bestelling_status = 2
|
||||||
|
AND b.bes_bestelling_key = pbeskey; -- op dit moment nog alleen voor NIEUWE bestellingen
|
||||||
|
|
||||||
|
-- Als die er niet is sprongen we al naar de exception
|
||||||
|
-- Als die er wel is, gaan we verder
|
||||||
|
SELECT lcl.x('fac_srtnotificatie_oms', fac_srtnotificatie_key, fac_srtnotificatie_oms)
|
||||||
|
INTO loms
|
||||||
|
FROM fac_srtnotificatie
|
||||||
|
WHERE fac_srtnotificatie_code = 'BES2BO';
|
||||||
|
|
||||||
|
bericht := bes.bessprintf (loms, pbeskey); -- de variabelen invullen
|
||||||
|
|
||||||
|
FOR boer
|
||||||
|
IN (SELECT g.prs_perslid_key
|
||||||
|
FROM fac_v_webgebruiker g, fac_functie f, prs_perslid p
|
||||||
|
WHERE g.fac_functie_key = f.fac_functie_key
|
||||||
|
AND g.ins_discipline_key = ldisc_key
|
||||||
|
AND g.prs_perslid_key = p.prs_perslid_key
|
||||||
|
AND (g.fac_gebruiker_prs_level_write = -1
|
||||||
|
OR (g.fac_gebruiker_prs_level_write < 9
|
||||||
|
AND p.prs_afdeling_key IN
|
||||||
|
(SELECT prs_afdeling_key
|
||||||
|
FROM prs_v_afdeling_familie a
|
||||||
|
WHERE a.prs_afdeling_elder_key IN
|
||||||
|
(SELECT aa.prs_afdeling_elder_key
|
||||||
|
FROM prs_v_afdeling_familie aa
|
||||||
|
WHERE aa.prs_afdeling_key = lafd_key
|
||||||
|
AND aa.niveau = g.fac_gebruiker_prs_level_write))))
|
||||||
|
-- in ASP: if (params.loc_key>0)
|
||||||
|
AND (g.fac_gebruiker_alg_level_write = -1
|
||||||
|
OR (g.fac_gebruiker_alg_level_write < 9
|
||||||
|
AND lloc_key IN
|
||||||
|
(SELECT alg_locatie_key
|
||||||
|
FROM fac_v_my_locations
|
||||||
|
WHERE prs_perslid_key = p.prs_perslid_key
|
||||||
|
AND niveau = fac_gebruiker_alg_level_write)))
|
||||||
|
AND fac_functie_code = 'WEB_BESBOF')
|
||||||
|
LOOP
|
||||||
|
fac.putnotificationsrtprio (NULL,
|
||||||
|
boer.prs_perslid_key,
|
||||||
|
'BES2BO',
|
||||||
|
pbeskey,
|
||||||
|
bericht,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
2,
|
||||||
|
NULL
|
||||||
|
);
|
||||||
|
END LOOP;
|
||||||
|
EXCEPTION
|
||||||
|
WHEN NO_DATA_FOUND
|
||||||
|
THEN
|
||||||
|
RETURN;
|
||||||
|
END;
|
||||||
|
END;
|
||||||
|
|
||||||
-- Stuur alle mogelijke bestelling goedkeurders een bericht als de bestelling status 3 heeft.
|
-- Stuur alle mogelijke bestelling goedkeurders een bericht als de bestelling status 3 heeft.
|
||||||
-- Naar wie, wordt reversed opgezocht op basis van toegekende autorisaties.
|
-- Naar wie, wordt reversed opgezocht op basis van toegekende autorisaties.
|
||||||
PROCEDURE notifybesgoedkeurders (pbeskey IN NUMBER)
|
PROCEDURE notifybesgoedkeurders (pbeskey IN NUMBER)
|
||||||
@@ -1833,24 +1923,33 @@ AS
|
|||||||
IS
|
IS
|
||||||
s varchar2 (2048 CHAR);
|
s varchar2 (2048 CHAR);
|
||||||
lbes_bestelling_datum bes_bestelling.bes_bestelling_datum%TYPE;
|
lbes_bestelling_datum bes_bestelling.bes_bestelling_datum%TYPE;
|
||||||
|
lbes_discipline bes_discipline.ins_discipline_omschrijving%TYPE;
|
||||||
BEGIN
|
BEGIN
|
||||||
s := ps;
|
s := ps;
|
||||||
-- We support substitution of placeholders in the messages
|
-- We support substitution of placeholders in the messages
|
||||||
-- ##KEY## = bes_bestelling_key
|
-- ##KEY## = bes_bestelling_key
|
||||||
-- ##DATUM## = bes_bestelling_datum
|
-- ##DATUM## = bes_bestelling_datum
|
||||||
|
-- ##DISC## = ins_discipline_omschrijving
|
||||||
IF INSTR2 (s, '#') > 0
|
IF INSTR2 (s, '#') > 0
|
||||||
THEN
|
THEN
|
||||||
SELECT bes_bestelling_datum
|
SELECT b.bes_bestelling_datum
|
||||||
|
, bd.ins_discipline_omschrijving
|
||||||
INTO lbes_bestelling_datum
|
INTO lbes_bestelling_datum
|
||||||
FROM bes_bestelling
|
, lbes_discipline
|
||||||
WHERE bes_bestelling_key = pbes_bestelling_key;
|
FROM bes_bestelling b
|
||||||
s :=
|
, bes_bestelling_item bi
|
||||||
REPLACE (REPLACE (s,
|
, bes_srtdeel sd
|
||||||
'##KEY##',
|
, bes_srtgroep sg
|
||||||
NUMBER_TO_CHAR (pbes_bestelling_key)
|
, bes_discipline bd
|
||||||
),
|
WHERE b.bes_bestelling_key = bi.bes_bestelling_key
|
||||||
'##DATUM##',
|
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
|
||||||
DATE_TO_CHAR (lbes_bestelling_datum, 'DD-MM-YY HH24:MI')
|
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
|
||||||
|
AND sg.ins_discipline_key = bd.ins_discipline_key
|
||||||
|
AND b.bes_bestelling_key = pbes_bestelling_key;
|
||||||
|
s := REPLACE( REPLACE( REPLACE( s
|
||||||
|
, '##KEY##', NUMBER_TO_CHAR (pbes_bestelling_key) )
|
||||||
|
, '##DATUM##', DATE_TO_CHAR (lbes_bestelling_datum, 'DD-MM-YY HH24:MI') )
|
||||||
|
, '##DISC##', lbes_discipline
|
||||||
);
|
);
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
|
|||||||
@@ -449,6 +449,8 @@ CREATE_TABLE(bes_disc_params, 0)
|
|||||||
NUMBER(1),
|
NUMBER(1),
|
||||||
bes_disc_params_noti_opdr /* 1=notificeer besteller over bestelopdracht(en) */
|
bes_disc_params_noti_opdr /* 1=notificeer besteller over bestelopdracht(en) */
|
||||||
NUMBER(1),
|
NUMBER(1),
|
||||||
|
bes_disc_params_bonotify /* 1=notificeer BO als er een bestelling is */
|
||||||
|
NUMBER(1),
|
||||||
bes_disc_params_herfiat /* 0=nooit, 1=zie criteria, 2=altijd */
|
bes_disc_params_herfiat /* 0=nooit, 1=zie criteria, 2=altijd */
|
||||||
NUMBER(1),
|
NUMBER(1),
|
||||||
bes_disc_params_herfiatpct
|
bes_disc_params_herfiatpct
|
||||||
|
|||||||
@@ -1903,6 +1903,7 @@ DEF_FAC_SRTNOT('BES2SX', 0, 'Bestelopdracht ##KEY## is niet verzonden', '',
|
|||||||
DEF_FAC_SRTNOT('BES2CO', 0, 'Bestelopdracht ##KEY## is bevestigd', '', '0', 'bestelopdr', 0); /* naar 4 */
|
DEF_FAC_SRTNOT('BES2CO', 0, 'Bestelopdracht ##KEY## is bevestigd', '', '0', 'bestelopdr', 0); /* naar 4 */
|
||||||
DEF_FAC_SRTNOT('BES2CA', 0, 'Bestelopdracht ##KEY## is geannuleerd', '', '0', 'bestelopdr', 0); /* naar 8 */
|
DEF_FAC_SRTNOT('BES2CA', 0, 'Bestelopdracht ##KEY## is geannuleerd', '', '0', 'bestelopdr', 0); /* naar 8 */
|
||||||
DEF_FAC_SRTNOT('BES2UP', 0, 'Bestelopdracht ##KEY## is gewijzigd', '', '0', 'bestelopdr', 0);
|
DEF_FAC_SRTNOT('BES2UP', 0, 'Bestelopdracht ##KEY## is gewijzigd', '', '0', 'bestelopdr', 0);
|
||||||
|
DEF_FAC_SRTNOT('BES2BO', 0, 'Facilitor: Er is een nieuwe bestelling ##KEY## (##DISC##)', 'bes/bes_bestelling.asp?urole=bo&bes_key=', '0', 'bestelling', 0);
|
||||||
|
|
||||||
DEF_FAC_SRTNOT('BEZMUT', 1, 'Gegevens van uw bezoek ##KEY## (##NAAM## op ##DATUM##) zijn geregistreerd', 'bez/bez_afspraak.asp?afspr_key=', '0', 'afspraak', 0);
|
DEF_FAC_SRTNOT('BEZMUT', 1, 'Gegevens van uw bezoek ##KEY## (##NAAM## op ##DATUM##) zijn geregistreerd', 'bez/bez_afspraak.asp?afspr_key=', '0', 'afspraak', 0);
|
||||||
DEF_FAC_SRTNOT('BEZUPD', 0, 'Uw afspraak ##KEY## is gewijzigd', 'bez/bez_afspraak.asp?afspr_key=', '0', 'afspraak', 0);
|
DEF_FAC_SRTNOT('BEZUPD', 0, 'Uw afspraak ##KEY## is gewijzigd', 'bez/bez_afspraak.asp?afspr_key=', '0', 'afspraak', 0);
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ START_FACMGT_LCL(NULL, NULL)
|
|||||||
FACMGT_LCL('Backoffice bestellimiet4' , 'Back office purchase order limit4', 'Innendienst Bestellungsgrenze4', 'Limit4 de commande du back-office')
|
FACMGT_LCL('Backoffice bestellimiet4' , 'Back office purchase order limit4', 'Innendienst Bestellungsgrenze4', 'Limit4 de commande du back-office')
|
||||||
FACMGT_LCL('Backoffice bestellimiet5' , 'Back office purchase order limit5', 'Innendienst Bestellungsgrenze5', 'Limit5 de commande du back-office')
|
FACMGT_LCL('Backoffice bestellimiet5' , 'Back office purchase order limit5', 'Innendienst Bestellungsgrenze5', 'Limit5 de commande du back-office')
|
||||||
FACMGT_LCL('Backoffice notificeren (MLD2BO)' , 'Notify back office (MLD2BO)', 'Innendienst notifizieren (MLD2BO)', 'Notifier back-office')
|
FACMGT_LCL('Backoffice notificeren (MLD2BO)' , 'Notify back office (MLD2BO)', 'Innendienst notifizieren (MLD2BO)', 'Notifier back-office')
|
||||||
|
FACMGT_LCL('Backoffice notificeren (BES2BO)' , 'Notify back office (BES2BO)', 'Innendienst notifizieren (BES2BO)', 'Notifier back-office')
|
||||||
FACMGT_LCL('Bedrijf' , 'Company', 'Betrieb', 'Enterprise')
|
FACMGT_LCL('Bedrijf' , 'Company', 'Betrieb', 'Enterprise')
|
||||||
FACMGT_LCL('Behandelgroep', 'Treatment group', 'Behandlungsgruppe', 'Groupe de traitement')
|
FACMGT_LCL('Behandelgroep', 'Treatment group', 'Behandlungsgruppe', 'Groupe de traitement')
|
||||||
FACMGT_LCL('Bestelgegevens' , 'Purchase orders data', 'Bestellungsdaten', 'Donn<6E>es de commande')
|
FACMGT_LCL('Bestelgegevens' , 'Purchase orders data', 'Bestellungsdaten', 'Donn<6E>es de commande')
|
||||||
|
|||||||
@@ -2787,6 +2787,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
|||||||
lnotify mld_disc_params.mld_disc_params_notify%TYPE;
|
lnotify mld_disc_params.mld_disc_params_notify%TYPE;
|
||||||
lmnotify mld_stdmelding.mld_stdmelding_notify%TYPE;
|
lmnotify mld_stdmelding.mld_stdmelding_notify%TYPE;
|
||||||
lbonotify mld_disc_params.mld_disc_params_bonotify%TYPE;
|
lbonotify mld_disc_params.mld_disc_params_bonotify%TYPE;
|
||||||
|
lbonotify_bes bes_disc_params.bes_disc_params_bonotify%TYPE;
|
||||||
lworkflowstep_key mld_melding.mld_workflowstep_key%TYPE;
|
lworkflowstep_key mld_melding.mld_workflowstep_key%TYPE;
|
||||||
lstart_key mld_melding.mld_melding_start_key%TYPE;
|
lstart_key mld_melding.mld_melding_start_key%TYPE;
|
||||||
luitvtype mld_v_uitvoerende.TYPE%TYPE;
|
luitvtype mld_v_uitvoerende.TYPE%TYPE;
|
||||||
@@ -3160,18 +3161,38 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
|||||||
THEN
|
THEN
|
||||||
bericht := bes.bessprintf (loms, prefkey);
|
bericht := bes.bessprintf (loms, prefkey);
|
||||||
END IF;
|
END IF;
|
||||||
|
--
|
||||||
SELECT prs_perslid_key, mld_adres_key_lev
|
SELECT prs_perslid_key
|
||||||
INTO lreceiver, lmld_adres_key
|
, mld_adres_key_lev
|
||||||
FROM bes_bestelling
|
, bes_disc_params_bonotify
|
||||||
WHERE bes_bestelling_key = prefkey;
|
INTO lreceiver
|
||||||
|
, lmld_adres_key
|
||||||
|
, lbonotify_bes
|
||||||
|
FROM bes_disc_params dp
|
||||||
|
, bes_discipline d
|
||||||
|
, bes_srtgroep sg
|
||||||
|
, bes_srtdeel sd
|
||||||
|
, bes_bestelling_item bi
|
||||||
|
, bes_bestelling bb
|
||||||
|
WHERE d.ins_discipline_key = dp.bes_ins_discipline_key
|
||||||
|
AND d.ins_discipline_key = sg.ins_discipline_key
|
||||||
|
AND sg.bes_srtgroep_key = sd.bes_srtgroep_key
|
||||||
|
AND sd.bes_srtdeel_key = bi.bes_srtdeel_key
|
||||||
|
AND bi.bes_bestelling_key = bb.bes_bestelling_key
|
||||||
|
AND bb.bes_bestelling_key = prefkey;
|
||||||
|
--
|
||||||
-- Bij BESACP willen we *ook* de goedkeurders inlichten
|
-- Bij BESACP willen we *ook* de goedkeurders inlichten
|
||||||
IF lcode = 'BESACP'
|
IF lcode = 'BESACP'
|
||||||
THEN
|
THEN
|
||||||
bes.notifybesgoedkeurders (prefkey);
|
bes.notifybesgoedkeurders (prefkey);
|
||||||
END IF;
|
END IF;
|
||||||
|
--
|
||||||
|
-- Laat de backoffice weten dat er een nieuwe bestelling is
|
||||||
|
IF lcode = 'BESNEW' AND lbonotify_bes = 1
|
||||||
|
THEN
|
||||||
|
bes.notifybackoffice (prefkey);
|
||||||
|
END IF;
|
||||||
|
--
|
||||||
-- Bepaal de afzender
|
-- Bepaal de afzender
|
||||||
-- die komt van de (strikt: een) catalogus van de artikelen uit deze bestelling
|
-- die komt van de (strikt: een) catalogus van de artikelen uit deze bestelling
|
||||||
-- of anders bepaald door de locatie van het afleveradres
|
-- of anders bepaald door de locatie van het afleveradres
|
||||||
@@ -3196,7 +3217,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
|||||||
INTO lsender
|
INTO lsender
|
||||||
FROM mld_adres ma, alg_locatie l
|
FROM mld_adres ma, alg_locatie l
|
||||||
WHERE lmld_adres_key = ma.mld_adres_key(+)
|
WHERE lmld_adres_key = ma.mld_adres_key(+)
|
||||||
AND ma.alg_locatie_key = l.alg_locatie_key(+);
|
AND ma.alg_locatie_key = l.alg_locatie_key(+);
|
||||||
END IF;
|
END IF;
|
||||||
EXCEPTION
|
EXCEPTION
|
||||||
WHEN NO_DATA_FOUND
|
WHEN NO_DATA_FOUND
|
||||||
|
|||||||
@@ -59,6 +59,14 @@ ALTER TABLE mld_opdr ADD
|
|||||||
NUMBER(11,2)
|
NUMBER(11,2)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////////////// PNBR#29314
|
||||||
|
ALTER TABLE bes_disc_params ADD bes_disc_params_bonotify NUMBER(1) DEFAULT 0;
|
||||||
|
DEF_FAC_SRTNOT('BES2BO', 0, 'Facilitor: Er is een nieuwe bestelling ##KEY## (##DISC##)', 'bes/bes_bestelling.asp?urole=bo&bes_key=', '0', 'bestelling', 0);
|
||||||
|
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
///////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
///////////////////////////////////////////////////////////////////////////////////////////
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////////////
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////////////
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|||||||
Reference in New Issue
Block a user