Files
Customer/CAPG/capg.sql
Arthur Egberink 5dc6a3a3d7 CAPG#12946
svn path=/Customer/trunk/; revision=13309
2007-07-05 11:13:12 +00:00

915 lines
43 KiB
SQL

-- Script containing customer specific configuration sql statements for CAPG: Capgemini Utrecht
-- (c) 2005-2006 Dijkoraad
-- $Revision: 17 $
-- $Modtime: 5-07-07 11:41 $
--
-- Support: +31 53 4800700
SPOOL xCAPG.LST
SET ECHO ON
--CAPG#100
CREATE OR REPLACE VIEW CAPG_V_KOSTENPLAATSAFDELING
(PRS_AFDELING_KEY, PRS_KOSTENPLAATS_KEY)
AS
select max(prs_afdeling_key) prs_afdeling_key, prs_kostenplaats_key from
prs_afdeling group by prs_kostenplaats_key;
CREATE OR REPLACE VIEW CAPG_V_SODEXHO_RAPPORT (FCLT_F_Maand, FCLT_F_Artikelnummer, Categorie, Groep, Aantal, Omschrijving, Inkoop, Personeel, Algemeen, Totaal)
AS
SELECT maand, artnr AS artikelnummer,
(SELECT ud.fac_usrdata_omschr
FROM fac_usrdata ud, fac_usrtab ut
WHERE ud.fac_usrtab_key = ut.fac_usrtab_key
AND ut.fac_usrtab_omschrijving = 'Catering groep'
AND SUBSTR (TO_CHAR (fac.safe_to_number (fac_usrdata_code),
'FM00000000'
),
0,
5
)
|| '000' =
SUBSTR (TO_CHAR (fac.safe_to_number (tot1000),
'FM00000000'
),
0,
5
)
|| '000'
AND ROWNUM = 1) AS categorie,
(SELECT ud.fac_usrdata_omschr
FROM fac_usrdata ud, fac_usrtab ut
WHERE ud.fac_usrtab_key = ut.fac_usrtab_key
AND ut.fac_usrtab_omschrijving = 'Catering groep'
AND SUBSTR (TO_CHAR (fac.safe_to_number (fac_usrdata_code),
'FM00000000'
),
0,
6
)
|| '00' =
SUBSTR (TO_CHAR (fac.safe_to_number (tot100),
'FM00000000'
),
0,
6
)
|| '00'
AND ROWNUM = 1) AS groep,
aantal AS aantal, omschr AS omschrijving, inkoop, personeel, algemeen,
TO_CHAR (prijs, '99999990.00') AS totaal
FROM (SELECT TO_CHAR (res_rsv_artikel_levering, 'YYMM') AS maand,
TO_CHAR (fac.safe_to_number (LTRIM (res_artikel_nr)),
'FM00000000'
) AS artnr,
TO_CHAR (NULL) AS tot1000, TO_CHAR (NULL) AS tot100,
SUM (res_rsv_artikel_aantal) AS aantal,
RTRIM (LTRIM (res_artikel_omschrijving)) AS omschr,
SUM (res_rsv_artikel_aantal * res_rsv_artikel_prijs)
AS prijs,
res_artikel_inkoopprijs AS inkoop,
res_artikel_kostenpersoneel AS personeel,
res_artikel_kostenalgemeen AS algemeen
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
WHERE ra.res_artikel_key = rra.res_artikel_key
GROUP BY TO_CHAR (res_rsv_artikel_levering, 'YYMM'),
LTRIM (res_artikel_nr),
RTRIM (LTRIM (res_artikel_omschrijving)),
res_artikel_inkoopprijs,
res_artikel_kostenpersoneel,
res_artikel_kostenalgemeen
UNION ALL
SELECT TO_CHAR (res_rsv_artikel_levering, 'YYMM') AS maand,
SUBSTR
(TO_CHAR (fac.safe_to_number (res_artikel_nr),
'FM00000000'
),
0,
6
)
|| '00' AS artnr,
TO_CHAR (NULL) AS tot1000,
SUBSTR
(TO_CHAR (fac.safe_to_number (res_artikel_nr),
'FM00000000'
),
0,
6
)
|| '00' AS tot100,
TO_NUMBER (NULL) AS aantal, '' AS omschr,
SUM (res_rsv_artikel_aantal * res_rsv_artikel_prijs)
AS prijs,
TO_NUMBER (NULL) AS inkoop, TO_NUMBER (NULL) AS personeel,
TO_NUMBER (NULL) AS algemeen
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
WHERE ra.res_artikel_key = rra.res_artikel_key
GROUP BY TO_CHAR (res_rsv_artikel_levering, 'YYMM'),
SUBSTR (TO_CHAR (fac.safe_to_number (res_artikel_nr),
'FM00000000'
),
0,
6
)
UNION ALL
SELECT TO_CHAR (res_rsv_artikel_levering, 'YYMM') AS maand,
SUBSTR
(TO_CHAR (fac.safe_to_number (res_artikel_nr),
'FM00000000'
),
0,
5
)
|| '000' AS artnr,
SUBSTR
(TO_CHAR (fac.safe_to_number (res_artikel_nr),
'FM00000000'
),
0,
5
)
|| '000' AS tot1000,
TO_CHAR (NULL) AS tot100, TO_NUMBER (NULL) AS aantal,
'' AS omschr,
SUM (res_rsv_artikel_aantal * res_rsv_artikel_prijs)
AS prijs,
TO_NUMBER (NULL) AS inkoop, TO_NUMBER (NULL) AS personeel,
TO_NUMBER (NULL) AS algemeen
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
WHERE ra.res_artikel_key = rra.res_artikel_key
GROUP BY TO_CHAR (res_rsv_artikel_levering, 'YYMM'),
SUBSTR (TO_CHAR (fac.safe_to_number (res_artikel_nr),
'FM00000000'
),
0,
5
)
UNION ALL
SELECT TO_CHAR (res_rsv_artikel_levering, 'YYMM') AS maand,
' TOTAAL', '', '' AS tot100, TO_NUMBER (NULL) AS aantal,
'' AS omschr,
SUM (res_rsv_artikel_aantal * res_rsv_artikel_prijs)
AS prijs,
TO_NUMBER (NULL) AS inkoop, TO_NUMBER (NULL) AS personeel,
TO_NUMBER (NULL) AS algemeen
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
WHERE ra.res_artikel_key = rra.res_artikel_key
GROUP BY TO_CHAR (res_rsv_artikel_levering, 'YYMM'));
CREATE OR REPLACE VIEW CAPG_V_DOORBELASTING_SECTOR
(FCLT_F_MAAND, FCLT_F_SECTOR, PRACTICE, P_NUMMER, DATUM, AFLEVERTIJD,
RUIMTE, GASTHEER, AANVRAGER, RES_OMSCHRIJVING, PERSONEN,
AANTAL, ARTIKEL, KOSTEN, RESERVERING)
AS
SELECT TO_CHAR (ra.res_rsv_artikel_levering, 'YYMM') fclt_f_maand,
(SELECT afs.prs_afdeling_naam
FROM prs_v_afdeling afs
WHERE afs.prs_afdeling_key =
af.prs_afdeling_parentkey)
fclt_f_sector,
af.prs_afdeling_naam practice, k.prs_kostenplaats_nr p_nummer,
TO_CHAR (ra.res_rsv_artikel_levering, 'DD-MM-YYYY') datum,
TO_CHAR (ra.res_rsv_artikel_levering, 'HH24:MI') aflevertijd,
rg.res_ruimte_nr lokatie,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames pf
WHERE pf.prs_perslid_key = p.prs_perslid_key) AS gastheer,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames pf
WHERE pf.prs_perslid_key =
rr.res_rsv_ruimte_contact_key)
AS aanvrager,
rr.res_rsv_ruimte_omschrijving omschrijving,
TO_CHAR (rr.res_rsv_ruimte_bezoekers) personen,
TO_CHAR (ra.res_rsv_artikel_aantal),
a.res_artikel_omschrijving
|| ' ('
|| NVL (a.res_artikel_eenheid, '')
|| ')' aantal,
TO_CHAR (ra.res_rsv_artikel_prijs * ra.res_rsv_artikel_aantal,
'9990.99'
) kosten,
TO_CHAR (rr.res_reservering_key) resnr
FROM res_rsv_ruimte rr,
res_ruimte_opstelling ro,
res_ruimte rg,
prs_perslid p,
prs_v_afdeling af,
res_rsv_artikel ra,
res_artikel a,
capg_v_kostenplaatsafdeling ka,
prs_kostenplaats k
WHERE ra.res_artikel_key = a.res_artikel_key
AND ra.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
AND rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND ro.res_ruimte_key = rg.res_ruimte_key
AND ra.res_status_bo_key <> 1
AND p.prs_perslid_key = rr.res_rsv_ruimte_host_key
AND ka.prs_kostenplaats_key(+) = rr.prs_kostenplaats_key
AND k.prs_kostenplaats_key(+) = rr.prs_kostenplaats_key
AND af.prs_afdeling_key(+) = ka.prs_afdeling_key
AND rr.res_rsv_ruimte_key NOT IN (
SELECT res_rsv_ruimte_key
FROM res_rsv_ruimte
WHERE res_rsv_ruimte_verwijder IS NOT NULL
AND res_status_fo_key <> 4)
UNION ALL
SELECT TO_CHAR (ra.res_rsv_artikel_levering, 'YYMM') fclt_f_maand,
(SELECT afs.prs_afdeling_naam
FROM prs_v_afdeling afs
WHERE afs.prs_afdeling_key =
af.prs_afdeling_parentkey)
fclt_f_sector,
af.prs_afdeling_naam practice, k.prs_kostenplaats_nr p_nummer,
TO_CHAR (ra.res_rsv_artikel_levering, 'DD-MM-YYYY') datum,
TO_CHAR (ra.res_rsv_artikel_levering, 'HH24:MI') aflevertijd,
(SELECT MIN (alg_ruimte_aanduiding)
FROM res_v_alg_ruimte_gegevens
WHERE alg_ruimte_key = rr.alg_ruimte_key) locatie,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames pf
WHERE p.prs_perslid_key = pf.prs_perslid_key) AS gastheer,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames pf
WHERE pf.prs_perslid_key =
rr.res_rsv_ruimte_contact_key)
AS aanvrager,
rr.res_rsv_ruimte_omschrijving omschrijving, '' personen,
TO_CHAR (ra.res_rsv_artikel_aantal),
a.res_artikel_omschrijving
|| ' ('
|| NVL (a.res_artikel_eenheid, '')
|| ')' aantal,
TO_CHAR (ra.res_rsv_artikel_prijs * ra.res_rsv_artikel_aantal,
'9990.99'
) kosten,
TO_CHAR (rr.res_reservering_key) resnr
FROM res_v_aanwezigrsv_ruimte rr,
prs_perslid p,
prs_v_afdeling af,
res_v_aanwezigrsv_artikel ra,
res_artikel a,
capg_v_kostenplaatsafdeling ka,
prs_kostenplaats k
WHERE rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key
AND ra.res_artikel_key = a.res_artikel_key
AND rr.alg_ruimte_key IS NOT NULL
AND ra.res_status_bo_key <> 1
AND p.prs_perslid_key = rr.res_rsv_ruimte_host_key
AND ka.prs_kostenplaats_key(+) = rr.prs_kostenplaats_key
AND k.prs_kostenplaats_key(+) = rr.prs_kostenplaats_key
AND af.prs_afdeling_key(+) = ka.prs_afdeling_key
UNION ALL
SELECT fclt_f_maand, fclt_f_sector, practice, p_nummer, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, 'Subtotaal Practice',
TO_CHAR (SUM (kosten), '999990.99') som, NULL
FROM (SELECT TO_CHAR (ra.res_rsv_artikel_levering, 'YYMM') fclt_f_maand,
afs.prs_afdeling_naam fclt_f_sector,
af.prs_afdeling_naam practice,
k.prs_kostenplaats_nr p_nummer, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, 'Subtotaal Practice',
SUM (ra.res_rsv_artikel_prijs * ra.res_rsv_artikel_aantal
) kosten,
NULL
FROM res_rsv_ruimte rr,
res_ruimte_opstelling ro,
res_ruimte rg,
prs_perslid p,
prs_v_afdeling af,
prs_v_afdeling afs,
res_rsv_artikel ra,
res_artikel a,
capg_v_kostenplaatsafdeling ka,
prs_kostenplaats k
WHERE ra.res_artikel_key = a.res_artikel_key
AND ra.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
AND rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND ro.res_ruimte_key = rg.res_ruimte_key
AND ra.res_status_bo_key <> 1
AND p.prs_perslid_key = rr.res_rsv_ruimte_host_key
AND afs.prs_afdeling_key(+) = af.prs_afdeling_parentkey
AND ka.prs_kostenplaats_key(+) = rr.prs_kostenplaats_key
AND af.prs_afdeling_key(+) = ka.prs_afdeling_key
AND k.prs_kostenplaats_key(+) = rr.prs_kostenplaats_key
AND rr.res_rsv_ruimte_key NOT IN (
SELECT res_rsv_ruimte_key
FROM res_rsv_ruimte
WHERE res_rsv_ruimte_verwijder IS NOT NULL
AND res_status_fo_key <> 4)
GROUP BY TO_CHAR (ra.res_rsv_artikel_levering, 'YYMM'),
afs.prs_afdeling_naam,
af.prs_afdeling_naam,
k.prs_kostenplaats_nr
UNION ALL
SELECT TO_CHAR (ra.res_rsv_artikel_levering, 'YYMM') fclt_f_maand,
afs.prs_afdeling_naam fclt_f_sector,
af.prs_afdeling_naam practice, k.prs_kostenplaats_nr, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
'Subtotaal Practice',
SUM (ra.res_rsv_artikel_prijs * ra.res_rsv_artikel_aantal
) kosten,
NULL
FROM res_v_aanwezigrsv_ruimte rr,
prs_perslid p,
prs_v_afdeling af,
prs_v_afdeling afs,
res_v_aanwezigrsv_artikel ra,
res_artikel a,
capg_v_kostenplaatsafdeling ka,
prs_kostenplaats k
WHERE rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key
AND ra.res_artikel_key = a.res_artikel_key
AND rr.alg_ruimte_key IS NOT NULL
AND ra.res_status_bo_key <> 1
AND p.prs_perslid_key = rr.res_rsv_ruimte_host_key
AND afs.prs_afdeling_key(+) = af.prs_afdeling_parentkey
AND ka.prs_kostenplaats_key(+) = rr.prs_kostenplaats_key
AND af.prs_afdeling_key(+) = ka.prs_afdeling_key
AND k.prs_kostenplaats_key(+) = rr.prs_kostenplaats_key
GROUP BY TO_CHAR (ra.res_rsv_artikel_levering, 'YYMM'),
afs.prs_afdeling_naam,
af.prs_afdeling_naam,
k.prs_kostenplaats_nr)
GROUP BY fclt_f_maand, fclt_f_sector, practice, p_nummer
UNION ALL
SELECT fclt_f_maand, fclt_f_sector, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, 'Subtotaal Sector',
TO_CHAR (SUM (kosten), '999990.99') som, NULL
FROM (SELECT TO_CHAR (ra.res_rsv_artikel_levering, 'YYMM') fclt_f_maand, -- Catering bij res. ruimte
afs.prs_afdeling_naam fclt_f_sector, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, 'Subtotaal Sector',
SUM (ra.res_rsv_artikel_prijs * ra.res_rsv_artikel_aantal
) kosten,
NULL
FROM res_rsv_ruimte rr,
res_ruimte_opstelling ro,
res_ruimte rg,
prs_perslid p,
prs_v_afdeling af,
prs_v_afdeling afs,
res_rsv_artikel ra,
res_artikel a,
capg_v_kostenplaatsafdeling ka
WHERE ra.res_artikel_key = a.res_artikel_key
AND ra.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
AND rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND ro.res_ruimte_key = rg.res_ruimte_key
AND ra.res_status_bo_key <> 1
AND p.prs_perslid_key = rr.res_rsv_ruimte_host_key
AND afs.prs_afdeling_key(+) = af.prs_afdeling_parentkey
AND ka.prs_kostenplaats_key(+) = rr.prs_kostenplaats_key
AND af.prs_afdeling_key(+) = ka.prs_afdeling_key
AND rr.res_rsv_ruimte_key NOT IN (
SELECT res_rsv_ruimte_key
FROM res_rsv_ruimte
WHERE res_rsv_ruimte_verwijder IS NOT NULL
AND res_status_fo_key <> 4)
GROUP BY TO_CHAR (ra.res_rsv_artikel_levering, 'YYMM'),
afs.prs_afdeling_naam
UNION ALL
SELECT TO_CHAR (ra.res_rsv_artikel_levering, 'YYMM') fclt_f_maand, -- Catering bij alg. ruimte
afs.prs_afdeling_naam fclt_f_sector, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, 'Subtotaal Sector',
SUM (ra.res_rsv_artikel_prijs * ra.res_rsv_artikel_aantal
) kosten,
NULL
FROM res_v_aanwezigrsv_ruimte rr,
prs_perslid p,
prs_v_afdeling af,
prs_v_afdeling afs,
res_v_aanwezigrsv_artikel ra,
res_artikel a,
capg_v_kostenplaatsafdeling ka
WHERE rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key
AND ra.res_artikel_key = a.res_artikel_key
AND rr.alg_ruimte_key IS NOT NULL
AND ra.res_status_bo_key <> 1
AND p.prs_perslid_key = rr.res_rsv_ruimte_host_key
AND afs.prs_afdeling_key(+) = af.prs_afdeling_parentkey
AND ka.prs_kostenplaats_key(+) = rr.prs_kostenplaats_key
AND af.prs_afdeling_key(+) = ka.prs_afdeling_key
GROUP BY TO_CHAR (ra.res_rsv_artikel_levering, 'YYMM'),
afs.prs_afdeling_naam)
GROUP BY fclt_f_maand, fclt_f_sector
ORDER BY 1, 2, 3;
CREATE OR REPLACE VIEW CAPG_V_DOORBELASTING_TOTAAL
(FCLT_F_MAAND, FCLT_F_SECTOR, KOSTEN)
AS
SELECT fclt_f_maand, fclt_f_sector, SUM (kosten) som
FROM (SELECT TO_CHAR (ra.res_rsv_artikel_levering, 'YYMM') fclt_f_maand,
afs.prs_afdeling_naam fclt_f_sector,
SUM (ra.res_rsv_artikel_prijs * ra.res_rsv_artikel_aantal
) kosten
FROM res_rsv_ruimte rr,
res_ruimte_opstelling ro,
res_ruimte rg,
prs_perslid p,
prs_v_afdeling af,
prs_v_afdeling afs,
res_rsv_artikel ra,
res_artikel a,
capg_v_kostenplaatsafdeling ka
WHERE ra.res_artikel_key = a.res_artikel_key
AND ra.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
AND rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND ro.res_ruimte_key = rg.res_ruimte_key
AND ra.res_status_bo_key <> 1
AND p.prs_perslid_key = rr.res_rsv_ruimte_host_key
AND afs.prs_afdeling_key(+) = af.prs_afdeling_parentkey
AND ka.prs_kostenplaats_key(+) = rr.prs_kostenplaats_key
AND af.prs_afdeling_key(+) = ka.prs_afdeling_key
AND rr.res_rsv_ruimte_key NOT IN (
SELECT res_rsv_ruimte_key
FROM res_rsv_ruimte
WHERE res_rsv_ruimte_verwijder IS NOT NULL
AND res_status_fo_key <> 4)
GROUP BY TO_CHAR (ra.res_rsv_artikel_levering, 'YYMM'),
afs.prs_afdeling_naam
UNION ALL
SELECT TO_CHAR (ra.res_rsv_artikel_levering, 'YYMM') fclt_f_maand,
afs.prs_afdeling_naam fclt_f_sector,
SUM (ra.res_rsv_artikel_prijs * ra.res_rsv_artikel_aantal
) kosten
FROM res_v_aanwezigrsv_ruimte rr,
prs_perslid p,
prs_v_afdeling af,
prs_v_afdeling afs,
res_v_aanwezigrsv_artikel ra,
res_artikel a,
capg_v_kostenplaatsafdeling ka
WHERE rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key
AND ra.res_artikel_key = a.res_artikel_key
AND rr.alg_ruimte_key IS NOT NULL
AND ra.res_status_bo_key <> 1
AND p.prs_perslid_key = rr.res_rsv_ruimte_host_key
AND afs.prs_afdeling_key(+) = af.prs_afdeling_parentkey
AND ka.prs_kostenplaats_key(+) = rr.prs_kostenplaats_key
AND af.prs_afdeling_key(+) = ka.prs_afdeling_key
GROUP BY TO_CHAR (ra.res_rsv_artikel_levering, 'YYMM'),
afs.prs_afdeling_naam)
GROUP BY fclt_f_maand, fclt_f_sector
ORDER BY 1, 2;
CREATE OR REPLACE VIEW CAPG_V_NOSHOW_SECTOR
(FCLT_F_MAAND, FCLT_F_SECTOR, PRACTICE, DATUM, AFLEVERTIJD,
RUIMTE, GASTHEER, AANVRAGER, RES_OMSCHRIJVING, PERSONEN,
AANTAL, ARTIKEL, KOSTEN, RESERVERING)
AS
SELECT TO_CHAR (ra.res_rsv_artikel_levering, 'YYMM') fclt_f_maand,
(SELECT afs.prs_afdeling_naam
FROM prs_v_afdeling afs
WHERE afs.prs_afdeling_key =
af.prs_afdeling_parentkey)
fclt_f_sector,
af.prs_afdeling_naam practice,
TO_CHAR (ra.res_rsv_artikel_levering, 'DD-MM-YYYY') datum,
TO_CHAR (ra.res_rsv_artikel_levering, 'HH24:MI') aflevertijd,
rg.res_ruimte_nr lokatie,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames pf
WHERE pf.prs_perslid_key = p.prs_perslid_key) AS gastheer,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames pf
WHERE pf.prs_perslid_key =
rr.res_rsv_ruimte_contact_key)
AS aanvrager,
rr.res_rsv_ruimte_omschrijving omschrijving_reservering,
TO_CHAR (rr.res_rsv_ruimte_bezoekers) personen,
TO_CHAR (ra.res_rsv_artikel_aantal),
a.res_artikel_omschrijving
|| ' ('
|| NVL (a.res_artikel_eenheid, '')
|| ')' aantal,
TO_CHAR (ra.res_rsv_artikel_prijs * ra.res_rsv_artikel_aantal,
'9990.99'
) kosten,
TO_CHAR (rr.res_reservering_key) resnr
FROM res_v_aanwezigrsv_ruimte rr,
res_ruimte_opstelling ro,
res_ruimte rg,
prs_perslid p,
prs_v_afdeling af,
res_v_aanwezigrsv_artikel ra,
res_artikel a,
capg_v_kostenplaatsafdeling ka
WHERE ra.res_artikel_key = a.res_artikel_key
AND ra.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
AND rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND ro.res_ruimte_key = rg.res_ruimte_key
AND ra.res_status_bo_key <> 1
AND p.prs_perslid_key = rr.res_rsv_ruimte_host_key
AND ka.prs_kostenplaats_key(+) = rr.prs_kostenplaats_key
AND af.prs_afdeling_key(+) = ka.prs_afdeling_key
AND rr.res_rsv_ruimte_noshow = 1
UNION ALL
SELECT fclt_f_maand, fclt_f_sector, practice, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, 'Subtotaal Practice',
TO_CHAR (SUM (kosten), '999990.99') som, NULL
FROM (SELECT TO_CHAR (ra.res_rsv_artikel_levering, 'YYMM') fclt_f_maand,
afs.prs_afdeling_naam fclt_f_sector,
af.prs_afdeling_naam practice, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, 'Subtotaal Practice',
SUM (ra.res_rsv_artikel_prijs * ra.res_rsv_artikel_aantal
) kosten,
NULL
FROM res_v_aanwezigrsv_ruimte rr,
res_ruimte_opstelling ro,
res_ruimte rg,
prs_perslid p,
prs_v_afdeling af,
prs_v_afdeling afs,
res_v_aanwezigrsv_artikel ra,
res_artikel a,
capg_v_kostenplaatsafdeling ka
WHERE ra.res_artikel_key = a.res_artikel_key
AND ra.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
AND rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND ro.res_ruimte_key = rg.res_ruimte_key
AND ra.res_status_bo_key <> 1
AND p.prs_perslid_key = rr.res_rsv_ruimte_host_key
AND afs.prs_afdeling_key(+) = af.prs_afdeling_parentkey
AND ka.prs_kostenplaats_key(+) = rr.prs_kostenplaats_key
AND af.prs_afdeling_key(+) = ka.prs_afdeling_key
AND rr.res_rsv_ruimte_noshow = 1
GROUP BY TO_CHAR (ra.res_rsv_artikel_levering, 'YYMM'),
afs.prs_afdeling_naam,
af.prs_afdeling_naam)
GROUP BY fclt_f_maand, fclt_f_sector, practice
UNION ALL
SELECT fclt_f_maand, fclt_f_sector, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, 'Subtotaal Sector',
TO_CHAR (SUM (kosten), '999990.99') som, NULL
FROM (SELECT TO_CHAR (ra.res_rsv_artikel_levering, 'YYMM') fclt_f_maand,
afs.prs_afdeling_naam fclt_f_sector, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, 'Subtotaal Sector',
SUM (ra.res_rsv_artikel_prijs * ra.res_rsv_artikel_aantal
) kosten,
NULL
FROM res_v_aanwezigrsv_ruimte rr,
res_ruimte_opstelling ro,
res_ruimte rg,
prs_perslid p,
prs_v_afdeling af,
prs_v_afdeling afs,
res_v_aanwezigrsv_artikel ra,
res_artikel a,
capg_v_kostenplaatsafdeling ka
WHERE ra.res_artikel_key = a.res_artikel_key
AND ra.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
AND rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND ro.res_ruimte_key = rg.res_ruimte_key
AND ra.res_status_bo_key <> 1
AND p.prs_perslid_key = rr.res_rsv_ruimte_host_key
AND afs.prs_afdeling_key(+) = af.prs_afdeling_parentkey
AND ka.prs_kostenplaats_key(+) = rr.prs_kostenplaats_key
AND af.prs_afdeling_key(+) = ka.prs_afdeling_key
AND rr.res_rsv_ruimte_noshow = 1
GROUP BY TO_CHAR (ra.res_rsv_artikel_levering, 'YYMM'),
afs.prs_afdeling_naam)
GROUP BY fclt_f_maand, fclt_f_sector
ORDER BY 1, 2, 3;
CREATE OR REPLACE VIEW CAPG_V_NOSHOW_TOTAAL
(FCLT_F_MAAND, FCLT_F_SECTOR, KOSTEN)
AS
SELECT fclt_f_maand, fclt_f_sector, SUM (kosten) som
FROM (SELECT TO_CHAR (ra.res_rsv_artikel_levering, 'YYMM') fclt_f_maand,
afs.prs_afdeling_naam fclt_f_sector,
SUM (ra.res_rsv_artikel_prijs * ra.res_rsv_artikel_aantal
) kosten
FROM res_v_aanwezigrsv_ruimte rr,
res_ruimte_opstelling ro,
prs_perslid p,
prs_v_afdeling af,
prs_v_afdeling afs,
res_v_aanwezigrsv_artikel ra,
res_artikel a,
capg_v_kostenplaatsafdeling ka
WHERE ra.res_artikel_key = a.res_artikel_key
AND ra.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
AND rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND ra.res_status_bo_key <> 1
AND p.prs_perslid_key = rr.res_rsv_ruimte_host_key
AND afs.prs_afdeling_key(+) = af.prs_afdeling_parentkey
AND ka.prs_kostenplaats_key(+) = rr.prs_kostenplaats_key
AND af.prs_afdeling_key(+) = ka.prs_afdeling_key
AND rr.res_rsv_ruimte_noshow = 1
GROUP BY TO_CHAR (ra.res_rsv_artikel_levering, 'YYMM'),
afs.prs_afdeling_naam)
GROUP BY fclt_f_maand, fclt_f_sector
ORDER BY 1, 2;
CREATE OR REPLACE VIEW CAPG_V_OVERWERKMAALTIJDEN
(FCLT_F_MAAND, FCLT_F_SECTOR, PRACTICE, DATUM, GASTHEER, AANVRAGER, AANTAL,
ARTIKEL, KOSTEN, RESERVERING)
AS
SELECT TO_CHAR (ra.res_rsv_artikel_levering, 'YYMM') fclt_f_maand,
(SELECT afs.prs_afdeling_naam
FROM prs_v_afdeling afs
WHERE afs.prs_afdeling_key =
af.prs_afdeling_parentkey)
fclt_f_sector,
af.prs_afdeling_naam practice,
TO_CHAR (ra.res_rsv_artikel_levering, 'DD-MM-YYYY') datum,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames pf
WHERE p.prs_perslid_key = pf.prs_perslid_key) AS gastheer,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames pf
WHERE pf.prs_perslid_key =
rr.res_rsv_ruimte_contact_key)
AS aanvrager,
TO_CHAR (ra.res_rsv_artikel_aantal),
a.res_artikel_omschrijving
|| ' ('
|| NVL (a.res_artikel_eenheid, '')
|| ')' aantal,
TO_CHAR (ra.res_rsv_artikel_prijs * ra.res_rsv_artikel_aantal,
'9990.99'
) kosten,
TO_CHAR (rr.res_reservering_key) resnr
FROM res_v_aanwezigrsv_ruimte rr,
prs_perslid p,
prs_v_afdeling af,
res_v_aanwezigrsv_artikel ra,
res_artikel a,
capg_v_kostenplaatsafdeling ka
WHERE ra.res_artikel_key = a.res_artikel_key
AND ra.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
AND ra.res_status_bo_key <> 1
AND p.prs_perslid_key = rr.res_rsv_ruimte_host_key
AND ka.prs_kostenplaats_key(+) = rr.prs_kostenplaats_key
AND af.prs_afdeling_key(+) = ka.prs_afdeling_key
AND a.res_artikel_omschrijving LIKE 'Overwerkmaaltijd%'
UNION ALL
SELECT fclt_f_maand, fclt_f_sector, practice, NULL, NULL, NULL, NULL, 'Subtotaal Practice',
TO_CHAR (SUM (kosten), '999990.99') som,
NULL
FROM (SELECT TO_CHAR (ra.res_rsv_artikel_levering, 'YYMM') fclt_f_maand,
NULL, NULL, NULL, 'Subtotaal Practice',
afs.prs_afdeling_naam fclt_f_sector,
af.prs_afdeling_naam practice,
SUM (ra.res_rsv_artikel_prijs * ra.res_rsv_artikel_aantal
) kosten,
NULL
FROM res_v_aanwezigrsv_ruimte rr,
prs_perslid p,
prs_v_afdeling af,
prs_v_afdeling afs,
res_v_aanwezigrsv_artikel ra,
res_artikel a,
capg_v_kostenplaatsafdeling ka
WHERE ra.res_artikel_key = a.res_artikel_key
AND ra.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
AND ra.res_status_bo_key <> 1
AND p.prs_perslid_key = rr.res_rsv_ruimte_host_key
AND ka.prs_kostenplaats_key(+) = rr.prs_kostenplaats_key
AND af.prs_afdeling_key(+) = ka.prs_afdeling_key
AND afs.prs_afdeling_key(+) = af.prs_afdeling_parentkey
AND a.res_artikel_omschrijving LIKE 'Overwerkmaaltijd%'
GROUP BY TO_CHAR (ra.res_rsv_artikel_levering, 'YYMM'),
afs.prs_afdeling_naam,
af.prs_afdeling_naam)
GROUP BY fclt_f_maand, fclt_f_sector, practice
UNION ALL
SELECT fclt_f_maand, fclt_f_sector, NULL, NULL, NULL, NULL, NULL, 'Subtotaal Sector',
TO_CHAR (SUM (kosten), '999990.99') som, NULL
FROM (SELECT TO_CHAR (ra.res_rsv_artikel_levering, 'YYMM') fclt_f_maand,
NULL, NULL, NULL, 'Subtotaal Sector',
afs.prs_afdeling_naam fclt_f_sector, NULL,
SUM (ra.res_rsv_artikel_prijs * ra.res_rsv_artikel_aantal
) kosten,
NULL
FROM res_v_aanwezigrsv_ruimte rr,
prs_perslid p,
prs_v_afdeling af,
prs_v_afdeling afs,
res_v_aanwezigrsv_artikel ra,
res_artikel a,
capg_v_kostenplaatsafdeling ka
WHERE rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key
AND ra.res_artikel_key = a.res_artikel_key
AND ra.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
AND ra.res_status_bo_key <> 1
AND p.prs_perslid_key = rr.res_rsv_ruimte_host_key
AND ka.prs_kostenplaats_key(+) = rr.prs_kostenplaats_key
AND af.prs_afdeling_key(+) = ka.prs_afdeling_key
AND afs.prs_afdeling_key(+) = af.prs_afdeling_parentkey
AND a.res_artikel_omschrijving LIKE 'Overwerkmaaltijd%'
GROUP BY TO_CHAR (ra.res_rsv_artikel_levering, 'YYMM'),
afs.prs_afdeling_naam
)
GROUP BY fclt_f_maand, fclt_f_sector
ORDER BY 1, 2, 3;
CREATE OR REPLACE VIEW CAPG_V_ARTIKELOVERZICHT
(FCLT_F_MAAND, FCLT_F_SECTOR, PRACTICE, AANTAL, ARTIKEL,
KOSTEN, INKOOPKOSTEN, DATUM, RUIMTE, GASTHEER,
AANVRAGER, PERSONEN, RESERVERING)
AS
SELECT DISTINCT TO_CHAR (ra.res_rsv_artikel_levering, 'YYMM') fclt_f_maand,
(SELECT afs.prs_afdeling_naam
FROM prs_v_afdeling afs
WHERE afs.prs_afdeling_key =
af.prs_afdeling_parentkey)
fclt_f_sector,
af.prs_afdeling_naam practice,
TO_CHAR (ra.res_rsv_artikel_aantal),
a.res_artikel_omschrijving
|| ' ('
|| NVL (a.res_artikel_eenheid, '')
|| ')' aantal,
TO_CHAR (ra.res_rsv_artikel_prijs * ra.res_rsv_artikel_aantal,
'9990.99'
) kosten,
TO_CHAR (a.res_artikel_inkoopprijs * ra.res_rsv_artikel_aantal,
'9990.99'
) inkoopkostenen,
TO_CHAR (ra.res_rsv_artikel_levering, 'DD-MM-YYYY') datum,
rg.res_ruimte_nr lokatie,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames pf
WHERE pf.prs_perslid_key = p.prs_perslid_key) AS gastheer,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames pf
WHERE pf.prs_perslid_key =
rr.res_rsv_ruimte_contact_key)
AS aanvrager,
TO_CHAR (rr.res_rsv_ruimte_bezoekers) personen,
TO_CHAR (rr.res_reservering_key) resnr
FROM res_v_aanwezigrsv_ruimte rr,
res_ruimte_opstelling ro,
res_ruimte rg,
prs_perslid p,
prs_v_afdeling af,
res_v_aanwezigrsv_artikel ra,
res_artikel a,
capg_v_kostenplaatsafdeling ka
WHERE ra.res_artikel_key = a.res_artikel_key
AND ra.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
AND rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND ro.res_ruimte_key = rg.res_ruimte_key
AND ra.res_status_bo_key <> 1
AND p.prs_perslid_key = rr.res_rsv_ruimte_host_key
AND ka.prs_kostenplaats_key(+) = rr.prs_kostenplaats_key
AND af.prs_afdeling_key(+) = ka.prs_afdeling_key
UNION ALL
SELECT TO_CHAR (ra.res_rsv_artikel_levering, 'YYMM') fclt_f_maand,
(SELECT afs.prs_afdeling_naam
FROM prs_v_afdeling afs
WHERE afs.prs_afdeling_key =
af.prs_afdeling_parentkey)
fclt_f_sector,
af.prs_afdeling_naam practice, TO_CHAR (ra.res_rsv_artikel_aantal),
a.res_artikel_omschrijving
|| ' ('
|| NVL (a.res_artikel_eenheid, '')
|| ')' aantal,
TO_CHAR (ra.res_rsv_artikel_prijs * ra.res_rsv_artikel_aantal,
'9990.99'
) kosten,
TO_CHAR (a.res_artikel_inkoopprijs * ra.res_rsv_artikel_aantal,
'9990.99'
) inkoopkostenen,
TO_CHAR (ra.res_rsv_artikel_levering, 'DD-MM-YYYY') datum,
(SELECT MIN (alg_ruimte_aanduiding)
FROM res_v_alg_ruimte_gegevens
WHERE alg_ruimte_key = rr.alg_ruimte_key) locatie,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames pf
WHERE p.prs_perslid_key = pf.prs_perslid_key) AS gastheer,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames pf
WHERE pf.prs_perslid_key =
rr.res_rsv_ruimte_contact_key)
AS aanvrager,
'' personen, TO_CHAR (rr.res_reservering_key) resnr
FROM res_v_aanwezigrsv_ruimte rr,
res_v_alg_ruimte_gegevens rg,
prs_perslid p,
prs_v_afdeling af,
res_v_aanwezigrsv_artikel ra,
res_artikel a,
capg_v_kostenplaatsafdeling ka
WHERE rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key
AND ra.res_artikel_key = a.res_artikel_key
AND rr.alg_ruimte_key = rg.alg_ruimte_key
AND ra.res_status_bo_key <> 1
AND p.prs_perslid_key = rr.res_rsv_ruimte_host_key
AND ka.prs_kostenplaats_key(+) = rr.prs_kostenplaats_key
AND af.prs_afdeling_key(+) = ka.prs_afdeling_key
AND rg.res_ruimte_key IS NULL
UNION ALL
SELECT fclt_f_maand, fclt_f_sector, practice, NULL, 'Subtotaal Practice',
TO_CHAR (SUM (kosten), '999990.99') som,
TO_CHAR (SUM (inkoopkosten), '999990.99') inkoopsom, NULL, NULL,
NULL, NULL, NULL, NULL
FROM (SELECT TO_CHAR (ra.res_rsv_artikel_levering, 'YYMM') fclt_f_maand,
afs.prs_afdeling_naam fclt_f_sector,
af.prs_afdeling_naam practice, 'Subtotaal Practice',
SUM (ra.res_rsv_artikel_prijs * ra.res_rsv_artikel_aantal
) kosten,
SUM (a.res_artikel_inkoopprijs * ra.res_rsv_artikel_aantal
) inkoopkosten,
NULL, NULL, NULL, NULL, NULL, NULL
FROM res_v_aanwezigrsv_ruimte rr,
prs_perslid p,
prs_v_afdeling af,
prs_v_afdeling afs,
res_v_aanwezigrsv_artikel ra,
res_artikel a,
capg_v_kostenplaatsafdeling ka
WHERE ra.res_artikel_key = a.res_artikel_key
AND ra.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
AND ra.res_status_bo_key <> 1
AND p.prs_perslid_key = rr.res_rsv_ruimte_host_key
AND afs.prs_afdeling_key(+) = af.prs_afdeling_parentkey
AND ka.prs_kostenplaats_key(+) = rr.prs_kostenplaats_key
AND af.prs_afdeling_key(+) = ka.prs_afdeling_key
GROUP BY TO_CHAR (ra.res_rsv_artikel_levering, 'YYMM'),
afs.prs_afdeling_naam,
af.prs_afdeling_naam)
GROUP BY fclt_f_maand, fclt_f_sector, practice
UNION ALL
SELECT fclt_f_maand, fclt_f_sector, NULL, NULL, 'Subtotaal Sector',
TO_CHAR (SUM (kosten), '999990.99') som,
TO_CHAR (SUM (inkoopkosten), '999990.99') inkoopsom, NULL, NULL,
NULL, NULL, NULL, NULL
FROM (SELECT TO_CHAR (ra.res_rsv_artikel_levering, 'YYMM') fclt_f_maand,
afs.prs_afdeling_naam fclt_f_sector, NULL,
'Subtotaal Sector',
SUM (ra.res_rsv_artikel_prijs * ra.res_rsv_artikel_aantal
) kosten,
SUM (a.res_artikel_inkoopprijs * ra.res_rsv_artikel_aantal
) inkoopkosten,
NULL, NULL, NULL, NULL, NULL, NULL
FROM res_v_aanwezigrsv_ruimte rr,
prs_perslid p,
prs_v_afdeling af,
prs_v_afdeling afs,
res_v_aanwezigrsv_artikel ra,
res_artikel a,
capg_v_kostenplaatsafdeling ka
WHERE ra.res_artikel_key = a.res_artikel_key
AND ra.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
AND ra.res_status_bo_key <> 1
AND p.prs_perslid_key = rr.res_rsv_ruimte_host_key
AND afs.prs_afdeling_key(+) = af.prs_afdeling_parentkey
AND ka.prs_kostenplaats_key(+) = rr.prs_kostenplaats_key
AND af.prs_afdeling_key(+) = ka.prs_afdeling_key
GROUP BY TO_CHAR (ra.res_rsv_artikel_levering, 'YYMM'),
afs.prs_afdeling_naam)
GROUP BY fclt_f_maand, fclt_f_sector
ORDER BY 1, 2, 3;
CREATE OR REPLACE VIEW CAPG_V_NOTI_RESREMINDER
(CODE, SENDER, RECEIVER, TEXT, KEY,
XKEY)
AS
SELECT 'RESINF'
, NULL
, rsvr.res_rsv_ruimte_contact_key
, 'Reservering '
|| res.res_reservering_key
|| ': U heeft op '
|| TO_CHAR (rsvr.res_rsv_ruimte_van, 'DD-MM')
|| ' van '
|| TO_CHAR (rsvr.res_rsv_ruimte_van, 'HH24:MI')
|| ' tot '
|| TO_CHAR (rsvr.res_rsv_ruimte_tot, 'HH24:MI')
|| ' ruimte '
|| r.res_ruimte_nr
|| ' gereserveerd.'
, res.res_reservering_key
, rsvr.res_rsv_ruimte_key
FROM res_v_aanwezigreservering res
, res_v_aanwezigrsv_ruimte rsvr
, res_ruimte_opstelling opst
, res_disc_params rdp
, res_ruimte r
WHERE r.res_discipline_key = rdp.res_ins_discipline_key
AND rdp.res_disc_params_noti_dagen IS NOT NULL
AND res.res_reservering_key = rsvr.res_reservering_key
AND opst.res_ruimte_opstel_key = rsvr.res_ruimte_opstel_key
AND opst.res_ruimte_key = r.res_ruimte_key
AND rsvr.res_status_fo_key = 1
AND rsvr.res_rsv_ruimte_van BETWEEN mld_p_mld_datumtijd.datumtijdplusuitvoertijd (SYSDATE, res_disc_params_noti_dagen, 'DAGEN')
AND mld_p_mld_datumtijd.datumtijdplusuitvoertijd (SYSDATE, res_disc_params_noti_dagen+1, 'DAGEN')
AND TO_CHAR(SYSDATE, 'D') NOT IN (1,7);
COMMIT;
SPOOL OFF