AADO#31987 -- Toevoegen extra artikel aan catering reserveringen.

svn path=/Customer/trunk/; revision=24717
This commit is contained in:
Arthur Egberink
2015-04-08 08:41:41 +00:00
parent 108d484323
commit fe902de56e

View File

@@ -246,6 +246,26 @@ CREATE OR REPLACE PROCEDURE aado_export_bundel_catering (
p_filename IN VARCHAR2
)
AS
CURSOR c IS
SELECT rrr.res_rsv_ruimte_key,
rrr.res_rsv_artikel_levering,
a.res_rsv_artikel_aantal,
a.res_rsv_artikel_key,
a.res_status_bo_key
FROM (SELECT res_rsv_ruimte_key,
res_rsv_artikel_aantal,
res_rsv_artikel_key,
rra2.res_status_bo_key
FROM res_rsv_artikel rra2
WHERE res_artikel_key = 661 AND res_rsv_artikel_verwijder IS NULL) a,
( SELECT res_rsv_ruimte_key,
MIN (res_rsv_artikel_levering) res_rsv_artikel_levering
FROM res_rsv_artikel rra
WHERE rra.res_rsv_artikel_verwijder IS NULL
AND rra.res_status_bo_key = 5 -- geleverd.
AND rra.res_rsv_artikel_levering < SYSDATE
GROUP BY res_rsv_ruimte_key) rrr
WHERE rrr.res_rsv_ruimte_key = a.res_rsv_ruimte_key(+);
c_catmld_uitvoertijd mld_stdmelding.mld_stdmelding_t_uitvoertijd%TYPE := MLD_T_UITVOERTIJD(2, 'D');
v_errormsg VARCHAR (200);
@@ -262,9 +282,12 @@ AS
v_aanvrager NUMBER;
v_mld_workorder_key NUMBER;
v_mld_stdmelding_key NUMBER;
v_res_rsv_artikel_key NUMBER;
v_res_status_bo_key NUMBER;
v_date DATE;
v_count NUMBER;
v_total NUMBER(10,2);
v_res_rsv_artikel_prijs NUMBER(10,2);
BEGIN
-- Facilitor
v_aanvrager := 4;
@@ -296,7 +319,9 @@ BEGIN
WHERE rra.res_rsv_artikel_verwijder IS NULL
AND rra.res_status_bo_key = 5 -- geleverd.
AND rra.res_rsv_artikel_levering < v_date;
fac.writelog (p_applname, 'I', 'Te factureren catering bedrag voor toevoeging disposables:' || v_total, '');
IF v_count > 0 THEN
fac.writelog (p_applname, 'E', 'Catering export is al eerder uitgevoerd.',
'Controleer opdrachten met datum: ' || to_char(v_date, 'dd-mm-yyyy'));
@@ -304,6 +329,57 @@ BEGIN
fac.writelog (p_applname, 'W', 'Er is deze maand niets te factureren',
'Controleer of de catering wel afgemeld is');
ELSE
FOR rec in c
LOOP
v_res_rsv_artikel_key := rec.res_rsv_artikel_key;
v_res_status_bo_key := rec.res_status_bo_key;
-- Verwijder artikelen waar meer dan 1 stuks is aangegeven.
IF rec.res_rsv_artikel_aantal IS NOT NULL
AND rec.res_rsv_artikel_aantal <> 1
THEN
UPDATE res_rsv_artikel
SET res_rsv_artikel_verwijder = SYSDATE
WHERE res_rsv_artikel_key = v_res_rsv_artikel_key
AND res_status_bo_key < 6;
v_res_rsv_artikel_key := NULL;
END IF;
IF v_res_rsv_artikel_key IS NULL
THEN
-- Artikel disposables a 2,50 toevoegen voor kostendoorberekening
INSERT INTO res_rsv_artikel (res_artikel_key,
res_rsv_artikel_aantal,
res_rsv_artikel_levering,
res_status_bo_key,
res_rsv_ruimte_key)
VALUES (661, -- disposables
1,
rec.res_rsv_artikel_levering,
2,
rec.res_rsv_ruimte_key)
RETURN res_rsv_artikel_key INTO v_res_rsv_artikel_key;
v_res_status_bo_key := 2;
END IF;
IF v_res_status_bo_key = 2
THEN
v_res_rsv_artikel_prijs := RES.getartikelprijs(v_res_rsv_artikel_key);
UPDATE res_rsv_artikel
SET res_status_bo_key = 5,
res_rsv_artikel_prijs = v_res_rsv_artikel_prijs
WHERE res_rsv_artikel_key = v_res_rsv_artikel_key;
END IF;
END LOOP;
SELECT COALESCE(SUM (res_rsv_artikel_prijs),0)
INTO v_total
FROM res_rsv_artikel rra
WHERE rra.res_rsv_artikel_verwijder IS NULL
AND rra.res_status_bo_key = 5 -- geleverd.
AND rra.res_rsv_artikel_levering < v_date;
fac.writelog (p_applname, 'I', 'Te factureren catering bedrag na toevoeging disposables:' || v_total, '');
v_errormsg := 'Aanpassen kostenplaatsen';
-- vul de kostenplaats van reserveringen die per abuis geen kostenplaats hebben.
UPDATE res_rsv_ruimte rrr
@@ -416,7 +492,7 @@ BEGIN adm.systrackscriptId('$Id$', 0); END;
/
BEGIN fac.registercustversion('AADO', 11); END;
BEGIN fac.registercustversion('AADO', 12); END;
/
COMMIT;