PNBR#29314 bestellingen; notificatie voor backoffice
svn path=/Database/trunk/; revision=22305
This commit is contained in:
@@ -66,7 +66,7 @@ AS
|
||||
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);
|
||||
FUNCTION bestelopdr_tooltip (besopdrkey IN NUMBER) RETURN VARCHAR2;
|
||||
FUNCTION bessprintf (ps IN varchar2, pbes_bestelling_key IN number)
|
||||
FUNCTION bessprintf (ps IN varchar2, pbes_bestelling_key IN number, pbes_discipline IN VARCHAR2)
|
||||
RETURN varchar2;
|
||||
FUNCTION opdrsprintf (ps IN varchar2, pbes_bestelopdr_key IN number)
|
||||
RETURN varchar2;
|
||||
@@ -1377,28 +1377,32 @@ 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;
|
||||
ldisc_oms bes_discipline.ins_discipline_omschrijving%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
|
||||
bsg.ins_discipline_key,
|
||||
bd.ins_discipline_omschrijving
|
||||
INTO lloc_key,
|
||||
lafd_key,
|
||||
ldisc_key
|
||||
ldisc_key,
|
||||
ldisc_oms
|
||||
FROM bes_bestelling b,
|
||||
bes_bestelling_item bi,
|
||||
bes_srtdeel bsd,
|
||||
bes_srtgroep bsg,
|
||||
bes_discipline bd,
|
||||
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 bsg.ins_discipline_key = bd.ins_discipline_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
|
||||
@@ -1408,7 +1412,7 @@ AS
|
||||
FROM fac_srtnotificatie
|
||||
WHERE fac_srtnotificatie_code = 'BES2BO';
|
||||
|
||||
bericht := bes.bessprintf (loms, pbeskey); -- de variabelen invullen
|
||||
bericht := bes.bessprintf (loms, pbeskey, ldisc_oms); -- de variabelen invullen
|
||||
|
||||
FOR boer
|
||||
IN (SELECT g.prs_perslid_key
|
||||
@@ -1471,6 +1475,7 @@ AS
|
||||
lbestellimiet3 bes_disc_params.bes_disc_params_bestellimiet3%TYPE;
|
||||
lbestellimiet4 bes_disc_params.bes_disc_params_bestellimiet4%TYPE;
|
||||
lbestellimiet5 bes_disc_params.bes_disc_params_bestellimiet5%TYPE;
|
||||
lbonotify bes_disc_params.bes_disc_params_bonotify%TYPE;
|
||||
lfunctiecode fac_functie.fac_functie_code%TYPE;
|
||||
lsender mld_discipline.ins_discipline_email%TYPE;
|
||||
bericht fac_srtnotificatie.fac_srtnotificatie_oms%TYPE; -- kan te kort zijn na substitutie
|
||||
@@ -1485,7 +1490,8 @@ AS
|
||||
COALESCE (bdp.bes_disc_params_bestellimiet2, 0),
|
||||
COALESCE (bdp.bes_disc_params_bestellimiet3, 0),
|
||||
COALESCE (bdp.bes_disc_params_bestellimiet4, 0),
|
||||
COALESCE (bdp.bes_disc_params_bestellimiet5, 0)
|
||||
COALESCE (bdp.bes_disc_params_bestellimiet5, 0),
|
||||
bdp.bes_disc_params_bonotify
|
||||
INTO lloc_key,
|
||||
lafd_key,
|
||||
ldisc_key,
|
||||
@@ -1495,7 +1501,8 @@ AS
|
||||
lbestellimiet2,
|
||||
lbestellimiet3,
|
||||
lbestellimiet4,
|
||||
lbestellimiet5
|
||||
lbestellimiet5,
|
||||
lbonotify
|
||||
FROM bes_bestelling b,
|
||||
bes_bestelling_item bi,
|
||||
bes_srtdeel bsd,
|
||||
@@ -1520,10 +1527,15 @@ AS
|
||||
bdp.bes_disc_params_bestellimiet2,
|
||||
bdp.bes_disc_params_bestellimiet3,
|
||||
bdp.bes_disc_params_bestellimiet4,
|
||||
bdp.bes_disc_params_bestellimiet5;
|
||||
bdp.bes_disc_params_bestellimiet5,
|
||||
bdp.bes_disc_params_bonotify;
|
||||
|
||||
IF lbes_kosten <= lbestellimiet -- Dit eerst testen i.v.m. Acceptering. Verder moet sowieso geaccepteerd worden.
|
||||
THEN
|
||||
IF lbonotify = 1
|
||||
THEN -- Er hoeft niet gefiatteerd te worden,
|
||||
bes.notifybackoffice(pbeskey); -- dus stuur de backoffice een bericht dat er een nieuwe bestelling is.
|
||||
END IF;
|
||||
RETURN; -- Het bedrag is lager als de eerste limiet. De bestelling hoeft niet goed gekeurd te worden, dus een lege fiatteurs array teruggeven.
|
||||
ELSIF (((fac.getsetting ('bes_approval_all') = 0 AND lbes_kosten >= lbestellimiet) OR
|
||||
(fac.getsetting ('bes_approval_all') = 1 AND lbes_kosten <= lbestellimiet2)) AND
|
||||
@@ -1547,7 +1559,11 @@ AS
|
||||
THEN
|
||||
lfunctiecode := 'WEB_BESGO5';
|
||||
ELSE
|
||||
RETURN; -- Het goedgekeurde bedrag zit al boven de vijfde limiet. Geen approval meer nodig.
|
||||
IF lbonotify = 1
|
||||
THEN -- De laatste fiatteur heeft de bestelling goedgekeurd,
|
||||
bes.notifybackoffice(pbeskey); -- dus nu mag de backoffice het bericht krijgen dat er een nieuwe bestelling is.
|
||||
END IF;
|
||||
RETURN; -- Het goedgekeurde bedrag zit al boven de limiet. Geen approval meer nodig.
|
||||
END IF;
|
||||
|
||||
-- These notifications are now sent on behalf of the system, what might be the local FM organisation
|
||||
@@ -1575,7 +1591,7 @@ AS
|
||||
FROM fac_srtnotificatie
|
||||
WHERE fac_srtnotificatie_code = 'BESAP1';
|
||||
|
||||
bericht := bes.bessprintf (loms, pbeskey); -- de variabelen invullen
|
||||
bericht := bes.bessprintf (loms, pbeskey, ''); -- de variabelen invullen
|
||||
|
||||
FOR boer
|
||||
IN (SELECT g.prs_perslid_key
|
||||
@@ -1918,12 +1934,11 @@ AS
|
||||
RETURN lret;
|
||||
END;
|
||||
|
||||
FUNCTION bessprintf (ps IN varchar2, pbes_bestelling_key IN number)
|
||||
FUNCTION bessprintf (ps IN varchar2, pbes_bestelling_key IN number, pbes_discipline IN VARCHAR2)
|
||||
RETURN varchar2
|
||||
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
|
||||
@@ -1933,23 +1948,13 @@ AS
|
||||
IF INSTR2 (s, '#') > 0
|
||||
THEN
|
||||
SELECT b.bes_bestelling_datum
|
||||
, bd.ins_discipline_omschrijving
|
||||
INTO lbes_bestelling_datum
|
||||
, 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;
|
||||
WHERE 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
|
||||
, '##DISC##', pbes_discipline
|
||||
);
|
||||
END IF;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user