Files
Database/RES/RES_VIE.SRC
Arthur Egberink d668894a25 UWVA#335
svn path=/Database/trunk/; revision=9248
2006-06-14 22:19:58 +00:00

743 lines
29 KiB
Plaintext

#ifdef RES // 07-12-99 BIV
/* Views voor RESERVERINGS -module
*
* History
*
* 07-12-99 BIV CREATION.
*/
#include "comsql.h"
CREATE_VIEW(RES_DISCIPLINE, RES_NORMAAL_PRIVILEGE) AS
SELECT * FROM INS_TAB_DISCIPLINE
WHERE INS_DISCIPLINE_MODULE = 'RES';
CREATE_VIEW(RES_V_AANWEZIGDISCIPLINE, RES_NORMAAL_PRIVILEGE) AS
SELECT * FROM RES_DISCIPLINE
WHERE INS_DISCIPLINE_VERWIJDER IS NULL;
DEFINIEER_VIEW_AANWEZIG(res_reservering, res_reservering_verwijder,
res_v_aanwezigreservering,RES_NORMAAL_PRIVILEGE);
DEFINIEER_VIEW_AANWEZIG(res_rsv_ruimte, res_rsv_ruimte_verwijder,
res_v_aanwezigrsv_ruimte,RES_NORMAAL_PRIVILEGE);
DEFINIEER_VIEW_AANWEZIG(res_opstelling, res_opstelling_verwijder,
res_v_aanwezigopstelling,RES_BIBLIOTHEEK_PRIVILEGE);
DEFINIEER_VIEW_AANWEZIG(res_ruimte, res_ruimte_verwijder,
res_v_aanwezigruimte,RES_NORMAAL_PRIVILEGE);
DEFINIEER_VIEW_AANWEZIG(res_artikel, res_artikel_verwijder,
res_v_aanwezigartikel, RES_NORMAAL_PRIVILEGE);
DEFINIEER_VIEW_AANWEZIG(res_deel, res_deel_verwijder,
res_v_aanwezigdeel, RES_NORMAAL_PRIVILEGE);
DEFINIEER_VIEW_AANWEZIG(res_rsv_artikel, res_rsv_artikel_verwijder,
res_v_aanwezigrsv_artikel, RES_NORMAAL_PRIVILEGE);
DEFINIEER_VIEW_AANWEZIG(res_rsv_deel, res_rsv_deel_verwijder,
res_v_aanwezigrsv_deel, RES_NORMAAL_PRIVILEGE);
DEFINIEER_VIEW_AANWEZIG(res_alg_ruimte, res_alg_ruimte_verwijder,
res_v_aanwezigalg_ruimte, RES_NORMAAL_PRIVILEGE);
CREATE_VIEW(res_v_aanwezigins_deel, RES_NORMAAL_PRIVILEGE)
(res_deel_key,
ins_deel_key) AS
SELECT res_deel_key,
res_ins_deel_key
FROM res_deel
WHERE res_deel_verwijder IS NULL;
CREATE_VIEW(res_v_res_ruimte_gegevens, RES_NORMAAL_PRIVILEGE)
( ALG_LOCATIE_KEY,
ALG_GEBOUW_KEY,
ALG_VERDIEPING_KEY,
RES_RUIMTE_KEY,
RES_RUIMTE_NR,
RES_RUIMTE_PRIJS,
RES_DISCIPLINE_KEY ) AS
SELECT DISTINCT ALG_L.alg_locatie_key
, ALG_G.alg_gebouw_key
, ALG_V.alg_verdieping_key
, RES_R.res_ruimte_key
, RES_R.res_ruimte_nr
, RES_R.res_ruimte_prijs
, RES_R.res_discipline_key
FROM ALG_LOCATIE ALG_L
, ALG_GEBOUW ALG_G
, ALG_VERDIEPING ALG_V
, alg_v_aanwezigruimte ALG_R
, res_v_aanwezigruimte RES_R
, RES_V_AANWEZIGALG_RUIMTE RES_RA
WHERE RES_R.res_ruimte_key = RES_RA.res_ruimte_key
AND ALG_R.alg_ruimte_key = RES_RA.alg_ruimte_key
AND ALG_R.alg_verdieping_key = ALG_V.alg_verdieping_key
AND ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key
AND ALG_G.alg_locatie_key = ALG_L.alg_locatie_key;
/
CREATE_VIEW(res_v_alg_ruimte_gegevens, RES_BIBLIOTHEEK_PRIVILEGE)
(alg_locatie_key,
alg_gebouw_key,
alg_verdieping_key,
alg_ruimte_key,
alg_ruimte_aanduiding,
res_ruimte_key,
res_ruimte_nr,
res_alg_ruimte_key) AS
SELECT ALG_L.alg_locatie_key,
ALG_G.alg_gebouw_key,
ALG_V.alg_verdieping_key,
ALG_R.alg_ruimte_key,
ALG_L.alg_locatie_code ||' - '||
ALG_G.alg_gebouw_code ||' - '||
ALG_V.alg_verdieping_code ||' - '||
ALG_R.alg_ruimte_nr,
RES_R.res_ruimte_key,
RES_R.res_ruimte_nr,
RES_RA.res_alg_ruimte_key
FROM alg_locatie ALG_L, alg_gebouw ALG_G, alg_verdieping ALG_V, alg_v_aanwezigruimte ALG_R,
res_v_aanwezigruimte RES_R, res_v_aanwezigalg_ruimte RES_RA
WHERE RES_R.res_ruimte_key = RES_RA.res_ruimte_key
AND ALG_R.alg_ruimte_key = RES_RA.alg_ruimte_key
AND ALG_R.alg_verdieping_key = ALG_V.alg_verdieping_key
AND ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key
AND ALG_G.alg_locatie_key = ALG_L.alg_locatie_key
UNION
SELECT ALG_L.alg_locatie_key,
ALG_G.alg_gebouw_key,
ALG_V.alg_verdieping_key,
ALG_R.alg_ruimte_key,
ALG_L.alg_locatie_code || ' - ' ||
ALG_G.alg_gebouw_code || ' - ' ||
ALG_V.alg_verdieping_code || ' - ' ||
ALG_R.alg_ruimte_nr,
TO_NUMBER(NULL),
NULL,
TO_NUMBER(NULL)
FROM alg_locatie ALG_L, alg_gebouw ALG_G, alg_verdieping ALG_V,
alg_v_aanwezigruimte ALG_R
WHERE ALG_R.alg_verdieping_key = ALG_V.alg_verdieping_key
AND ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key
AND ALG_G.alg_locatie_key = ALG_L.alg_locatie_key
-- When excluded catering ordered on ALG_RUIMTE which happened to be part of RES_RUIMTE
-- would not show on BO-list
-- AND ALG_R.alg_ruimte_key NOT IN
-- (SELECT alg_ruimte_key
-- FROM res_v_aanwezigalg_ruimte RES_RA)
/
CREATE_VIEW(res_v_rsv_ruimte_2_alg_ruimte, RES_BIBLIOTHEEK_PRIVILEGE) AS
SELECT
r.res_reservering_key,
r.res_rsv_ruimte_key,
r.res_ruimte_opstel_key,
ro.res_ruimte_key,
ra.alg_ruimte_key,
r.RES_RSV_RUIMTE_VAN,
r.RES_RSV_RUIMTE_TOT,
r.res_status_fo_key
FROM
RES_RSV_RUIMTE r, RES_RUIMTE_OPSTELLING ro, RES_RUIMTE rr, RES_ALG_RUIMTE ra
WHERE
r.res_rsv_ruimte_verwijder IS NULL AND
r.res_ruimte_opstel_key = ro.res_ruimte_opstel_key AND
ro.res_ruimte_key = rr.res_ruimte_key AND
rr.res_ruimte_key = ra.res_ruimte_key;
/
CREATE_VIEW(res_v_reserveringruimte_geg, RES_BIBLIOTHEEK_PRIVILEGE) AS
SELECT RES.res_reservering_key
, RES.res_reservering_opmerking
, RES.res_reservering_user_key
, RES.res_reservering_omschrijving
, k.prs_kostenplaats_nr RES_RESERVERING_ORDERNR
, RES.PRS_AFDELING_KEY
, RES.RES_RESERVERING_TELEFOON
, RES.RES_RESERVERING_AANMAAK
, RES.RES_RESERVERING_VERWIJDER
, RES.RES_RESERVERING_CONTACT_KEY
, RES.RES_RESERVERING_HOST_KEY
, RR.res_ruimte_key
, RR.alg_ruimte_key
, k.prs_kostenplaats_nr
FROM RES_RESERVERING RES, RES_V_RSV_RUIMTE_2_ALG_RUIMTE RR, prs_kostenplaats k
WHERE RES.res_reservering_key = RR.res_reservering_key
AND k.prs_kostenplaats_key=res.prs_kostenplaats_key;
/
CREATE_VIEW(res_v_ruimte_opstel_gegevens, RES_BIBLIOTHEEK_PRIVILEGE) AS
SELECT RES_RO.res_ruimte_opstel_key,
RES_R.res_ruimte_key,
RES_R.res_ruimte_nr,
RES_R.res_ruimte_upper,
RES_O.res_opstelling_key,
RES_O.res_opstelling_omschrijving,
RES_RO.res_ruimte_opstel_bezoekers
FROM res_v_aanwezigruimte RES_R, res_v_aanwezigopstelling RES_O,
res_ruimte_opstelling RES_RO
WHERE RES_R.res_ruimte_key = RES_RO.res_ruimte_key
AND RES_O.res_opstelling_key = RES_RO.res_opstelling_key;
CREATE_VIEW(res_v_ins_deel,RES_NORMAAL_PRIVILEGE)
( ins_discipline_key
, ins_srtgroep_key
, ins_srtdeel_key
, ins_srtdeel_omschrijving
, alg_locatie_key
, alg_gebouw_key
, alg_verdieping_key
, alg_ruimte_key
, prs_werkplek_key
, alg_terreinsector_key
, alg_plaatsaanduiding
, ins_deel_key
, ins_deel_omschrijving
, res_deel_key
, res_deel_eenheid
, res_deel_prijs
, res_deel_reserveerbaar
)
AS SELECT INS_DI.ins_discipline_key
, INS_SG.ins_srtgroep_key
, INS_SD.ins_srtdeel_key
, INS_SD.ins_srtdeel_code||' - '||INS_SD.ins_srtdeel_omschrijving
, INS_DE.ins_alg_locatie_key
, INS_AO.alg_gebouw_key
, INS_AO.alg_verdieping_key
, INS_AO.alg_ruimte_key
, INS_AO.prs_werkplek_key
, INS_AO.alg_terreinsector_key
, INS_AO.alg_plaatsaanduiding
, INS_DE.ins_deel_key
, INS_DE.ins_deel_omschrijving
, RES_DE.res_deel_key
, RES_DE.res_deel_eenheid
, RES_DE.res_deel_prijs
, decode(RES_DE.res_deel_key,null,0,1)
FROM ins_v_aanwezigdeel INS_DE
, ins_tab_discipline INS_DI
, ins_v_alg_overzicht INS_AO
, ins_srtdeel INS_SD
, ins_srtgroep INS_SG
, res_v_aanwezigdeel RES_DE
WHERE INS_DE.ins_deel_key = RES_DE.res_ins_deel_key (+)
AND INS_DE.ins_deel_module = 'INS'
AND INS_DE.ins_deel_parent_key IS NULL
AND INS_AO.alg_onroerendgoed_keys = INS_DE.ins_alg_ruimte_key
AND INS_AO.alg_onroerendgoed_type = INS_DE.ins_alg_ruimte_type
AND INS_AO.alg_locatie_key = INS_DE.ins_alg_locatie_key
AND INS_SD.ins_srtdeel_key = INS_DE.ins_srtdeel_key
AND INS_SG.ins_srtgroep_key = INS_SD.ins_srtgroep_key
AND INS_DI.ins_discipline_key = INS_DE.ins_discipline_key
AND INS_DE.ins_discipline_key IN (SELECT ins_discipline_key FROM ins_discipline);
/
CREATE_VIEW(res_v_aanwezig_deel_artikel, RES_NORMAAL_PRIVILEGE)
( res_deel_key
, res_artikel_key
, res_deel_artikel_prijs
, res_deel_artikel_naam
, res_deel_artikel_eenheid)
AS SELECT R.res_deel_key
, to_number(null)
, R.res_deel_prijs
, substr((S.ins_srtdeel_omschrijving ||' '|| D.ins_deel_omschrijving),1,50)
, R.res_deel_eenheid
FROM res_v_aanwezigdeel R
, ins_deel D
, ins_srtdeel S
WHERE R.res_ins_deel_key = D.ins_deel_key
AND D.ins_srtdeel_key = S.ins_srtdeel_key
UNION
SELECT to_number(null)
, res_artikel_key
, res_artikel_prijs
, res_artikel_omschrijving
, res_artikel_eenheid
FROM res_v_aanwezigartikel;
CREATE_VIEW(res_v_aanwezig_rsv_deelartikel, RES_NORMAAL_PRIVILEGE)
( res_rsv_deel_key
, res_rsv_artikel_key
, res_reservering_key
, res_deel_key
, res_artikel_key
, res_deel_artikel_omschrijving
, res_deel_artikel_eenheid
, res_deel_artikel_prijs
, res_deel_artikel_aantal
, res_deel_artikel_levering)
AS SELECT R.res_rsv_deel_key
, to_number(null)
, R.res_reservering_key
, R.res_deel_key
, to_number(null)
, substr((S.ins_srtdeel_omschrijving ||' '|| I.ins_deel_omschrijving),1,50)
, D.res_deel_eenheid
, D.res_deel_prijs
, R.res_rsv_deel_aantal
, R.res_rsv_deel_levering
FROM res_rsv_deel R
, res_v_aanwezigdeel D
, ins_v_aanwezigdeel I
, ins_srtdeel S
WHERE D.res_deel_key = R.res_deel_key
AND D.res_ins_deel_key = I.ins_deel_key
AND I.ins_srtdeel_key = S.ins_srtdeel_key
AND R.res_rsv_deel_verwijder IS NULL
UNION
SELECT to_number(null)
, R.res_rsv_artikel_key
, R.res_reservering_key
, to_number(null)
, R.res_artikel_key
, A.res_artikel_omschrijving
, A.res_artikel_eenheid
, A.res_artikel_prijs
, R.res_rsv_artikel_aantal
, R.res_rsv_artikel_levering
FROM res_rsv_artikel R
, res_v_aanwezigartikel A
WHERE A.res_artikel_key = R.res_artikel_key
AND R.res_rsv_artikel_verwijder IS NULL;
// NOTE! 4.40 view functional drastically changed!
CREATE_VIEW(all_backoffice,RES_BIBLIOTHEEK_PRIVILEGE)
( res_backoffice_key
, res_backoffice_soort
, res_backoffice_omschrijving
, res_backoffice_aanmaak
, res_backoffice_verwijder
, res_backoffice_min_level) AS
SELECT PRS_B.prs_bedrijf_key
, 'B'
, PRS_B.prs_bedrijf_naam
, PRS_B.prs_bedrijf_aanmaak
, PRS_B.prs_bedrijf_verwijder
, 1
FROM prs_bedrijf PRS_B
UNION
SELECT PRS_A.prs_afdeling_key
, 'A'
, PRS_A.prs_afdeling_naam
, PRS_A.prs_afdeling_aanmaak
, PRS_A.prs_afdeling_verwijder
, 1
FROM prs_afdeling PRS_A;
DEFINIEER_VIEW_AANWEZIG(All_backoffice, res_backoffice_verwijder,
all_v_aanwezigbackoffice, RES_BIBLIOTHEEK_PRIVILEGE);
CREATE_VIEW(all_v_aanwezigafdeling,RES_BIBLIOTHEEK_PRIVILEGE) AS
SELECT prs_afdeling_key, prs_afdeling_naam, prs_afdeling_upper
FROM prs_v_aanwezigafdeling
WHERE prs_afdeling_key IN
(SELECT res_backoffice_key FROM all_v_aanwezigbackoffice
WHERE res_backoffice_soort = 'A');
CREATE_VIEW(all_v_aanwezigbedrijf,RES_BIBLIOTHEEK_PRIVILEGE) AS
SELECT prs_bedrijf_key, prs_bedrijf_naam, prs_bedrijf_naam_upper
FROM prs_v_aanwezigbedrijf
WHERE prs_bedrijf_key IN
(SELECT res_backoffice_key FROM all_v_aanwezigbackoffice
WHERE res_backoffice_soort = 'B');
DEFINIEER_VIEW_AANWEZIG(res_refsrtkenmerk, res_refsrtkenmerk_verwijder,
res_v_aanwezigrefsrtkenmerk,MLD_NORMAAL_PRIVILEGE);
CREATE_VIEW(res_v_srtkenmerk_gegevens, RES_BIBLIOTHEEK_PRIVILEGE)
AS SELECT res_SK.res_srtkenmerk_key
, res_SK.res_srtkenmerk_omschrijving
, res_SK.res_srtkenmerk_kenmerktype
, res_SK.res_srtkenmerk_systeem
, res_SK.res_srtkenmerk_lengte
, res_SK.res_srtkenmerk_dec
, res_SK.res_srtkenmerk_nmin
, res_SK.res_srtkenmerk_nmax
, res_SK.res_refsrtkenmerk_key
, res_RSK.res_refsrtkenmerk_omschrijving
FROM res_srtkenmerk res_SK
, res_refsrtkenmerk res_RSK
WHERE res_SK.res_refsrtkenmerk_key = res_RSK.res_refsrtkenmerk_key (+);
/
CREATE_VIEW(res_v_kenmerk_gegevens, RES_BIBLIOTHEEK_PRIVILEGE)
( res_kenmerk_key
, res_srtkenmerk_key
, res_kenmerk_niveau
, res_kenmerk_verplicht
, res_kenmerk_volgnummer
, res_srtkenmerk_omschrijving
, res_srtkenmerk_kenmerktype
, res_srtkenmerk_lengte
, res_srtkenmerk_dec
, res_srtkenmerk_nmin
, res_srtkenmerk_nmax
, res_refsrtkenmerk_key) AS
SELECT res_K.res_kenmerk_key
, res_K.res_srtkenmerk_key
, res_K.res_kenmerk_niveau
, res_K.res_kenmerk_verplicht
, res_K.res_kenmerk_volgnummer
, res_SK.res_srtkenmerk_omschrijving
, res_SK.res_srtkenmerk_kenmerktype
, res_SK.res_srtkenmerk_lengte
, res_SK.res_srtkenmerk_dec
, res_SK.res_srtkenmerk_nmin
, res_SK.res_srtkenmerk_nmax
, res_SK.res_refsrtkenmerk_key
FROM res_kenmerk res_K
, res_srtkenmerk res_SK
WHERE res_K.res_srtkenmerk_key = res_SK.res_srtkenmerk_key
AND res_K.res_kenmerk_niveau = 'D';
DEFINIEER_VIEW_AANWEZIG(res_kenmerkwaarde, res_kenmerkwaarde_verwijder,
res_v_aanwezigkenmerkwaarde, RES_NORMAAL_PRIVILEGE);
CREATE_VIEW(res_v_res_catalogus, RES_BIBLIOTHEEK_PRIVILEGE)
AS SELECT *
FROM INS_TAB_DISCIPLINE
WHERE ins_discipline_module = 'RES'
AND ins_discipline_min_level IN (1,2,3);
CREATE_VIEW(res_v_alg_onrgoed_keys, RES_BIBLIOTHEEK_PRIVILEGE)
(alg_regio_key,
alg_district_key,
alg_locatie_key,
alg_gebouw_key,
alg_verdieping_key,
alg_ruimte_key) AS
SELECT alg_regio_key,
d.alg_district_key,
g.alg_locatie_key,
og.alg_gebouw_key,
og.alg_verdieping_key,
og.alg_ruimte_key
FROM alg_v_onroerendgoed og, ALG_GEBOUW g, alg_locatie L, alg_district D
WHERE og.alg_gebouw_key= g.alg_gebouw_key
AND g.alg_locatie_key = l.alg_locatie_key
AND l.alg_district_key = D.alg_district_key;
CREATE_VIEW(RES_V_DEEL_GEGEVENS_KEYS, RES_BIBLIOTHEEK_PRIVILEGE)
(ALG_LOCATIE_KEY, ALG_GEBOUW_KEY, ALG_VERDIEPING_KEY, ALG_RUIMTE_KEY, INS_DEEL_KEY)
AS
SELECT de.ins_alg_locatie_key, ve.alg_gebouw_key, ru.alg_verdieping_key,
de.ins_alg_ruimte_key, de.ins_deel_key
FROM ins_v_aanwezigdeel de, alg_ruimte ru, alg_verdieping ve
WHERE de.ins_alg_ruimte_key = ru.alg_ruimte_key
AND ru.alg_verdieping_key = ve.alg_verdieping_key
AND de.ins_alg_ruimte_type = 'R';
CREATE_VIEW(res_v_deel_onrgoed, RES_BIBLIOTHEEK_PRIVILEGE)
(res_deel_key,
res_deel_alg_level,
alg_regio_key,
alg_district_key,
alg_locatie_key,
alg_gebouw_key,
alg_verdieping_key,
alg_ruimte_key) AS
SELECT res_deel_key, res_deel_alg_level, alg_regio_key, d.alg_district_key,
dg.alg_locatie_key, alg_gebouw_key, alg_verdieping_key,
alg_ruimte_key
FROM res_v_aanwezigdeel rd,
res_v_deel_gegevens_keys dg,
alg_locatie l,
alg_district d
WHERE rd.res_ins_deel_key = dg.ins_deel_key
AND dg.alg_locatie_key = l.alg_locatie_key
AND l.alg_district_key = d.alg_district_key;
CREATE_VIEW(res_v_deel_ruimte, RES_BIBLIOTHEEK_PRIVILEGE)
(RES_DEEL_KEY,
ALG_RUIMTE_KEY,
RES_DEEL_ALG_LEVEL) AS
SELECT res_deel_key,
og.alg_ruimte_key,
res_deel_alg_level
FROM res_v_deel_onrgoed do, alg_v_aanwezigruimte og
WHERE res_deel_alg_level = -1
UNION
SELECT res_deel_key,
og.alg_ruimte_key,
res_deel_alg_level
FROM res_v_deel_onrgoed do, res_v_alg_onrgoed_keys og
WHERE res_deel_alg_level = 0
AND do.alg_regio_key = og.alg_regio_key
UNION
SELECT res_deel_key,
og.alg_ruimte_key,
res_deel_alg_level
FROM res_v_deel_onrgoed do, res_v_alg_onrgoed_keys og
WHERE res_deel_alg_level = 1
AND do.alg_district_key = og.alg_district_key
UNION
SELECT res_deel_key,
og.alg_ruimte_key,
res_deel_alg_level
FROM res_v_deel_onrgoed do, res_v_alg_onrgoed_keys og
WHERE res_deel_alg_level = 2
AND do.alg_locatie_key = og.alg_locatie_key
UNION
SELECT res_deel_key,
og.alg_ruimte_key,
res_deel_alg_level
FROM res_v_deel_onrgoed do, res_v_alg_onrgoed_keys og
WHERE res_deel_alg_level = 3
AND do.alg_gebouw_key = og.alg_gebouw_key
UNION
SELECT res_deel_key,
og.alg_ruimte_key,
res_deel_alg_level
FROM res_v_deel_onrgoed do, alg_v_onroerendgoed og
WHERE res_deel_alg_level = 4
AND do.alg_verdieping_key = og.alg_verdieping_key
UNION
SELECT res_deel_key,
og.alg_ruimte_key,
res_deel_alg_level
FROM res_v_deel_onrgoed do, res_v_alg_onrgoed_keys og
WHERE res_deel_alg_level = 5
AND do.alg_ruimte_key = og.alg_ruimte_key;
CREATE_VIEW(res_v_srtartikel_onrgoed, RES_BIBLIOTHEEK_PRIVILEGE)
( PRIO,
ALG_LOCATIE_KEY,
ALG_GEBOUW_KEY,
ALG_RUIMTE_KEY,
RES_DISCIPLINE_KEY) AS
SELECT 1,ra.alg_locatie_key,
ra.alg_gebouw_key,
ra.alg_ruimte_key,
res_discipline_key
FROM RES_SRTARTIKEL_ONRGOED og, res_v_alg_onrgoed_keys ra
WHERE og.alg_onrgoed_key = ra.alg_locatie_key
AND og.alg_onrgoed_niveau = 'L'
AND res_srtartikel_og_verwijder IS NULL
AND alg_ruimte_key IS NOT NULL
UNION
SELECT 2,ra.alg_locatie_key,
ra.alg_gebouw_key,
ra.alg_ruimte_key,
res_discipline_key
FROM RES_SRTARTIKEL_ONRGOED og, res_v_alg_onrgoed_keys ra
WHERE og.alg_onrgoed_key = ra.alg_gebouw_key
AND og.alg_onrgoed_niveau = 'G'
AND res_srtartikel_og_verwijder IS NULL
AND alg_ruimte_key IS NOT NULL
UNION
SELECT 3,ra.alg_locatie_key,
ra.alg_gebouw_key,
ra.alg_ruimte_key,
res_discipline_key
FROM RES_SRTARTIKEL_ONRGOED og, res_v_alg_onrgoed_keys ra
WHERE og.alg_onrgoed_key = ra.alg_ruimte_key
AND og.alg_onrgoed_niveau = 'R'
AND res_srtartikel_og_verwijder IS NULL
AND alg_ruimte_key IS NOT NULL;
CREATE_VIEW(res_v_srtartikel_ruimte, RES_BIBLIOTHEEK_PRIVILEGE)
( ALG_RUIMTE_KEY,
RES_DISCIPLINE_KEY ) AS
SELECT alg_ruimte_key,
res_discipline_key
FROM RES_V_SRTARTIKEL_ONRGOED o1
WHERE prio=(SELECT MAX(prio)
FROM RES_V_SRTARTIKEL_ONRGOED o2
WHERE o1.alg_ruimte_key=o2.alg_ruimte_key);
CREATE_VIEW(fac_v_my_res_rooms, RES_BIBLIOTHEEK_PRIVILEGE) AS
SELECT res_ruimte_key,
prs_perslid_key,
niveau
FROM fac_v_my_rooms fr, res_alg_ruimte ar
WHERE fr.alg_ruimte_key = ar.alg_ruimte_key
AND ar.res_alg_ruimte_verwijder IS NULL
UNION
SELECT res_ruimte_key, prs_perslid_key, -1
FROM res_v_aanwezigruimte, prs_v_aanwezigperslid;
CREATE_VIEW(fac_v_my_res_ruimte_read, RES_BIBLIOTHEEK_PRIVILEGE) AS
SELECT rr.res_ruimte_key,
fr.prs_perslid_key,
fac_functie_code
FROM res_v_aanwezigruimte rr, ins_tab_discipline d, fac_v_my_res_rooms fr,
fac_v_webgebruiker g, FAC_FUNCTIE f
WHERE rr.res_discipline_key = d.ins_discipline_key
AND rr.res_ruimte_key = fr.res_ruimte_key
AND fr.prs_perslid_key = g.prs_perslid_key
AND niveau = g.fac_gebruiker_alg_level_read
AND ins_discipline_min_level=3
AND d.ins_discipline_key = g.fac_gebruiker_kolomkey
AND f.fac_functie_key = g.fac_functie_key
AND g.fac_gebruiker_alg_level_read < 9;
CREATE_VIEW(fac_v_my_res_ruimte_read2, RES_BIBLIOTHEEK_PRIVILEGE) AS
SELECT rr.res_ruimte_key, fr.prs_perslid_key, g.fac_functie_key
FROM res_v_aanwezigruimte rr, ins_tab_discipline d, fac_v_my_res_rooms fr, fac_v_webgebruiker g
WHERE rr.res_discipline_key = d.ins_discipline_key
AND rr.res_ruimte_key = fr.res_ruimte_key
AND fr.prs_perslid_key = g.prs_perslid_key
AND niveau = g.fac_gebruiker_alg_level_read
AND ins_discipline_min_level = 3
AND d.ins_discipline_key = g.fac_gebruiker_kolomkey
AND g.fac_gebruiker_alg_level_read < 9;
CREATE_VIEW(fac_v_my_res_ruimte_write, RES_BIBLIOTHEEK_PRIVILEGE) AS
SELECT rr.res_ruimte_key,
fr.prs_perslid_key,
fac_functie_code
FROM res_v_aanwezigruimte rr, ins_tab_discipline d, fac_v_my_res_rooms fr,
fac_v_webgebruiker g, FAC_FUNCTIE f
WHERE rr.res_discipline_key = d.ins_discipline_key
AND rr.res_ruimte_key = fr.res_ruimte_key
AND fr.prs_perslid_key = g.prs_perslid_key
AND niveau = g.fac_gebruiker_alg_level_write
AND ins_discipline_min_level=3
AND d.ins_discipline_key = g.fac_gebruiker_kolomkey
AND f.fac_functie_key = g.fac_functie_key
AND g.fac_gebruiker_alg_level_write < 9;
CREATE_VIEW(fac_v_my_res_ruimte_write2, RES_BIBLIOTHEEK_PRIVILEGE) AS
SELECT rr.res_ruimte_key, fr.prs_perslid_key, g.fac_functie_key
FROM res_v_aanwezigruimte rr, ins_tab_discipline d, fac_v_my_res_rooms fr, fac_v_webgebruiker g
WHERE rr.res_discipline_key = d.ins_discipline_key
AND rr.res_ruimte_key = fr.res_ruimte_key
AND fr.prs_perslid_key = g.prs_perslid_key
AND niveau = g.fac_gebruiker_alg_level_write
AND ins_discipline_min_level = 3
AND d.ins_discipline_key = g.fac_gebruiker_kolomkey
AND g.fac_gebruiker_alg_level_write < 9;
CREATE_VIEW(res_v_deelscope, RES_NORMAAL_PRIVILEGE)
(res_deel_key,
res_deel_alg_level,
alg_regio_key,
alg_district_key,
alg_locatie_key,
alg_gebouw_key,
alg_verdieping_key,
alg_ruimte_key
)
AS
SELECT res_deel_key, res_deel_alg_level, to_number(NULL), to_number(NULL), to_number(NULL), to_number(NULL), to_number(NULL), to_number(NULL)
FROM res_deel rd, ins_deel ID, alg_locatie l, alg_district d
WHERE rd.res_ins_deel_key = ID.ins_deel_key
AND l.alg_district_key = d.alg_district_key
AND alg_locatie_key = ins_alg_locatie_key
AND ins_alg_ruimte_type IN ('R', 'T')
AND rd.res_deel_alg_level = -1
UNION ALL
SELECT res_deel_key, res_deel_alg_level, alg_regio_key, to_number(NULL), to_number(NULL), to_number(NULL), to_number(NULL), to_number(NULL)
FROM res_deel rd, ins_deel ID, alg_locatie l, alg_district d
WHERE rd.res_ins_deel_key = ID.ins_deel_key
AND l.alg_district_key = d.alg_district_key
AND alg_locatie_key = ins_alg_locatie_key
AND ins_alg_ruimte_type IN ('R', 'T')
AND rd.res_deel_alg_level = 0
UNION ALL
SELECT res_deel_key, res_deel_alg_level, to_number(NULL), alg_district_key, to_number(NULL), to_number(NULL), to_number(NULL), to_number(NULL)
FROM res_deel rd, ins_deel ID, alg_locatie l
WHERE rd.res_ins_deel_key = ID.ins_deel_key
AND alg_locatie_key = ins_alg_locatie_key
AND ins_alg_ruimte_type IN ('R', 'T')
AND rd.res_deel_alg_level = 1
UNION ALL
SELECT res_deel_key, res_deel_alg_level, to_number(NULL), to_number(NULL), ins_alg_locatie_key, to_number(NULL), to_number(NULL), to_number(NULL)
FROM res_deel rd, ins_deel ID
WHERE rd.res_ins_deel_key = ID.ins_deel_key
AND ins_alg_ruimte_type IN ('R', 'T')
AND rd.res_deel_alg_level = 2
UNION ALL
SELECT res_deel_key, res_deel_alg_level, to_number(NULL), to_number(NULL), to_number(NULL), alg_gebouw_key, to_number(NULL), to_number(NULL)
FROM res_deel rd, ins_deel ID, alg_ruimte r, alg_verdieping v
WHERE rd.res_ins_deel_key = ID.ins_deel_key
AND ID.ins_alg_ruimte_key = r.alg_ruimte_key
AND r.alg_verdieping_key = v.alg_verdieping_key
AND ins_alg_ruimte_type = 'R'
AND rd.res_deel_alg_level = 3
UNION ALL
SELECT res_deel_key, res_deel_alg_level, to_number(NULL), to_number(NULL), to_number(NULL), to_number(NULL), alg_verdieping_key, to_number(NULL)
FROM res_deel rd, ins_deel ID, alg_ruimte r
WHERE rd.res_ins_deel_key = ID.ins_deel_key
AND ID.ins_alg_ruimte_key = r.alg_ruimte_key
AND ins_alg_ruimte_type = 'R'
AND rd.res_deel_alg_level = 4
UNION ALL
SELECT res_deel_key, res_deel_alg_level, to_number(NULL), to_number(NULL), to_number(NULL), to_number(NULL), to_number(NULL), ins_alg_ruimte_key
FROM res_deel rd, ins_deel ID, alg_ruimte r
WHERE rd.res_ins_deel_key = ID.ins_deel_key
AND ins_alg_ruimte_type = 'R'
AND rd.res_deel_alg_level = 5;
CREATE_VIEW(res_v_res_dag_bezetting, RES_NORMAAL_PRIVILEGE)
( n0,n1,n2,n3,n4,n5,n6,n7,n8,n9, res_rsv_ruimte_van, res_rsv_ruimte_tot, res_ruimte_opstel_key,res_rsv_ruimte_verwijder, res_rsv_ruimte_key)
as
select nvl((select 1/4 from dual where res.van <= 8 and res.tot >= 8.25),0) +
nvl((select 1/4 from dual where res.van <= 8.25 and res.tot >= 8.5),0) +
nvl((select 1/4 from dual where res.van <= 8.5 and res.tot >= 8.75),0) +
nvl((select 1/4 from dual where res.van <= 8.75 and res.tot >= 9),0)n0,
nvl((select 1/4 from dual where res.van <= 9 and res.tot >= 9.25),0) +
nvl((select 1/4 from dual where res.van <= 9.25 and res.tot >= 9.5),0) +
nvl((select 1/4 from dual where res.van <= 9.5 and res.tot >= 9.75),0) +
nvl((select 1/4 from dual where res.van <= 9.75 and res.tot >= 10),0)n1,
nvl((select 1/4 from dual where res.van <= 10 and res.tot >= 10.25),0) +
nvl((select 1/4 from dual where res.van <= 10.25 and res.tot >= 10.5),0) +
nvl((select 1/4 from dual where res.van <= 10.5 and res.tot >= 10.75),0) +
nvl((select 1/4 from dual where res.van <= 10.75 and res.tot >= 11),0)n2,
nvl((select 1/4 from dual where res.van <= 11 and res.tot >= 11.25),0) +
nvl((select 1/4 from dual where res.van <= 11.25 and res.tot >= 11.5),0) +
nvl((select 1/4 from dual where res.van <= 11.5 and res.tot >= 11.75),0) +
nvl((select 1/4 from dual where res.van <= 11.75 and res.tot >= 12),0)n3,
nvl((select 1/4 from dual where res.van <= 12 and res.tot >= 12.25),0) +
nvl((select 1/4 from dual where res.van <= 12.25 and res.tot >= 12.5),0) +
nvl((select 1/4 from dual where res.van <= 12.5 and res.tot >= 12.75),0) +
nvl((select 1/4 from dual where res.van <= 12.75 and res.tot >= 13),0)n4,
nvl((select 1/4 from dual where res.van <= 13 and res.tot >= 13.25),0) +
nvl((select 1/4 from dual where res.van <= 13.25 and res.tot >= 13.5),0) +
nvl((select 1/4 from dual where res.van <= 13.5 and res.tot >= 13.75),0) +
nvl((select 1/4 from dual where res.van <= 13.75 and res.tot >= 14),0)n5,
nvl((select 1/4 from dual where res.van <= 14 and res.tot >= 14.25),0) +
nvl((select 1/4 from dual where res.van <= 14.25 and res.tot >= 14.5),0) +
nvl((select 1/4 from dual where res.van <= 14.5 and res.tot >= 14.75),0) +
nvl((select 1/4 from dual where res.van <= 14.75 and res.tot >= 15),0)n6,
nvl((select 1/4 from dual where res.van <= 15 and res.tot >= 15.25),0) +
nvl((select 1/4 from dual where res.van <= 15.25 and res.tot >= 15.5),0) +
nvl((select 1/4 from dual where res.van <= 15.5 and res.tot >= 15.75),0) +
nvl((select 1/4 from dual where res.van <= 15.75 and res.tot >= 16),0)n7,
nvl((select 1/4 from dual where res.van <= 16 and res.tot >= 16.25),0) +
nvl((select 1/4 from dual where res.van <= 16.25 and res.tot >= 16.5),0) +
nvl((select 1/4 from dual where res.van <= 16.5 and res.tot >= 16.75),0) +
nvl((select 1/4 from dual where res.van <= 16.75 and res.tot >= 17),0)n8,
nvl((select 1/4 from dual where res.van <= 17 and res.tot >= 17.25),0) +
nvl((select 1/4 from dual where res.van <= 17.25 and res.tot >= 17.5),0) +
nvl((select 1/4 from dual where res.van <= 17.5 and res.tot >= 17.75),0) +
nvl((select 1/4 from dual where res.van <= 17.75 and res.tot >= 18),0)n9
, res_rsv_ruimte_van, res_rsv_ruimte_tot, res_ruimte_opstel_key, res_rsv_ruimte_verwijder, res_rsv_ruimte_key
from
( select (res_rsv_ruimte_van - trunc(res_rsv_ruimte_van))*24 van, (res_rsv_ruimte_tot - trunc(res_rsv_ruimte_tot))*24 tot, trunc (res_rsv_ruimte_van), res_rsv_ruimte_van, res_rsv_ruimte_tot, res_ruimte_opstel_key, res_rsv_ruimte_verwijder, res_rsv_ruimte_key from res_rsv_ruimte ) res;
#endif // RES