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 updatebestellingstatus (pbestelling_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 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);
|
||||
@@ -1366,6 +1367,95 @@ AS
|
||||
END IF;
|
||||
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.
|
||||
-- Naar wie, wordt reversed opgezocht op basis van toegekende autorisaties.
|
||||
PROCEDURE notifybesgoedkeurders (pbeskey IN NUMBER)
|
||||
@@ -1833,24 +1923,33 @@ AS
|
||||
IS
|
||||
s varchar2 (2048 CHAR);
|
||||
lbes_bestelling_datum bes_bestelling.bes_bestelling_datum%TYPE;
|
||||
lbes_discipline bes_discipline.ins_discipline_omschrijving%TYPE;
|
||||
BEGIN
|
||||
s := ps;
|
||||
-- We support substitution of placeholders in the messages
|
||||
-- ##KEY## = bes_bestelling_key
|
||||
-- ##DATUM## = bes_bestelling_datum
|
||||
-- ##DISC## = ins_discipline_omschrijving
|
||||
IF INSTR2 (s, '#') > 0
|
||||
THEN
|
||||
SELECT bes_bestelling_datum
|
||||
SELECT b.bes_bestelling_datum
|
||||
, bd.ins_discipline_omschrijving
|
||||
INTO lbes_bestelling_datum
|
||||
FROM bes_bestelling
|
||||
WHERE bes_bestelling_key = pbes_bestelling_key;
|
||||
s :=
|
||||
REPLACE (REPLACE (s,
|
||||
'##KEY##',
|
||||
NUMBER_TO_CHAR (pbes_bestelling_key)
|
||||
),
|
||||
'##DATUM##',
|
||||
DATE_TO_CHAR (lbes_bestelling_datum, 'DD-MM-YY HH24:MI')
|
||||
, lbes_discipline
|
||||
FROM bes_bestelling b
|
||||
, bes_bestelling_item bi
|
||||
, bes_srtdeel sd
|
||||
, bes_srtgroep sg
|
||||
, bes_discipline bd
|
||||
WHERE b.bes_bestelling_key = bi.bes_bestelling_key
|
||||
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
|
||||
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;
|
||||
|
||||
|
||||
@@ -449,6 +449,8 @@ CREATE_TABLE(bes_disc_params, 0)
|
||||
NUMBER(1),
|
||||
bes_disc_params_noti_opdr /* 1=notificeer besteller over bestelopdracht(en) */
|
||||
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 */
|
||||
NUMBER(1),
|
||||
bes_disc_params_herfiatpct
|
||||
|
||||
Reference in New Issue
Block a user