AASA#84855 -- Wijzigingen bundel-catering SABIC Eurest en Appel
svn path=/Customer/trunk/; revision=66516
This commit is contained in:
120
AA/AASA/aasa.sql
120
AA/AASA/aasa.sql
@@ -131,6 +131,7 @@ CREATE OR REPLACE VIEW aasa_v_export_budget_tracker (RESULT, result_order) AS
|
||||
|
||||
-- bundel catering
|
||||
-- Als de kostenplaats bij de reservering begint met 77 dan wordt de (top)kostenplaats bepaald a.d.h.v. de cateraar.
|
||||
-- Deze view is basis voor cursur in bundel-export maar wordt tevens gebruikt om vooraf in beeld te krijgen voor Finance welke reservering door ontbrekende BU_kostenplaats buiten de bundeling vallen
|
||||
CREATE OR REPLACE VIEW aasa_v_catering_kpn
|
||||
(
|
||||
res_rsv_ruimte_key,
|
||||
@@ -140,7 +141,12 @@ CREATE OR REPLACE VIEW aasa_v_catering_kpn
|
||||
res_artikel_kostenalgemeen_tot,
|
||||
res_rsv_artikel_levering,
|
||||
prs_bedrijf_key,
|
||||
bu_kostenplaats_key
|
||||
prs_bedrijf_naam,
|
||||
prs_kostenplaats_omschrijving, -- kostenplaats in reservering
|
||||
bu_kostenplaats_key, -- de vertaalde bu_kostenplaats waar de bundel-opdracht op komt..
|
||||
alg_ruimte_key,
|
||||
alg_gebouw_key,
|
||||
alg_locatie_key
|
||||
)
|
||||
AS
|
||||
SELECT rrr.res_rsv_ruimte_key,
|
||||
@@ -152,6 +158,9 @@ SELECT rrr.res_rsv_ruimte_key,
|
||||
res_artikel_kostenalgemeen_tot,
|
||||
res_rsv_artikel_levering,
|
||||
rdp.prs_bedrijf_key,
|
||||
b.prs_bedrijf_naam,
|
||||
k.prs_kostenplaats_nr || ' - ' || k.prs_kostenplaats_omschrijving
|
||||
prs_kostenplaats_omschrijving,
|
||||
DECODE(SUBSTR(k.prs_kostenplaats_nr, 1,2)
|
||||
, '77', DECODE(rdp.prs_bedrijf_key, 66700, 4270 -- Compass Group NL h.o.d.n. Eurest (913910)
|
||||
, 247) -- App<70>l (101025)
|
||||
@@ -163,19 +172,60 @@ SELECT rrr.res_rsv_ruimte_key,
|
||||
AND ta.prs_afdeling_verwijder IS NULL
|
||||
AND a.prs_afdeling_verwijder IS NULL
|
||||
AND ab.prs_afdeling_key1 = ta.prs_afdeling_key))
|
||||
bukpn
|
||||
bukpn,
|
||||
r.alg_ruimte_key,
|
||||
(SELECT g.alg_gebouw_key
|
||||
FROM alg_v_onroerendgoed v, alg_gebouw g, alg_locatie l
|
||||
WHERE v.alg_ruimte_key = r.alg_ruimte_key
|
||||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||||
AND g.alg_locatie_key = l.alg_locatie_key)
|
||||
alg_gebouw_key,
|
||||
(SELECT l.alg_locatie_key
|
||||
FROM alg_v_onroerendgoed v, alg_gebouw g, alg_locatie l
|
||||
WHERE v.alg_ruimte_key = r.alg_ruimte_key
|
||||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||||
AND g.alg_locatie_key = l.alg_locatie_key)
|
||||
alg_locatie_key
|
||||
FROM res_rsv_ruimte rrr,
|
||||
res_rsv_artikel rra,
|
||||
res_artikel ra,
|
||||
res_disc_params rdp,
|
||||
prs_kostenplaats k
|
||||
prs_bedrijf b,
|
||||
prs_kostenplaats k,
|
||||
(SELECT rrr.res_rsv_ruimte_key,
|
||||
CASE
|
||||
WHEN rrr.alg_ruimte_key IS NULL
|
||||
AND rrr.res_ruimte_opstel_key IS NOT NULL
|
||||
THEN
|
||||
(SELECT MAX (rar.alg_ruimte_key)
|
||||
FROM res_v_ruimte_opstel_gegevens rog,
|
||||
res_alg_ruimte rar
|
||||
WHERE rog.res_ruimte_opstel_key =
|
||||
rrr.res_ruimte_opstel_key
|
||||
AND rog.res_ruimte_key = rar.res_ruimte_key
|
||||
AND rar.res_alg_ruimte_verwijder IS NULL)
|
||||
WHEN rrr.alg_ruimte_key IS NOT NULL
|
||||
AND rrr.res_ruimte_opstel_key IS NULL
|
||||
THEN
|
||||
(SELECT avrg.alg_ruimte_key
|
||||
FROM alg_v_ruimte_gegevens avrg
|
||||
WHERE avrg.alg_ruimte_key = rrr.alg_ruimte_key)
|
||||
ELSE
|
||||
NULL
|
||||
END
|
||||
AS alg_ruimte_key
|
||||
FROM res_rsv_ruimte rrr) r
|
||||
WHERE rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||||
AND rra.res_artikel_key = ra.res_artikel_key
|
||||
AND ra.res_discipline_key = rdp.res_ins_discipline_key
|
||||
AND rrr.res_rsv_ruimte_verwijder IS NULL
|
||||
AND rra.res_rsv_artikel_verwijder IS NULL
|
||||
AND rra.res_status_bo_key = 5
|
||||
AND rrr.prs_kostenplaats_key = k.prs_kostenplaats_key(+);
|
||||
AND rrr.prs_kostenplaats_key = k.prs_kostenplaats_key(+)
|
||||
AND rrr.res_rsv_ruimte_key = r.res_rsv_ruimte_key
|
||||
AND rdp.prs_bedrijf_key = b.prs_bedrijf_key
|
||||
ORDER BY rra.res_rsv_artikel_levering DESC;
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW aasa_v_export_bundel_catering
|
||||
(
|
||||
@@ -203,17 +253,19 @@ AS
|
||||
WHERE dp.prs_bedrijf_key = b.prs_bedrijf_key
|
||||
GROUP BY dp.prs_bedrijf_key, b.prs_bedrijf_naam;
|
||||
|
||||
-- Twee soorten bundelopdrachten (per cateraar, per BU_kp):
|
||||
-- Twee soorten bundelopdrachten (per cateraar, per locatie, per BU_kp):
|
||||
----- van de totaal-prijs van de catering
|
||||
----- van de algemene kosten (intern administratief) die op artikel zijn vastgelegd - betreft voor Sabic het statiegeld (zie ook ticket AASA#82181)
|
||||
CURSOR c_kpn (lev_date DATE, p_bedrijf_key NUMBER)
|
||||
IS
|
||||
SELECT v.prs_bedrijf_key,
|
||||
v.alg_locatie_key,
|
||||
v.bu_kostenplaats_key,
|
||||
v.bedrag,
|
||||
v.soort,
|
||||
v.volgorde
|
||||
FROM ( SELECT prs_bedrijf_key,
|
||||
alg_locatie_key,
|
||||
bu_kostenplaats_key,
|
||||
SUM (res_rsv_artikel_prijs) bedrag,
|
||||
'prijs_catering' soort,
|
||||
@@ -221,9 +273,10 @@ AS
|
||||
FROM aasa_v_catering_kpn
|
||||
WHERE res_rsv_artikel_levering < lev_date
|
||||
AND prs_bedrijf_key = p_bedrijf_key
|
||||
GROUP BY prs_bedrijf_key, bu_kostenplaats_key
|
||||
GROUP BY prs_bedrijf_key, alg_locatie_key, bu_kostenplaats_key
|
||||
UNION
|
||||
SELECT prs_bedrijf_key,
|
||||
alg_locatie_key,
|
||||
bu_kostenplaats_key,
|
||||
SUM (res_artikel_kostenalgemeen_tot) bedrag,
|
||||
'kosten_algemeen' soort,
|
||||
@@ -232,8 +285,8 @@ AS
|
||||
WHERE res_rsv_artikel_levering < lev_date
|
||||
AND prs_bedrijf_key = p_bedrijf_key
|
||||
AND res_artikel_kostenalgemeen_tot IS NOT NULL
|
||||
GROUP BY prs_bedrijf_key, bu_kostenplaats_key) v
|
||||
ORDER BY v.prs_bedrijf_key, v.bu_kostenplaats_key, v.volgorde ;
|
||||
GROUP BY prs_bedrijf_key, alg_locatie_key, bu_kostenplaats_key) v
|
||||
ORDER BY v.prs_bedrijf_key, v.alg_locatie_key, v.bu_kostenplaats_key, v.volgorde ;
|
||||
|
||||
|
||||
c_catmld_uitvoertijd mld_stdmelding.mld_stdmelding_t_uitvoertijd%TYPE := MLD_T_UITVOERTIJD(2, 'D');
|
||||
@@ -286,22 +339,32 @@ BEGIN
|
||||
FOR rec IN c_kpn (v_date, rec1.prs_bedrijf_key)
|
||||
LOOP
|
||||
BEGIN
|
||||
|
||||
v_alg_gebouw_key := NULL ;
|
||||
|
||||
IF rec1.prs_bedrijf_key = 66700 -- Compass Group NL h.o.d.n. Eurest
|
||||
THEN
|
||||
-- stdmelding key voor recharge
|
||||
v_mld_stdmelding_key := 2161; -- SA IP-Catering (int) Recharge
|
||||
-- key van gebouw waar catering op geboekt mag worden
|
||||
v_alg_gebouw_key := 3441; -- ADC
|
||||
v_alg_locatie_key := 101; -- BoZ
|
||||
ELSE
|
||||
-- key van gebouw waar catering op geboekt mag worden voor Eurest
|
||||
IF rec.alg_locatie_key = 63 THEN v_alg_gebouw_key := 1823; END IF; -- GELEEN - 000-NGD
|
||||
IF rec.alg_locatie_key = 64 THEN v_alg_gebouw_key := 1945; END IF; -- SITTARD - 000-907
|
||||
IF rec.alg_locatie_key = 101 THEN v_alg_gebouw_key := 3441; END IF; -- BERGEN OP ZOOM - ADC
|
||||
|
||||
END IF; -- BoZ
|
||||
|
||||
IF rec1.prs_bedrijf_key = 37081 -- Appel
|
||||
THEN
|
||||
-- stdmelding key voor recharge
|
||||
v_mld_stdmelding_key := 2001;
|
||||
-- key van gebouw waar catering op geboekt mag worden
|
||||
v_alg_gebouw_key := 1823;
|
||||
v_alg_locatie_key := 63;
|
||||
-- key van gebouwen waar catering op geboekt mag worden voor Appel
|
||||
IF rec.alg_locatie_key = 63 THEN v_alg_gebouw_key := 1823; END IF; -- GELEEN - 000-NGD
|
||||
IF rec.alg_locatie_key = 64 THEN v_alg_gebouw_key := 1945; END IF; -- SITTARD - 000-907
|
||||
IF rec.alg_locatie_key = 101 THEN v_alg_gebouw_key := 3441; END IF; -- BERGEN OP ZOOM - ADC
|
||||
|
||||
END IF;
|
||||
|
||||
IF rec.bu_kostenplaats_key IS NOT NULL
|
||||
IF rec.bu_kostenplaats_key IS NOT NULL AND rec.alg_locatie_key IS NOT NULL AND v_alg_gebouw_key IS NOT NULL
|
||||
THEN
|
||||
-- controleer of ik een melding heb op deze kpn
|
||||
BEGIN
|
||||
@@ -312,6 +375,8 @@ BEGIN
|
||||
FROM mld_melding
|
||||
WHERE prs_kostenplaats_key = rec.bu_kostenplaats_key
|
||||
AND mld_stdmelding_key = v_mld_stdmelding_key
|
||||
AND mld_alg_locatie_key = rec.alg_locatie_key
|
||||
AND mld_alg_onroerendgoed_keys = v_alg_gebouw_key
|
||||
AND v_date BETWEEN mld_melding_datum
|
||||
AND mld_melding_einddatum + 1;
|
||||
EXCEPTION
|
||||
@@ -419,6 +484,7 @@ BEGIN
|
||||
FROM aasa_v_catering_kpn c
|
||||
WHERE res_rsv_artikel_levering < v_date
|
||||
AND COALESCE(c.bu_kostenplaats_key, -1) = COALESCE(rec.bu_kostenplaats_key, -1)
|
||||
AND c.alg_locatie_key = rec.alg_locatie_key
|
||||
AND c.prs_bedrijf_key = rec1.prs_bedrijf_key -- ivm probleem 58219
|
||||
;
|
||||
|
||||
@@ -446,7 +512,7 @@ BEGIN
|
||||
|
||||
END;
|
||||
ELSE
|
||||
fac.writelog (p_applname, 'E', 'Een bedrag van: ' || rec.bedrag || ' euro kan niet aan een kostenplaats gekoppeld worden!', '');
|
||||
fac.writelog (p_applname, 'E', 'Een bedrag van: ' || rec.bedrag || ' euro kan niet aan een kostenplaats en/of locatie gekoppeld worden!', '');
|
||||
END IF;
|
||||
END;
|
||||
END LOOP;
|
||||
@@ -462,21 +528,27 @@ END;
|
||||
CREATE OR REPLACE VIEW aasa_v_rap_catering_inkoop
|
||||
(
|
||||
fclt_f_exportjob,
|
||||
opdrachtnr,
|
||||
fclt_f_bedrijf,
|
||||
afleveradres,
|
||||
fclt_f_afleverdatum,
|
||||
tijdstip,
|
||||
bestelnummer,
|
||||
bestelnummer, -- reserverings_nr
|
||||
fclt_f_artikelnummer,
|
||||
artikelomschrijving,
|
||||
interne_artikelprijs,
|
||||
interne_artikelprijs, -- stuksprijs
|
||||
interne_artikelprijs_tot,
|
||||
res_artikel_kostenalgemeen_st,
|
||||
aantal,
|
||||
artikel_btw,
|
||||
fclt_f_besteller,
|
||||
afdeling
|
||||
afdeling,
|
||||
res_rsv_ruimte_key
|
||||
)
|
||||
AS
|
||||
SELECT TO_CHAR (rra.res_rsv_artikel_verwerkt, 'dd-mm-yyyy'),
|
||||
SELECT TO_CHAR (rra.res_rsv_artikel_verwerkt, 'yyyy-mm-dd'),
|
||||
o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr
|
||||
opdrachtnr,
|
||||
prs_bedrijf_naam,
|
||||
alg_locatie_code
|
||||
|| '-'
|
||||
@@ -502,13 +574,19 @@ AS
|
||||
ROUND ((rra.res_rsv_artikel_prijs / rra.res_rsv_artikel_aantal),
|
||||
5)
|
||||
interneprijs,
|
||||
rra.res_rsv_artikel_prijs
|
||||
interne_artikelprijs_tot,
|
||||
res_artikel_kostenalgemeen
|
||||
res_artikel_kostenalgemeen_st,
|
||||
rra.res_rsv_artikel_aantal
|
||||
aantal,
|
||||
COALESCE(rra.res_rsv_artikel_btw, ra.res_artikel_btw)
|
||||
artikel_btw,
|
||||
pf.prs_perslid_naam_full
|
||||
besteller,
|
||||
k.prs_kostenplaats_nr || '-' || k.prs_kostenplaats_omschrijving
|
||||
afdeling,
|
||||
rrr.res_rsv_ruimte_key
|
||||
FROM res_rsv_ruimte rrr,
|
||||
aaxx_bundel_catering_ref bu,
|
||||
prs_bedrijf b,
|
||||
|
||||
Reference in New Issue
Block a user