Files
Database/PRS/PRS_VIE.SRC
Peter Feij 9949fdf9bc FSN#26947 perslidwerkplek_verwijder en werkplek_verwijder vervallen
svn path=/Database/trunk/; revision=19016
2013-09-06 16:03:27 +00:00

1582 lines
64 KiB
Plaintext

#ifdef PRS // 01-12-98 PF
/*
* $Revision$
* $Id$
*/
DEFINIEER_VIEW_AANWEZIG(prs_afdeling,
prs_afdeling_verwijder,
prs_v_aanwezigafdeling,
0);
DEFINIEER_VIEW_AANWEZIG(prs_srtperslid,
prs_srtperslid_verwijder,
prs_v_aanwezigsrtperslid,
0);
DEFINIEER_VIEW_AANWEZIG(prs_perslid,
prs_perslid_verwijder,
prs_v_aanwezigperslid,
0);
DEFINIEER_VIEW_AANWEZIG(prs_perslid,
prs_perslid_verwijder,
all_v_aanwezigperslid,
0);
DEFINIEER_VIEW_AANWEZIG(prs_ruimteafdeling,
prs_ruimteafdeling_verwijder,
prs_v_aanwezigruimteafdeling,
0);
DEFINIEER_VIEW_AANWEZIG(prs_kostenplaats,
prs_kostenplaats_verwijder,
prs_v_aanwezigkostenplaats,
0);
DEFINIEER_VIEW_AANWEZIG(prs_bedrijf,
prs_bedrijf_verwijder,
prs_v_aanwezigbedrijf,
0);
/* 24-07-96/KTH Alle bedrijven die UITVOERENDE zijn */
DEFINIEER_VIEW_AANWEZIG(prs_bedrijf,
prs_bedrijf_verwijder,
prs_v_uitvoerendebedrijf,
0) AND prs_bedrijf_uitvoerende = 1;
/* 24-07-96/KTH Alle bedrijven die LEVERANCIER zijn */
DEFINIEER_VIEW_AANWEZIG(prs_bedrijf,
prs_bedrijf_verwijder,
prs_v_leverancierbedrijf,
0) AND prs_bedrijf_leverancier = 1;
/* 24-07-96/KTH Alle bedrijven waamee een CONTRACT kan worden afgesloten */
DEFINIEER_VIEW_AANWEZIG(prs_bedrijf,
prs_bedrijf_verwijder,
prs_v_contractbedrijf,
0) AND prs_bedrijf_contract = 1;
DEFINIEER_VIEW_AANWEZIG(prs_kenmerk, prs_kenmerk_verwijder,
prs_v_aanwezigkenmerk,0);
DEFINIEER_VIEW_AANWEZIG(prs_kenmerkLink, prs_kenmerkLink_verwijder,
prs_v_aanwezigkenmerkLink,0);
CREATE_VIEW(prs_v_perslid_gegevens,0) AS
SELECT PRS_P.prs_perslid_key,
PRS_P.prs_perslid_naam,
PRS_P.prs_perslid_upper,
PRS_P.prs_perslid_voorletters,
PRS_P.prs_perslid_tussenvoegsel,
PRS_P.prs_perslid_voornaam,
PRS_P.prs_perslid_initialen,
PRS_P.prs_perslid_init_upper,
PRS_P.prs_perslid_nr,
PRS_P.prs_perslid_telefoonnr,
PRS_P.prs_perslid_email,
PRS_P.prs_perslid_mobiel,
PRS_P.prs_perslid_oslogin,
PRS_P.prs_afdeling_key,
PRS_A.prs_afdeling_naam,
PRS_A.prs_afdeling_upper,
PRS_A.prs_afdeling_omschrijving,
PRS_S.prs_srtperslid_omschrijving
FROM prs_v_aanwezigperslid PRS_P, prs_afdeling PRS_A,
prs_srtperslid PRS_S
WHERE PRS_P.prs_afdeling_key = PRS_A.prs_afdeling_key
AND PRS_P.prs_srtperslid_key = PRS_S.prs_srtperslid_key;
CREATE_VIEW (prs_v_perslid_print,0) AS
SELECT PRS_P.prs_perslid_key
,PRS_P.prs_perslid_naam
,PRS_P.prs_perslid_voorletters
,PRS_P.prs_perslid_tussenvoegsel
,PRS_P.prs_perslid_voornaam
,PRS_P.prs_perslid_initialen
,PRS_P.prs_perslid_nr
,PRS_A.prs_afdeling_naam
,PRS_P.prs_perslid_telefoonnr
,PRS_SP.prs_srtperslid_omschrijving
,k.prs_kostenplaats_nr AS prs_afdeling_kostenplaats
,k.prs_kostenplaats_nr
FROM prs_v_aanwezigperslid PRS_P
,prs_afdeling PRS_A
,prs_srtperslid PRS_SP
,prs_kostenplaats k
WHERE PRS_P.prs_afdeling_key = PRS_A.prs_afdeling_key
AND PRS_SP.prs_srtperslid_key(+) = PRS_P.prs_srtperslid_key
AND PRS_A.prs_kostenplaats_key=k.prs_kostenplaats_key;
CREATE_VIEW (prs_v_afdeling_perslid,0)
( prs_roerendgoed_key
, prs_roerendgoed_type
, prs_afdeling_key
, prs_afdeling_omschrijving
, prs_afdeling_upper
, prs_perslid_key
, prs_perslid_volnaam
, prs_perslid_upper
)
AS SELECT PRS_A.prs_afdeling_key , 'A'
, PRS_A.prs_afdeling_key
, PRS_A.prs_afdeling_omschrijving
, PRS_A.prs_afdeling_upper
, to_number(null), null, null
FROM prs_afdeling PRS_A
UNION
SELECT PRS_P.prs_perslid_key, 'P'
, PRS_A.prs_afdeling_key
, PRS_A.prs_afdeling_omschrijving
, PRS_A.prs_afdeling_upper
, PRS_P.prs_perslid_key
, PRS_P.prs_perslid_naam || decode(PRS_P.prs_perslid_titel || PRS_P.prs_perslid_voorletters,null,null,',')
|| decode(PRS_P.prs_perslid_titel ,null,null,' '|| PRS_P.prs_perslid_titel)
|| decode(PRS_P.prs_perslid_voorletters,null,null,' '|| PRS_P.prs_perslid_voorletters)
, PRS_P.prs_perslid_upper
FROM prs_perslid PRS_P
, prs_afdeling PRS_A
WHERE PRS_P.prs_afdeling_key = PRS_A.prs_afdeling_key;
CREATE_VIEW(PRS_V_PERSLID_FULLNAMES, 0) AS
SELECT prs_perslid_key,
prs_perslid_naam||DECODE(p.prs_perslid_voorletters,null,'',', '||p.prs_perslid_voorletters)
||DECODE(p.prs_perslid_tussenvoegsel,null,'',' '||p.prs_perslid_tussenvoegsel)
||DECODE(p.prs_perslid_voornaam,null,'',' ('||p.prs_perslid_voornaam||')') prs_perslid_naam_full
FROM prs_v_aanwezigperslid p;
// FSN#546
CREATE_VIEW(PRS_V_PERSLID_FULLNAMES_ALL, 0) AS
SELECT prs_perslid_key,
prs_perslid_naam||DECODE(p.prs_perslid_voorletters,null,'',', '||p.prs_perslid_voorletters)
||DECODE(p.prs_perslid_tussenvoegsel,null,'',' '||p.prs_perslid_tussenvoegsel)
||DECODE(p.prs_perslid_voornaam,null,'',' ('||p.prs_perslid_voornaam||')') prs_perslid_naam_full
FROM prs_perslid p;
CREATE_VIEW (prs_v_afdeling_boom, 0)
( niveau,
prs_bedrijf_key,
prs_afdeling_key,
prs_afdeling_key1,
prs_afdeling_key2,
prs_afdeling_key3,
prs_afdeling_key4,
prs_afdeling_key5) AS
SELECT '1' Niveau,
a1.prs_bedrijf_key,
a1.prs_afdeling_key,
a1.prs_afdeling_key,
TO_NUMBER(NULL),
TO_NUMBER(NULL),
TO_NUMBER(NULL),
TO_NUMBER(NULL)
FROM prs_afdeling a1
WHERE a1.prs_afdeling_parentkey IS NULL
UNION
SELECT '2' Niveau,
a1.prs_bedrijf_key,
a2.prs_afdeling_key,
a1.prs_afdeling_key,
a2.prs_afdeling_key,
TO_NUMBER(NULL),
TO_NUMBER(NULL),
TO_NUMBER(NULL)
FROM prs_afdeling a1, prs_afdeling a2
WHERE a2.prs_afdeling_parentkey=a1.prs_afdeling_key
AND a1.prs_afdeling_parentkey IS NULL
UNION
SELECT '3' Niveau,
a1.prs_bedrijf_key,
a3.prs_afdeling_key,
a1.prs_afdeling_key,
a2.prs_afdeling_key,
a3.prs_afdeling_key,
TO_NUMBER(NULL),
TO_NUMBER(NULL)
FROM prs_afdeling a1, prs_afdeling a2, prs_afdeling a3
WHERE a2.prs_afdeling_parentkey=a1.prs_afdeling_key
AND a3.prs_afdeling_parentkey=a2.prs_afdeling_key
AND a1.prs_afdeling_parentkey IS NULL
UNION
SELECT '4' Niveau,
a1.prs_bedrijf_key,
a4.prs_afdeling_key,
a1.prs_afdeling_key,
a2.prs_afdeling_key,
a3.prs_afdeling_key,
a4.prs_afdeling_key,
TO_NUMBER(NULL)
FROM prs_afdeling a1, prs_afdeling a2, prs_afdeling a3, prs_afdeling a4
WHERE a2.prs_afdeling_parentkey=a1.prs_afdeling_key
AND a3.prs_afdeling_parentkey=a2.prs_afdeling_key
AND a4.prs_afdeling_parentkey=a3.prs_afdeling_key
AND a1.prs_afdeling_parentkey IS NULL
UNION
SELECT '5' Niveau,
a1.prs_bedrijf_key,
a5.prs_afdeling_key,
a1.prs_afdeling_key,
a2.prs_afdeling_key,
a3.prs_afdeling_key,
a4.prs_afdeling_key,
a5.prs_afdeling_key
FROM prs_afdeling a1, prs_afdeling a2, prs_afdeling a3, prs_afdeling a4, prs_afdeling a5
WHERE a2.prs_afdeling_parentkey=a1.prs_afdeling_key
AND a3.prs_afdeling_parentkey=a2.prs_afdeling_key
AND a4.prs_afdeling_parentkey=a3.prs_afdeling_key
AND a5.prs_afdeling_parentkey=a4.prs_afdeling_key
AND a1.prs_afdeling_parentkey IS NULL;
CREATE_VIEW(prs_v_afdeling_fullnames, 0)
( NIVEAU,
PRS_AFDELING_KEY,
PRS_AFDELING_NAAM,
PRS_AFDELING_NAAM1,
PRS_AFDELING_NAAM2,
PRS_AFDELING_NAAM3,
PRS_AFDELING_NAAM4,
PRS_AFDELING_NAAM5,
PRS_AFDELING_NAAM6,
PRS_BEDRIJF_KEY ) AS
SELECT 1,
a1.prs_afdeling_key,
a1.prs_afdeling_naam,
a1.prs_afdeling_naam || ' [' || a1.prs_afdeling_omschrijving || ']',
a1.prs_afdeling_naam,
a1.prs_afdeling_omschrijving,
a1.prs_afdeling_omschrijving,
a1.prs_afdeling_omschrijving,
a1.prs_afdeling_naam || '-' || a1.prs_afdeling_omschrijving,
a1.prs_bedrijf_key
FROM PRS_AFDELING a1
WHERE a1.prs_afdeling_parentkey IS NULL
UNION ALL
SELECT 2,
a2.prs_afdeling_key,
a2.prs_afdeling_omschrijving,
a1.prs_afdeling_naam || '-' || a2.prs_afdeling_omschrijving,
a1.prs_afdeling_naam || '-' || a2.prs_afdeling_naam,
a2.prs_afdeling_naam,
a2.prs_afdeling_omschrijving || ' [' || a1.prs_afdeling_omschrijving || ']',
a2.prs_afdeling_omschrijving || ' [' || a1.prs_afdeling_omschrijving || ']',
a2.prs_afdeling_naam || '-' || a2.prs_afdeling_omschrijving,
a1.prs_bedrijf_key
FROM PRS_AFDELING a1, PRS_AFDELING a2
WHERE a2.prs_afdeling_parentkey = a1.prs_afdeling_key
AND a1.prs_afdeling_parentkey is NULL
UNION ALL
SELECT 3,
a3.prs_afdeling_key,
a3.prs_afdeling_omschrijving,
a1.prs_afdeling_naam || '-' || a2.prs_afdeling_naam || '-' || a3.prs_afdeling_omschrijving,
a1.prs_afdeling_naam || '-' || a2.prs_afdeling_naam || '-' || a3.prs_afdeling_naam,
a3.prs_afdeling_naam,
a3.prs_afdeling_omschrijving || ' [' || a1.prs_afdeling_omschrijving || ']',
a3.prs_afdeling_omschrijving || ' [' || a1.prs_afdeling_naam || '-' || a2.prs_afdeling_naam || ']',
a3.prs_afdeling_naam || '-' || a3.prs_afdeling_omschrijving,
a1.prs_bedrijf_key
FROM PRS_AFDELING a1, PRS_AFDELING a2, PRS_AFDELING a3
WHERE a3.prs_afdeling_parentkey = a2.prs_afdeling_key
AND a2.prs_afdeling_parentkey = a1.prs_afdeling_key
AND a1.prs_afdeling_parentkey is NULL
UNION ALL
SELECT 4,
a4.prs_afdeling_key,
a4.prs_afdeling_omschrijving,
a1.prs_afdeling_naam || '-' || a2.prs_afdeling_naam || '-' || a3.prs_afdeling_naam || '-' || a4.prs_afdeling_omschrijving,
a1.prs_afdeling_naam || '-' || a2.prs_afdeling_naam || '-' || a3.prs_afdeling_naam || '-' || a4.prs_afdeling_naam,
a4.prs_afdeling_naam,
a4.prs_afdeling_omschrijving || ' [' || a1.prs_afdeling_omschrijving || ']',
a4.prs_afdeling_omschrijving || ' [' || a1.prs_afdeling_naam || '-' || a2.prs_afdeling_naam || '-' || a3.prs_afdeling_naam || ']',
a4.prs_afdeling_naam || '-' || a4.prs_afdeling_omschrijving,
a1.prs_bedrijf_key
FROM PRS_AFDELING a1, PRS_AFDELING a2, PRS_AFDELING a3, PRS_AFDELING a4
WHERE a4.prs_afdeling_parentkey = a3.prs_afdeling_key
AND a3.prs_afdeling_parentkey = a2.prs_afdeling_key
AND a2.prs_afdeling_parentkey = a1.prs_afdeling_key
AND a1.prs_afdeling_parentkey is NULL
UNION ALL
SELECT 5,
a5.prs_afdeling_key,
a5.prs_afdeling_omschrijving,
a1.prs_afdeling_naam || '-' || a2.prs_afdeling_naam || '-' || a3.prs_afdeling_naam || '-' || a4.prs_afdeling_naam || '-' || a5.prs_afdeling_omschrijving,
a1.prs_afdeling_naam || '-' || a2.prs_afdeling_naam || '-' || a3.prs_afdeling_naam || '-' || a4.prs_afdeling_naam || '-' || a5.prs_afdeling_naam,
a5.prs_afdeling_naam,
a5.prs_afdeling_omschrijving || ' [' || a1.prs_afdeling_omschrijving || ']',
a5.prs_afdeling_omschrijving || ' [' || a1.prs_afdeling_naam || '-' || a2.prs_afdeling_naam || '-' || a3.prs_afdeling_naam || '-' || a4.prs_afdeling_naam || ']',
a5.prs_afdeling_naam || '-' || a5.prs_afdeling_omschrijving,
a1.prs_bedrijf_key
FROM PRS_AFDELING a1, PRS_AFDELING a2, PRS_AFDELING a3, PRS_AFDELING a4, PRS_AFDELING a5
WHERE a5.prs_afdeling_parentkey = a4.prs_afdeling_key
AND a4.prs_afdeling_parentkey = a3.prs_afdeling_key
AND a3.prs_afdeling_parentkey = a2.prs_afdeling_key
AND a2.prs_afdeling_parentkey = a1.prs_afdeling_key
AND a1.prs_afdeling_parentkey is NULL;
CREATE_VIEW (PRS_V_AFDELING_BOOM21, 0 )
(PRS_AFDELING_KEY1)
AS
SELECT a1.prs_afdeling_key
FROM prs_afdeling a1
WHERE a1.prs_afdeling_parentkey IS NULL;
CREATE_VIEW (PRS_V_AFDELING_BOOM22, 0 )
(PRS_AFDELING_KEY1, PRS_AFDELING_KEY2)
AS
SELECT a1.prs_afdeling_key, a2.prs_afdeling_key
FROM prs_afdeling a1, prs_afdeling a2
WHERE a2.prs_afdeling_parentkey = a1.prs_afdeling_key
AND a1.prs_afdeling_parentkey IS NULL;
CREATE_VIEW (PRS_V_AFDELING_BOOM23, 0 )
(PRS_AFDELING_KEY1, PRS_AFDELING_KEY2, PRS_AFDELING_KEY3)
AS
SELECT
a1.prs_afdeling_key,
a2.prs_afdeling_key,
a3.prs_afdeling_key
FROM prs_afdeling a1, prs_afdeling a2, prs_afdeling a3
WHERE a2.prs_afdeling_parentkey=a1.prs_afdeling_key
AND a3.prs_afdeling_parentkey=a2.prs_afdeling_key
AND a1.prs_afdeling_parentkey IS NULL;
CREATE_VIEW (PRS_V_AFDELING_BOOM24, 0)
(PRS_AFDELING_KEY1, PRS_AFDELING_KEY2, PRS_AFDELING_KEY3, PRS_AFDELING_KEY4)
AS
SELECT a1.prs_afdeling_key,
a2.prs_afdeling_key,
a3.prs_afdeling_key,
a4.prs_afdeling_key
FROM prs_afdeling a1, prs_afdeling a2, prs_afdeling a3, prs_afdeling a4
WHERE a2.prs_afdeling_parentkey=a1.prs_afdeling_key
AND a3.prs_afdeling_parentkey=a2.prs_afdeling_key
AND a4.prs_afdeling_parentkey=a3.prs_afdeling_key
AND a1.prs_afdeling_parentkey IS NULL;
CREATE_VIEW (PRS_V_AFDELING_BOOM25, 0 )
(PRS_AFDELING_KEY1, PRS_AFDELING_KEY2, PRS_AFDELING_KEY3, PRS_AFDELING_KEY4, PRS_AFDELING_KEY5)
AS
SELECT
a1.prs_afdeling_key,
a2.prs_afdeling_key,
a3.prs_afdeling_key,
a4.prs_afdeling_key,
a5.prs_afdeling_key
FROM prs_afdeling a1, prs_afdeling a2, prs_afdeling a3, prs_afdeling a4, prs_afdeling a5
WHERE a2.prs_afdeling_parentkey=a1.prs_afdeling_key
AND a3.prs_afdeling_parentkey=a2.prs_afdeling_key
AND a4.prs_afdeling_parentkey=a3.prs_afdeling_key
AND a5.prs_afdeling_parentkey=a4.prs_afdeling_key
AND a1.prs_afdeling_parentkey IS NULL;
CREATE_VIEW (prs_v_afdeling_familie, 0 )
(PRS_AFDELING_KEY, PRS_AFDELING_ELDER_KEY, NIVEAU)
AS
SELECT prs_afdeling_key5 prs_afdeling_key,
prs_afdeling_key5 prs_afdeling_elder_key, 5 niveau
FROM prs_v_afdeling_boom25
UNION ALL
SELECT prs_afdeling_key5, prs_afdeling_key4, 4
FROM prs_v_afdeling_boom25
UNION ALL
SELECT prs_afdeling_key5, prs_afdeling_key3, 3
FROM prs_v_afdeling_boom25
UNION ALL
SELECT prs_afdeling_key5, prs_afdeling_key2, 2
FROM prs_v_afdeling_boom25
UNION ALL
SELECT prs_afdeling_key5, prs_afdeling_key1, 1
FROM prs_v_afdeling_boom25
UNION ALL
SELECT prs_afdeling_key4, prs_afdeling_key4, 4
FROM prs_v_afdeling_boom24
UNION ALL
SELECT prs_afdeling_key4, prs_afdeling_key3, 3
FROM prs_v_afdeling_boom24
UNION ALL
SELECT prs_afdeling_key4, prs_afdeling_key2, 2
FROM prs_v_afdeling_boom24
UNION ALL
SELECT prs_afdeling_key4, prs_afdeling_key1, 1
FROM prs_v_afdeling_boom24
UNION ALL
SELECT prs_afdeling_key3, prs_afdeling_key3, 3
FROM prs_v_afdeling_boom23
UNION ALL
SELECT prs_afdeling_key3, prs_afdeling_key2, 2
FROM prs_v_afdeling_boom23
UNION ALL
SELECT prs_afdeling_key3, prs_afdeling_key1, 1
FROM prs_v_afdeling_boom23
UNION ALL
SELECT prs_afdeling_key2, prs_afdeling_key2, 2
FROM prs_v_afdeling_boom22
UNION ALL
SELECT prs_afdeling_key2, prs_afdeling_key1, 1
FROM prs_v_afdeling_boom22
UNION ALL
SELECT prs_afdeling_key1, prs_afdeling_key1, 1
FROM prs_v_afdeling_boom21 ;
--
--
CREATE_VIEW(prs_v_afdeling, 0)
( prs_afdeling_key,
prs_afdeling_parentkey,
prs_afdeling_naam,
prs_afdeling_naam1,
prs_afdeling_naam2,
prs_afdeling_naam3,
prs_afdeling_naam4,
prs_afdeling_naam5,
prs_afdeling_naam6,
prs_afdeling_upper,
prs_afdeling_omschrijving,
prs_kostenplaats_key,
mld_adres_key,
prs_afdeling_aanmaak,
prs_afdeling_verwijder,
prs_bedrijf_key,
niveau ) AS
SELECT a.prs_afdeling_key,
a.prs_afdeling_parentkey,
b.prs_afdeling_naam,
b.prs_afdeling_naam1,
b.prs_afdeling_naam2,
b.prs_afdeling_naam3,
b.prs_afdeling_naam4,
b.prs_afdeling_naam5,
b.prs_afdeling_naam6,
UPPER(a.prs_afdeling_naam) prs_afdeling_upper,
a.prs_afdeling_omschrijving,
a.prs_kostenplaats_key,
a.mld_adres_key,
a.prs_afdeling_aanmaak,
a.prs_afdeling_verwijder,
b.prs_bedrijf_key,
b.niveau
FROM prs_afdeling a, prs_v_afdeling_fullnames b
WHERE a.prs_afdeling_key=b.prs_afdeling_key;
-- NB: dit is een overrule!
DEFINIEER_VIEW_AANWEZIG(prs_v_afdeling,
prs_afdeling_verwijder,
prs_v_aanwezigafdeling,
0);
CREATE_VIEW (prs_v_prs_kostenplaats_info, 0)
(kpn_nummer,
kpn_omschrijving,
fclt_f_kpn_budgethouder,
fclt_f_kpn_groep_omschrijving,
fclt_f_kpn_groep_verantw
)
AS
SELECT prs_kostenplaats_nr kpn_nummer,
prs_kostenplaats_omschrijving kpn_omschrijving,
pf1.prs_perslid_naam_full kpn_budgethouder,
kpg.prs_kostenplaatsgrp_oms kpn_groep_omschrijving,
pf2.prs_perslid_naam_full kpn_groep_verantw
FROM prs_v_aanwezigkostenplaats kp,
prs_v_perslid_fullnames pf1,
prs_v_perslid_fullnames pf2,
prs_kostenplaatsgrp kpg
WHERE kp.prs_perslid_key = pf1.prs_perslid_key(+)
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)
AND kpg.prs_perslid_key = pf2.prs_perslid_key(+);
/* tbv overzicht My Facilities op (o.a) portal LETOP: het verschil tussen UNION/UNION ALL is van belang */
/* JGL OBSOLETE!! */
CREATE_VIEW (prs_v_lopendezaken, 0)
( prs_perslid_key,
item,
item_key,
xmlnode,
datum,
oms,
voortgang
)
AS
SELECT m.prs_perslid_key,
isd.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key),
m.mld_melding_key,
'melding',
m.mld_melding_einddatum,
id.ins_discipline_omschrijving,
(SELECT mld_statuses_omschrijving
FROM mld_statuses
WHERE mld_statuses_key = m.mld_melding_status)
FROM mld_melding m, mld_stdmelding std, ins_srtdiscipline isd, ins_tab_discipline id
WHERE id.ins_srtdiscipline_key = isd.ins_srtdiscipline_key
AND m.mld_stdmelding_key = std.mld_stdmelding_key
AND std.mld_ins_discipline_key = id.ins_discipline_key
AND m.fac_activiteit_key IS NULL
AND (m.mld_workflowstep_key IS NULL OR mld_melding_start_key = mld_melding_key)
AND m.mld_melding_status IN (2, 3, 4, 7)
UNION ALL
SELECT b.prs_perslid_key,
TO_CHAR (bes_bestelling_key),
bes_bestelling_key,
'bestelling',
b.bes_bestelling_leverdatum,
(SELECT MIN (ins_discipline_omschrijving)
FROM bes_discipline
WHERE ins_discipline_key IN
(SELECT ins_discipline_key
FROM bes_srtgroep sg, bes_srtdeel sd, bes_bestelling_item bi
WHERE sd.bes_srtgroep_key = sg.bes_srtgroep_key
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
AND bi.bes_bestelling_key = b.bes_bestelling_key))
oms,
(SELECT bes_bestellingstatuses_omschr
FROM bes_bestellingstatuses
WHERE bes_bestellingstatuses_key = b.bes_bestelling_status)
FROM bes_bestelling b
WHERE b.bes_bestelling_status IN (5, 4, 3, 2)
AND b.fac_activiteit_key IS NULL
UNION ALL
SELECT ins_alg_ruimte_key,
ins_deel_omschrijving,
ins_deel_key,
'deel',
d.ins_deel_aanmaak,
sd.ins_srtdeel_omschrijving,
''
FROM ins_v_aanwezigdeel d, ins_srtdeel sd
WHERE d.ins_alg_ruimte_type = 'P'
AND sd.ins_srtdeel_key = d.ins_srtdeel_key
AND ins_alg_ruimte_key_org IS NOT NULL -- geleend
UNION ALL
SELECT rr.res_rsv_ruimte_host_key,
TO_CHAR (rr.res_reservering_key) || '/' || rr.res_rsv_ruimte_volgnr,
rr.res_rsv_ruimte_key,
'reservering',
rr.res_rsv_ruimte_van,
COALESCE (rr.res_rsv_ruimte_omschrijving, (SELECT ra.res_activiteit_omschrijving
FROM res_activiteit ra
WHERE res_activiteit_key = rr.res_activiteit_key)),
DECODE (res_rsv_ruimte_dirtlevel,
0, (SELECT s.res_status_fo_omschrijving
FROM res_status_fo s
WHERE s.res_status_fo_key = rr.res_status_fo_key),
'lcl_res_status_dirty'
)
FROM res_v_aanwezigrsv_ruimte rr
WHERE rr.res_status_bo_key IN (4, 3, 2, 7)
UNION
SELECT rr.res_rsv_ruimte_contact_key,
TO_CHAR (rr.res_reservering_key) || '/' || rr.res_rsv_ruimte_volgnr,
rr.res_rsv_ruimte_key,
'reservering',
rr.res_rsv_ruimte_van,
COALESCE (rr.res_rsv_ruimte_omschrijving, (SELECT ra.res_activiteit_omschrijving
FROM res_activiteit ra
WHERE res_activiteit_key = rr.res_activiteit_key)),
DECODE (res_rsv_ruimte_dirtlevel,
0, (SELECT s.res_status_fo_omschrijving
FROM res_status_fo s
WHERE s.res_status_fo_key = rr.res_status_fo_key),
'lcl_res_status_dirty'
)
FROM res_v_aanwezigrsv_ruimte rr
WHERE rr.res_status_bo_key IN (4, 3, 2, 7)
UNION ALL -- TODO: dirtlevel van de onderliggenden bepalen
SELECT rr.res_rsv_ruimte_host_key,
TO_CHAR (rr.res_reservering_key) || '/' || rr.res_rsv_ruimte_volgnr,
rr.res_rsv_ruimte_key,
'reservering',
rr.res_rsv_ruimte_van,
COALESCE (rr.res_rsv_ruimte_omschrijving, (SELECT ra.res_activiteit_omschrijving
FROM res_activiteit ra
WHERE res_activiteit_key = rr.res_activiteit_key)),
DECODE (res_rsv_ruimte_dirtlevel + res_rsv_deel_dirtlevel,
0, (SELECT s.res_status_fo_omschrijving
FROM res_status_fo s
WHERE s.res_status_fo_key = rr.res_status_fo_key),
'lcl_res_status_dirty'
)
FROM res_v_aanwezigrsv_ruimte rr, res_v_aanwezigrsv_deel dd
WHERE rr.res_status_bo_key IS NULL AND dd.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
UNION -- TODO: dirtlevel van de onderliggenden bepalen
SELECT rr.res_rsv_ruimte_contact_key,
TO_CHAR (rr.res_reservering_key) || '/' || rr.res_rsv_ruimte_volgnr,
rr.res_rsv_ruimte_key,
'reservering',
rr.res_rsv_ruimte_van,
COALESCE (rr.res_rsv_ruimte_omschrijving, (SELECT ra.res_activiteit_omschrijving
FROM res_activiteit ra
WHERE res_activiteit_key = rr.res_activiteit_key)),
DECODE (res_rsv_ruimte_dirtlevel + res_rsv_deel_dirtlevel,
0, (SELECT s.res_status_fo_omschrijving
FROM res_status_fo s
WHERE s.res_status_fo_key = rr.res_status_fo_key),
'lcl_res_status_dirty'
)
FROM res_v_aanwezigrsv_ruimte rr, res_v_aanwezigrsv_deel dd
WHERE rr.res_status_bo_key IS NULL AND dd.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
UNION ALL
SELECT a.bez_afspraak_contact_key,
TO_CHAR (b.bez_afspraak_key),
b.bez_afspraak_key,
'afspraak',
a.bez_afspraak_datum datum,
b.bez_afspraak_naam
|| (CASE WHEN bez_afspraak_bedrijf IS NOT NULL THEN ' (' || bez_afspraak_bedrijf || ')' END),
(CASE WHEN bez_bezoekers_done IS NOT NULL THEN 'lcl_vis_inside_st' ELSE 'lcl_vis_expected_st' END)
FROM bez_bezoekers b, bez_afspraak a
WHERE b.bez_afspraak_key = a.bez_afspraak_key AND bez_bezoekers_out IS NULL
UNION
SELECT a.bez_afspraak_host_key,
TO_CHAR (b.bez_afspraak_key),
b.bez_afspraak_key,
'afspraak',
a.bez_afspraak_datum datum,
b.bez_afspraak_naam
|| (CASE WHEN bez_afspraak_bedrijf IS NOT NULL THEN ' (' || bez_afspraak_bedrijf || ')' END),
(CASE WHEN bez_bezoekers_done IS NOT NULL THEN 'lcl_vis_inside_st' ELSE 'lcl_vis_expected_st' END)
FROM bez_bezoekers b, bez_afspraak a
WHERE b.bez_afspraak_key = a.bez_afspraak_key AND bez_bezoekers_out IS NULL;
/* Views voor de HOOFDwerkplek van persleden */
-- Deze is veel sneller dan de eropvolgende, dus die gebruiken als je alleen de hwp nodig hebt
CREATE_VIEW(prs_v_hoofdperslidwerkplek2, 0)
(
prs_perslid_key,
prs_werkplek_key,
aantal
)
AS
SELECT prs_perslid_key, pwp.prs_werkplek_key, 1
FROM prs_perslidwerkplek pwp, prs_werkplek wp
WHERE pwp.prs_werkplek_key = wp.prs_werkplek_key
AND wp.prs_werkplek_virtueel = 0
AND NOT EXISTS
(SELECT ''
FROM prs_perslidwerkplek pwp2, prs_werkplek wp2
WHERE pwp.prs_perslid_key = pwp2.prs_perslid_key
AND pwp2.prs_werkplek_key = wp2.prs_werkplek_key
AND wp2.prs_werkplek_virtueel = 0
AND pwp.prs_werkplek_key <> pwp2.prs_werkplek_key
AND COALESCE (pwp2.prs_perslidwerkplek_volgnr, 10000 + pwp2.prs_perslidwerkplek_key) <
COALESCE (pwp.prs_perslidwerkplek_volgnr, 10000 + pwp.prs_perslidwerkplek_key));
CREATE_VIEW(prs_v_hoofdperslidwerkplek, 0)
AS
SELECT prs_perslid_key,
MAX (pwp.prs_werkplek_key) prs_werkplek_key,
1 aantal
FROM prs_perslidwerkplek pwp, prs_werkplek wp
WHERE pwp.prs_werkplek_key = wp.prs_werkplek_key
AND wp.prs_werkplek_virtueel = 0
GROUP BY prs_perslid_key
HAVING COUNT (pwp.prs_werkplek_key) = 1
UNION ALL
SELECT prs_perslid_key, pwp.prs_werkplek_key, 2
FROM prs_perslidwerkplek pwp, prs_werkplek wp
WHERE pwp.prs_werkplek_key = wp.prs_werkplek_key
AND wp.prs_werkplek_virtueel = 0
AND NOT EXISTS
(SELECT ''
FROM prs_perslidwerkplek pwp2, prs_werkplek wp2
WHERE pwp.prs_perslid_key = pwp2.prs_perslid_key
AND pwp2.prs_werkplek_key = wp2.prs_werkplek_key
AND wp2.prs_werkplek_virtueel = 0
AND pwp.prs_werkplek_key <> pwp2.prs_werkplek_key
AND COALESCE (pwp2.prs_perslidwerkplek_volgnr, 10000+pwp2.prs_perslidwerkplek_key) <
COALESCE (pwp.prs_perslidwerkplek_volgnr, 10000+pwp.prs_perslidwerkplek_key))
AND NOT EXISTS
( SELECT prs_perslid_key
FROM prs_perslidwerkplek pwp3, prs_werkplek wp3
WHERE pwp3.prs_werkplek_key = wp3.prs_werkplek_key
AND wp3.prs_werkplek_virtueel = 0
AND pwp3.prs_perslid_key = pwp.prs_perslid_key
GROUP BY prs_perslid_key
HAVING COUNT (pwp3.prs_werkplek_key) = 1);
CREATE_VIEW(prs_v_werkplek_gegevens,0)
( prs_werkplek_key
, prs_werkplek_volgnr
, prs_werkplek_omschrijving
, prs_werkplek_opp
, prs_werkplek_module
, prs_werkplek_virtueel
, prs_werkplek_type
, alg_ruimte_key
, alg_ruimte_nr
, alg_ruimte_upper_nr
, alg_ruimte_bruto_vloeropp
, alg_verdieping_key
, alg_verdieping_code
, alg_verdieping_volgnr
, alg_verdieping_omschrijving
, alg_gebouw_key
, alg_gebouw_code
, alg_gebouw_omschrijving
, alg_gebouw_upper
, alg_locatie_key
, alg_locatie_code
, alg_ruimte_aanduiding
, prs_werkplek_aanduiding
, prs_werkplek_getekend
, alg_ruimte_omschrijving
, prs_werkplek_vastopp )
AS SELECT PRS_W.prs_werkplek_key
, PRS_W.prs_werkplek_volgnr
, PRS_W.prs_werkplek_omschrijving
, PRS_W.prs_werkplek_opp
, PRS_W.prs_werkplek_module
, PRS_W.prs_werkplek_virtueel
, PRS_W.prs_werkplek_type
, ALG_R.alg_ruimte_key
, ALG_R.alg_ruimte_nr
, ALG_R.alg_ruimte_upper_nr
, ALG_R.alg_ruimte_bruto_vloeropp
, ALG_V.alg_verdieping_key
, ALG_V.alg_verdieping_code
, ALG_V.alg_verdieping_volgnr
, ALG_V.alg_verdieping_omschrijving
, ALG_G.alg_gebouw_key
, ALG_G.alg_gebouw_code
, ALG_G.alg_gebouw_omschrijving
, ALG_G.alg_gebouw_upper
, ALG_G.alg_locatie_key
, ALG_L.alg_locatie_code
, ALG_G.alg_gebouw_code ||'-'
|| ALG_V.alg_verdieping_code ||'-'
|| ALG_R.alg_ruimte_nr
, ALG_L.alg_locatie_code ||'-'
|| ALG_G.alg_gebouw_code ||'-'
|| ALG_V.alg_verdieping_code ||'-'
|| ALG_R.alg_ruimte_nr ||'/'
|| to_char(PRS_W.prs_werkplek_volgnr)
, PRS_W.prs_werkplek_getekend
, ALG_R.alg_ruimte_omschrijving
, PRS_W.prs_werkplek_vastopp
FROM prs_werkplek PRS_W
, alg_ruimte ALG_R
, alg_verdieping ALG_V
, alg_gebouw ALG_G
, alg_locatie ALG_L
WHERE ALG_R.alg_verdieping_key = ALG_V.alg_verdieping_key
AND ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key
AND PRS_W.prs_alg_ruimte_key = ALG_R.alg_ruimte_key
AND ALG_G.alg_locatie_key = ALG_L.alg_locatie_key;
/* View om te bepalen wat het totale bezettingspercentage van een werkplek is */
CREATE_VIEW(prs_v_werkplek_bezetting, 0)
(prs_werkplek_key,
prs_werkplek_bezetting) AS
SELECT PRS_W.prs_werkplek_key,
NVL(SUM(PRS_PW.prs_perslidwerkplek_bezetting), 0)
FROM prs_werkplek PRS_W,
prs_perslidwerkplek PRS_PW
WHERE PRS_W.prs_werkplek_key = PRS_PW.prs_werkplek_key (+)
GROUP BY PRS_W.prs_werkplek_key;
/* View om alle werkplekken te koppelen aan persleden, met outerjoin. */
CREATE_VIEW(prs_v_perslidwerkplek_gegevens, 0)
(prs_werkplek_key,
prs_werkplek_volgnr,
prs_werkplek_omschrijving,
prs_werkplek_opp,
prs_werkplek_aanduiding,
prs_werkplek_virtueel,
alg_ruimte_key,
alg_ruimte_nr,
alg_ruimte_upper_nr,
alg_verdieping_key,
alg_verdieping_code,
alg_verdieping_volgnr,
alg_verdieping_omschrijving,
alg_gebouw_key,
alg_gebouw_code,
alg_gebouw_omschrijving,
alg_gebouw_upper,
alg_locatie_key,
prs_perslidwerkplek_key,
prs_afdeling_key,
prs_perslid_key,
prs_afd_perslid_naam,
prs_afd_perslid_upper,
prs_perslidwerkplek_bezetting)
AS
SELECT prs_w.prs_werkplek_key, prs_w.prs_werkplek_volgnr, prs_w.prs_werkplek_omschrijving, prs_w.prs_werkplek_opp,
prs_w.prs_werkplek_aanduiding, prs_w.prs_werkplek_virtueel, prs_w.alg_ruimte_key, prs_w.alg_ruimte_nr,
prs_w.alg_ruimte_upper_nr, prs_w.alg_verdieping_key, prs_w.alg_verdieping_code, prs_w.alg_verdieping_volgnr,
prs_w.alg_verdieping_omschrijving, prs_w.alg_gebouw_key, prs_w.alg_gebouw_code, prs_w.alg_gebouw_omschrijving,
prs_w.alg_gebouw_upper, prs_w.alg_locatie_key, prs_pw.prs_perslidwerkplek_key, TO_NUMBER (NULL),
prs_pw.prs_perslid_key, pf.prs_perslid_naam_full, prs_p.prs_perslid_upper,
prs_pw.prs_perslidwerkplek_bezetting
FROM prs_v_werkplek_gegevens prs_w,
prs_perslidwerkplek prs_pw,
prs_perslid prs_p,
prs_v_perslid_fullnames_all pf
WHERE prs_w.prs_werkplek_key = prs_pw.prs_werkplek_key
AND prs_pw.prs_perslid_key IS NOT NULL
AND prs_pw.prs_perslid_key = prs_p.prs_perslid_key
AND prs_p.prs_perslid_key = pf.prs_perslid_key
UNION
SELECT prs_w.prs_werkplek_key, prs_w.prs_werkplek_volgnr, prs_w.prs_werkplek_omschrijving, prs_w.prs_werkplek_opp,
prs_w.prs_werkplek_aanduiding, prs_w.prs_werkplek_virtueel, prs_w.alg_ruimte_key, prs_w.alg_ruimte_nr,
prs_w.alg_ruimte_upper_nr, prs_w.alg_verdieping_key, prs_w.alg_verdieping_code, prs_w.alg_verdieping_volgnr,
prs_w.alg_verdieping_omschrijving, prs_w.alg_gebouw_key, prs_w.alg_gebouw_code, prs_w.alg_gebouw_omschrijving,
prs_w.alg_gebouw_upper, prs_w.alg_locatie_key, TO_NUMBER (NULL), TO_NUMBER (NULL), TO_NUMBER (NULL), '[Vrij]',
'[VRIJ]', 100 - prs_wb.prs_werkplek_bezetting
FROM prs_v_werkplek_gegevens prs_w, prs_v_werkplek_bezetting prs_wb
WHERE prs_w.prs_werkplek_key = prs_wb.prs_werkplek_key AND prs_wb.prs_werkplek_bezetting < 100;
/* View om werkplekken aan persleden te koppelen met afdeling. */
CREATE_VIEW(prs_v_werkplekperslid_gegevens,0) (prs_perslidwerkplek_key,
prs_perslid_key,
prs_afdeling_key,
prs_naam,
prs_werkplek_key,
prs_werkplek_volgnr,
prs_werkplek_opp,
alg_locatie_key,
alg_gebouw_omschrijving,
alg_gebouw_upper,
alg_verdieping_code,
alg_verdieping_omschrijving,
alg_ruimte_nr,
alg_ruimte_upper_nr
)
AS
SELECT prs_pw.prs_perslidwerkplek_key, prs_pw.prs_perslid_key, prs_p.prs_afdeling_key, pf.prs_perslid_naam_full,
prs_pw.prs_werkplek_key, prs_w.prs_werkplek_volgnr, prs_w.prs_werkplek_opp, prs_w.alg_locatie_key,
prs_w.alg_gebouw_omschrijving, prs_w.alg_gebouw_upper, prs_w.alg_verdieping_code,
prs_w.alg_verdieping_omschrijving, prs_w.alg_ruimte_nr, prs_w.alg_ruimte_upper_nr
FROM prs_perslidwerkplek prs_pw,
prs_perslid prs_p,
prs_v_werkplek_gegevens prs_w,
prs_v_perslid_fullnames_all pf
WHERE prs_pw.prs_perslid_key = prs_p.prs_perslid_key
AND prs_pw.prs_werkplek_key = prs_w.prs_werkplek_key
AND prs_p.prs_perslid_key = pf.prs_perslid_key;
/* View om werkplekken aan persleden te koppelen met afdeling, geen outer join. */
CREATE_VIEW(prs_v_werkplekafdeling_geg,0)
( prs_perslidwerkplek_key,
prs_afdeling_key,
prs_afdeling_naam,
prs_afdeling_upper,
prs_werkplek_key,
prs_werkplek_volgnr,
prs_werkplek_opp,
alg_locatie_key,
alg_gebouw_omschrijving,
alg_gebouw_upper,
alg_verdieping_code,
alg_verdieping_omschrijving,
alg_ruimte_key,
alg_ruimte_nr,
alg_ruimte_upper_nr,
alg_ruimte_bruto_vloeropp ) AS
SELECT PRS_PW.prs_perslidwerkplek_key,
PRS_A.prs_afdeling_key,
PRS_A.prs_afdeling_naam,
PRS_A.prs_afdeling_upper,
PRS_PW.prs_werkplek_key,
PRS_W.prs_werkplek_volgnr,
PRS_W.prs_werkplek_opp,
PRS_W.alg_locatie_key,
PRS_W.alg_gebouw_omschrijving,
PRS_W.alg_gebouw_upper,
PRS_W.alg_verdieping_code,
PRS_W.alg_verdieping_omschrijving,
PRS_W.alg_ruimte_key,
PRS_W.alg_ruimte_nr,
PRS_W.alg_ruimte_upper_nr,
PRS_W.alg_ruimte_bruto_vloeropp
FROM prs_perslidwerkplek PRS_PW, PRS_PERSLID PRS_P,
PRS_AFDELING PRS_A, prs_v_werkplek_gegevens PRS_W
WHERE PRS_PW.prs_perslid_key = PRS_P.prs_perslid_key
AND PRS_P.prs_afdeling_key = PRS_A.prs_afdeling_key
AND PRS_PW.prs_werkplek_key = PRS_W.prs_werkplek_key;
CREATE_VIEW(prs_v_uurloon_uitvoerende, 0)
(prs_uitvoerende_key, uurloon) AS
SELECT P.prs_perslid_key, P.prs_perslid_uurloon
FROM prs_v_aanwezigperslid P
WHERE P.prs_perslid_uurloon IS NOT NULL
UNION
SELECT P.prs_perslid_key, S.prs_srtperslid_uurloon
FROM prs_v_aanwezigperslid P, prs_v_aanwezigsrtperslid S
WHERE P.prs_perslid_uurloon IS NULL
AND P.prs_srtperslid_key = S.prs_srtperslid_key
AND S.prs_srtperslid_uurloon IS NOT NULL
AND S.prs_bedrijf_key IS NULL
UNION
SELECT S.prs_srtperslid_key, S.prs_srtperslid_uurloon
FROM prs_v_aanwezigsrtperslid S
UNION
SELECT B.prs_bedrijf_key, B.prs_bedrijf_uurloon
FROM prs_v_aanwezigbedrijf B
WHERE B.prs_bedrijf_uurloon IS NOT NULL;
CREATE_VIEW(prs_v_ruimte_afdeling ,0)
(prs_afdeling_key,
prs_afdeling_naam,
prs_werkplek_key,
prs_werkplek_opp,
alg_verdieping_key,
alg_verdieping_code,
alg_gebouw_key) AS
SELECT AF.prs_afdeling_key, -- Werkplekken gekoppeld aan personen
AF.prs_afdeling_naam,
PWP.prs_werkplek_key,
(WP.prs_werkplek_opp*PWP.prs_perslidwerkplek_bezetting)/100,
V.alg_verdieping_key,
V.alg_verdieping_code,
V.alg_gebouw_key
FROM prs_perslidwerkplek PWP, prs_v_werkplek_gegevens WP,
prs_perslid PL, prs_afdeling AF,
alg_ruimte R, alg_verdieping V
WHERE WP.prs_werkplek_key = PWP.prs_werkplek_key
AND PL.prs_perslid_key = PWP.prs_perslid_key
AND PL.prs_afdeling_key = AF.prs_afdeling_key
AND WP.alg_ruimte_key = R.alg_ruimte_key
AND R.alg_verdieping_key = V.alg_verdieping_key;
CREATE_VIEW(prs_v_ruimte_afdeling_total,0)
(prs_afdeling_key,
prs_afdeling_naam,
prs_afdeling_opp,
alg_verdieping_key,
alg_gebouw_key) AS
SELECT DISTINCT(RA.prs_afdeling_key),
RA.prs_afdeling_naam,
SUM(RA.prs_werkplek_opp),
RA.alg_verdieping_key,
RA.alg_gebouw_key
FROM prs_v_ruimte_afdeling RA
GROUP BY prs_afdeling_key,
prs_afdeling_naam,
alg_gebouw_key,
alg_verdieping_key,
prs_werkplek_opp;
--
-- Waarom hier?
CREATE_VIEW(fac_v_my_disciplines, 0)
( ins_discipline_key,
prs_perslid_key,
fac_gebruiker_alg_level_read,
fac_gebruiker_alg_level_write,
fac_gebruiker_prs_level_read,
fac_gebruiker_prs_level_write,
fac_functie_code,
fac_functie_module) AS
SELECT g.ins_discipline_key,
g.prs_perslid_key,
g.fac_gebruiker_alg_level_read,
g.fac_gebruiker_alg_level_write,
g.fac_gebruiker_prs_level_read,
g.fac_gebruiker_prs_level_write,
f.fac_functie_code,
f.fac_functie_module
FROM fac_v_webgebruiker g, FAC_FUNCTIE f
WHERE f.fac_functie_key = g.fac_functie_key
AND g.ins_discipline_key IS NOT NULL;
-- Oppervlakte van een werkplek, rekening houdend met andere werkplekken in de ruimte
-- die eventueel een vaste oppervlakte kunnen hebben
-- Het is een zware view dus sporadisch gebruiken!
CREATE_VIEW(prs_v_werkplek_oppervlakte, 0) (prs_werkplek_key, wpopp)
AS
SELECT prs_werkplek_key,
DECODE (prs_werkplek_vastopp,
1, prs_werkplek_opp,
(alg_ruimte_bruto_vloeropp - totvastopp
) / vrijwp
) wpopp
FROM (SELECT prs_alg_ruimte_key, COUNT (*),
COUNT (*) - COUNT (prs_werkplek_vastopp) vrijwp,
COUNT (prs_werkplek_vastopp) vastwp,
SUM (DECODE (prs_werkplek_vastopp,
1, prs_werkplek_opp,
0
)
) totvastopp
FROM prs_werkplek
GROUP BY prs_alg_ruimte_key) selopp,
alg_ruimte prj_r,
prs_werkplek prj_w
WHERE prj_r.alg_ruimte_key = prj_w.prs_alg_ruimte_key
AND selopp.prs_alg_ruimte_key = prj_r.alg_ruimte_key
ORDER BY prs_werkplek_key;
-- overzicht van verplichtingen
CREATE_VIEW(PRS_V_VERPLICHTING, 0)
(prs_perslid_key, fac_message_code, item, item_key, locatie_key, xmlnode)
AS
SELECT o.mld_uitvoerende_keys,
'PRS_OPENST_OPDRACHT',
(SELECT isd.ins_srtdiscipline_prefix
FROM ins_srtdiscipline isd, ins_tab_discipline id, mld_melding m
WHERE id.ins_srtdiscipline_key = isd.ins_srtdiscipline_key
AND std.mld_ins_discipline_key = id.ins_discipline_key
AND o.mld_melding_key = m.mld_melding_key)
|| TO_CHAR (o.mld_melding_key)
|| '/'
|| TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr),
o.mld_opdr_key,
m.mld_alg_locatie_key,
'opdracht'
FROM mld_opdr o,
prs_perslid p,
mld_melding m,
mld_stdmelding std
WHERE o.mld_statusopdr_key = 5
AND o.mld_melding_key = m.mld_melding_key
AND m.mld_stdmelding_key = std.mld_stdmelding_key
AND o.mld_uitvoerende_keys = p.prs_perslid_key
AND o.fac_activiteit_key IS NULL
UNION ALL
SELECT m.prs_perslid_key,
'PRS_OPENST_MELDING',
(SELECT isd.ins_srtdiscipline_prefix
FROM ins_srtdiscipline isd, ins_tab_discipline id
WHERE id.ins_srtdiscipline_key = isd.ins_srtdiscipline_key
AND std.mld_ins_discipline_key = id.ins_discipline_key)
|| TO_CHAR (m.mld_melding_key),
m.mld_melding_key,
m.mld_alg_locatie_key,
'melding'
FROM mld_melding m,
mld_stdmelding std
WHERE m.mld_stdmelding_key = std.mld_stdmelding_key
AND m.mld_melding_status IN (2, 3, 4, 7)
AND m.fac_activiteit_key IS NULL
UNION ALL
SELECT b.prs_perslid_key,
'PRS_OPENST_BESTELLING',
TO_CHAR (bes_bestelling_key),
bes_bestelling_key,
ma.alg_locatie_key,
'bestelling'
FROM bes_bestelling b, mld_adres ma
WHERE b.bes_bestelling_status IN (5, 4, 3, 2)
AND b.mld_adres_key_lev = ma.mld_adres_key(+)
AND b.fac_activiteit_key IS NULL
UNION ALL
SELECT b.prs_perslid_key_voor,
'PRS_OPENST_BESTELLING',
TO_CHAR (bes_bestelling_key),
bes_bestelling_key,
ma.alg_locatie_key,
'bestelling'
FROM bes_bestelling b, mld_adres ma
WHERE b.bes_bestelling_status IN (5, 4, 3, 2)
AND b.mld_adres_key_lev = ma.mld_adres_key(+)
AND b.fac_activiteit_key IS NULL
UNION ALL
SELECT ins_alg_ruimte_key,
'PRS_BEZIT_OBJECT',
ins_deel_omschrijving,
ins_deel_key,
d.ins_alg_locatie_key,
'deel'
FROM ins_v_aanwezigdeel d, ins_tab_discipline id
WHERE d.ins_alg_ruimte_type = 'P'
AND id.ins_discipline_key = d.ins_discipline_key
AND id.ins_discipline_min_level <> 3
UNION ALL
SELECT rr.res_rsv_ruimte_host_key,
'PRS_OPENST_RES_R',
TO_CHAR (rr.res_reservering_key)
|| '/'
|| TO_CHAR (res_rsv_ruimte_volgnr),
rr.res_rsv_ruimte_key,
rg.alg_locatie_key,
'reservering'
FROM res_v_aanwezigrsv_ruimte rr,
res_ruimte_opstelling ro,
res_v_alg_ruimte_gegevens rg
WHERE rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND ro.res_ruimte_key = rg.res_ruimte_key
AND rr.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE-14 -- na 14 dagen niet meer klagen
UNION ALL
SELECT rr.res_rsv_ruimte_host_key,
'PRS_OPENST_RES_V',
TO_CHAR (rr.res_reservering_key)
|| '/'
|| TO_CHAR (res_rsv_ruimte_volgnr),
rr.res_rsv_ruimte_key,
rg.alg_locatie_key,
'reservering'
FROM res_v_aanwezigrsv_deel rd, alg_v_onrgoed_boom rg, res_rsv_ruimte rr
WHERE rr.alg_ruimte_key = rg.alg_ruimte_key
AND rr.res_rsv_ruimte_key = rd.res_rsv_ruimte_key
AND rd.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE-14
UNION ALL
SELECT rr.res_rsv_ruimte_host_key,
'PRS_OPENST_RES_C',
TO_CHAR (rr.res_reservering_key)
|| '/'
|| TO_CHAR (res_rsv_ruimte_volgnr),
rr.res_rsv_ruimte_key,
rg.alg_locatie_key,
'reservering'
FROM res_v_aanwezigrsv_artikel ra,
alg_v_onrgoed_boom rg,
res_rsv_ruimte rr
WHERE rr.alg_ruimte_key = rg.alg_ruimte_key
AND rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key
AND ra.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE-14
UNION ALL
SELECT rr.res_rsv_ruimte_contact_key,
'PRS_OPENST_RES_RC',
TO_CHAR (rr.res_reservering_key)
|| '/'
|| TO_CHAR (res_rsv_ruimte_volgnr),
rr.res_rsv_ruimte_key,
rg.alg_locatie_key,
'reservering'
FROM res_v_aanwezigrsv_ruimte rr,
res_ruimte_opstelling ro,
res_v_alg_ruimte_gegevens rg
WHERE rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND ro.res_ruimte_key = rg.res_ruimte_key
AND rr.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE-14
UNION ALL
SELECT rr.res_rsv_ruimte_contact_key,
'PRS_OPENST_RES_VC',
TO_CHAR (rr.res_reservering_key)
|| '/'
|| TO_CHAR (res_rsv_ruimte_volgnr),
rr.res_rsv_ruimte_key,
rg.alg_locatie_key,
'reservering'
FROM res_v_aanwezigrsv_deel rd, alg_v_onrgoed_boom rg, res_rsv_ruimte rr
WHERE rr.alg_ruimte_key = rg.alg_ruimte_key
AND rr.res_rsv_ruimte_key = rd.res_rsv_ruimte_key
AND rd.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE-14
UNION ALL
SELECT rr.res_rsv_ruimte_contact_key,
'PRS_OPENST_RES_CC',
TO_CHAR (rr.res_reservering_key)
|| '/'
|| TO_CHAR (res_rsv_ruimte_volgnr),
rr.res_rsv_ruimte_key,
rg.alg_locatie_key,
'reservering'
FROM res_v_aanwezigrsv_artikel ra,
alg_v_onrgoed_boom rg,
res_rsv_ruimte rr
WHERE rr.alg_ruimte_key = rg.alg_ruimte_key
AND rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key
AND ra.res_status_bo_key IN (4, 3, 2)
AND rr.alg_ruimte_key IS NOT NULL
AND res_rsv_ruimte_tot > SYSDATE-14
UNION ALL
SELECT a.bez_afspraak_host_key,
'PRS_AFSPRAAK_H',
TO_CHAR (a.bez_afspraak_datum),
a.bez_afspraak_key,
a.alg_locatie_key,
'afspraak'
FROM bez_afspraak a
WHERE a.bez_afspraak_datum > SYSDATE
UNION ALL
SELECT a.bez_afspraak_contact_key,
'PRS_AFSPRAAK_C',
TO_CHAR (a.bez_afspraak_datum),
a.bez_afspraak_key,
a.alg_locatie_key,
'afspraak'
FROM bez_afspraak a
WHERE a.bez_afspraak_datum > SYSDATE
UNION ALL
SELECT k.prs_perslid_key,
'PRS_BUDGETHOUDER_VAN',
k.prs_kostenplaats_nr,
k.prs_kostenplaats_key,
NULL,
''
FROM prs_kostenplaats k
UNION ALL
SELECT k.prs_perslid_key,
'PRS_BUDGETHOUDER_VAN',
k.prs_kostenplaatsgrp_oms,
k.prs_kostenplaatsgrp_key,
NULL,
''
FROM prs_kostenplaatsgrp k
UNION ALL
SELECT c.prs_perslid_key_beh,
'CNT_CONTRACT_BEH',
cnt_contract_nummer_intern,
c.cnt_contract_key,
NULL,
'contract'
FROM cnt_contract c
WHERE cnt_contract_verwijder IS NULL
AND cnt_contract_status = 0 /* actief */
AND cnt_contract_looptijd_tot > SYSDATE;
-- Dezelfde view voor afdelingen
CREATE_VIEW(prs_v_afd_verplichting, 0)
(prs_afdeling_key, fac_message_code, item, item_key)
AS
SELECT p.prs_afdeling_key, 'PRS_OPENST_OPDRACHT',
(SELECT isd.ins_srtdiscipline_prefix
FROM ins_srtdiscipline isd, ins_tab_discipline ID, mld_stdmelding std, mld_melding m
WHERE ID.ins_srtdiscipline_key = isd.ins_srtdiscipline_key
AND m.mld_stdmelding_key = std.mld_stdmelding_key
AND std.mld_ins_discipline_key = ID.ins_discipline_key
AND o.mld_melding_key = m.mld_melding_key)
|| TO_CHAR (o.mld_melding_key)
|| '/'
|| TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr),
o.mld_opdr_key
FROM mld_opdr o, prs_perslid p
WHERE o.mld_statusopdr_key = 5
AND o.mld_uitvoerende_keys = p.prs_perslid_key
AND o.fac_activiteit_key IS NULL
UNION
SELECT p.prs_afdeling_key, 'PRS_OPENST_BESTELLING', TO_CHAR (bes_bestelling_key), bes_bestelling_key
FROM bes_bestelling b, prs_perslid p
WHERE b.bes_bestelling_status IN (5, 4, 3, 2)
AND b.prs_perslid_key=p.prs_perslid_key
UNION
SELECT ins_alg_ruimte_key, 'PRS_BEZIT_OBJECT', ins_deel_omschrijving, ins_deel_key
FROM ins_v_aanwezigdeel d, ins_tab_discipline ID
WHERE d.ins_alg_ruimte_type = 'A'
AND ID.ins_discipline_key = d.ins_discipline_key
AND ID.ins_discipline_min_level <> 3;
// PF: DEZE NOG SEMANTISCH CONTROLEREN!
CREATE_VIEW(prs_v_kp_verplichting, 0)
(prs_kostenplaats_key, fac_message_code, item, item_key, locatie_key)
AS
SELECT o.prs_kostenplaats_key, 'KPN_OPENST_OPDRACHT',
(SELECT isd.ins_srtdiscipline_prefix
FROM ins_srtdiscipline isd, ins_tab_discipline ID, mld_melding m
WHERE ID.ins_srtdiscipline_key = isd.ins_srtdiscipline_key
AND std.mld_ins_discipline_key = ID.ins_discipline_key
AND o.mld_melding_key = m.mld_melding_key)
|| TO_CHAR (o.mld_melding_key)
|| '/'
|| TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr),
o.mld_opdr_key, m.mld_alg_locatie_key
FROM mld_opdr o, prs_perslid p, mld_stdmelding std, mld_melding m
WHERE o.mld_statusopdr_key = 5
AND o.mld_melding_key = m.mld_melding_key
AND m.mld_stdmelding_key = std.mld_stdmelding_key
AND o.mld_uitvoerende_keys = p.prs_perslid_key
UNION
SELECT b.prs_kostenplaats_key, 'KPN_OPENST_BESTELLING', TO_CHAR (bes_bestelling_key), bes_bestelling_key,
ma.alg_locatie_key
FROM bes_bestelling b, mld_adres ma
WHERE b.bes_bestelling_status IN (5, 4, 3, 2) AND b.mld_adres_key_lev = ma.mld_adres_key(+)
UNION
SELECT rr.prs_kostenplaats_key, 'KPN_OPENST_RES_R', TO_CHAR (rr.res_reservering_key) || '/' || COUNT (*),
rr.res_reservering_key, rg.alg_locatie_key
FROM res_v_aanwezigrsv_ruimte rr, res_ruimte_opstelling ro, res_v_alg_ruimte_gegevens rg
WHERE rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND ro.res_ruimte_key = rg.res_ruimte_key
AND rr.res_status_bo_key IN (4, 3, 2)
GROUP BY rr.prs_kostenplaats_key, 'KPN_OPENST_RES_R', rr.res_reservering_key, rg.alg_locatie_key
UNION
SELECT rr.prs_kostenplaats_key, 'KPN_OPENST_RES_V', TO_CHAR (rr.res_reservering_key) || '/' || COUNT (*),
rr.res_reservering_key, rg.alg_locatie_key
FROM res_v_aanwezigrsv_deel rd, res_v_alg_ruimte_gegevens rg, res_v_aanwezigrsv_ruimte rr
WHERE rr.res_rsv_ruimte_key = rd.res_rsv_ruimte_key
AND rr.alg_ruimte_key = rg.alg_ruimte_key
AND rd.res_status_bo_key IN (4, 3, 2)
AND rr.alg_ruimte_key IS NOT NULL
GROUP BY rr.prs_kostenplaats_key, 'KPN_OPENST_RES_V', rr.res_reservering_key, rg.alg_ruimte_key, rg.alg_locatie_key
UNION
SELECT rr.prs_kostenplaats_key, 'KPN_OPENST_RES_C', TO_CHAR (rr.res_reservering_key) || '/' || COUNT (*),
rr.res_reservering_key, rg.alg_locatie_key
FROM res_v_aanwezigrsv_artikel ra, res_v_alg_ruimte_gegevens rg, res_v_aanwezigrsv_ruimte rr
WHERE rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key
AND rr.alg_ruimte_key = rg.alg_ruimte_key
AND ra.res_status_bo_key IN (4, 3, 2)
AND rr.alg_ruimte_key IS NOT NULL
GROUP BY rr.prs_kostenplaats_key, 'KPN_OPENST_RES_C', rr.res_reservering_key, rr.alg_ruimte_key, rg.alg_locatie_key;
// Deze view is beter geschikt dan bovenstaande en geeft of een bepaald persoon
// facilitair gebruikt werd/wordt in de database. Komt een perslid hier niet in voor
// dan mag die verwijderd (DELETED) worden. (gebruik als select ** where prs_perslid_key=NNN
CREATE_VIEW(prs_v_verplichting_refcheck,0)
(prs_perslid_key)
AS
SELECT b.prs_perslid_key
FROM bes_bestelling b
UNION ALL
SELECT b.prs_perslid_key_voor
FROM bes_bestelling b
UNION ALL
SELECT b.bes_bestelling_fiat_user
FROM bes_bestelling b
UNION ALL
SELECT b.prs_perslid_key
FROM bes_bestelopdr b
UNION ALL
SELECT a.bez_afspraak_contact_key
FROM bez_afspraak a
UNION ALL
SELECT a.bez_afspraak_host_key
FROM bez_afspraak a
UNION ALL
SELECT a.prs_perslid_key
FROM bez_afspraak a
UNION ALL
SELECT z.prs_perslid_key
FROM bez_bezoekers z
UNION ALL
SELECT p.prs_perslid_key
FROM prs_contactpersoon p
UNION ALL
SELECT c.prs_perslid_key_beh
FROM cnt_contract c
UNION ALL
SELECT c.prs_perslid_key_eig
FROM cnt_contract c
UNION ALL
SELECT m.prs_perslid_key
FROM mld_melding m
UNION ALL
SELECT o.mld_uitvoerende_keys
FROM mld_opdr o
UNION ALL
SELECT o.prs_perslid_key
FROM mld_opdr o
UNION ALL
SELECT m.prs_perslid_key
FROM mrk_bericht m
UNION ALL
SELECT r.res_rsv_ruimte_host_key
FROM res_rsv_ruimte r
UNION ALL
SELECT r.res_rsv_ruimte_contact_key
FROM res_rsv_ruimte r
UNION ALL
SELECT ins_alg_ruimte_key
FROM ins_deel d
WHERE d.ins_alg_ruimte_type = 'P';
-- Genuanceeerdere versie van de voorgaande, te gebruiken voor existentie:
-- kom een perslid_key hierin voor, dan heeft die een actuele verplichting
-- en mag-ie niet inactief (_VERWIJDER) worden.
CREATE_VIEW(prs_v_verplichting_keys, 0) (prs_perslid_key, item_key)
AS
SELECT o.mld_uitvoerende_keys, o.mld_opdr_key
FROM mld_opdr o, prs_perslid p
WHERE o.mld_statusopdr_key = 5
AND o.mld_uitvoerende_keys = p.prs_perslid_key
AND o.fac_activiteit_key IS NULL
UNION ALL
SELECT m.prs_perslid_key, m.mld_melding_key
FROM mld_melding m
WHERE m.mld_melding_status IN (2, 3, 4, 7)
AND m.fac_activiteit_key IS NULL
UNION ALL
SELECT b.prs_perslid_key, bes_bestelling_key
FROM bes_bestelling b
WHERE b.bes_bestelling_status IN (5, 4, 3, 2)
AND b.fac_activiteit_key IS NULL
UNION ALL
SELECT ins_alg_ruimte_key, ins_deel_key
FROM ins_v_aanwezigdeel d, ins_tab_discipline ID
WHERE d.ins_alg_ruimte_type = 'P'
AND ID.ins_discipline_key = d.ins_discipline_key
AND ID.ins_discipline_min_level <> 3
UNION ALL
SELECT rr.res_rsv_ruimte_host_key, r.res_reservering_key
FROM res_v_aanwezigreservering r, res_v_aanwezigrsv_ruimte rr
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE-14 -- na 14 dagen niet meer klagen
UNION ALL
SELECT rr.res_rsv_ruimte_host_key, r.res_reservering_key
FROM res_v_aanwezigreservering r, res_v_aanwezigrsv_deel rd, res_rsv_ruimte rr
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.res_rsv_ruimte_key = rd.res_rsv_ruimte_key
AND rd.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE-14
UNION ALL
SELECT rr.res_rsv_ruimte_host_key, r.res_reservering_key
FROM res_v_aanwezigreservering r, res_v_aanwezigrsv_artikel ra, res_rsv_ruimte rr
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key
AND ra.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE-14
UNION ALL
SELECT rr.res_rsv_ruimte_contact_key, r.res_reservering_key
FROM res_v_aanwezigreservering r, res_v_aanwezigrsv_ruimte rr, res_ruimte_opstelling ro
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND rr.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE-14
UNION ALL
SELECT rr.res_rsv_ruimte_contact_key, r.res_reservering_key
FROM res_v_aanwezigreservering r, res_v_aanwezigrsv_deel rd, res_rsv_ruimte rr
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.res_rsv_ruimte_key = rd.res_rsv_ruimte_key
AND rd.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE-14
UNION ALL
SELECT rr.res_rsv_ruimte_contact_key, r.res_reservering_key
FROM res_v_aanwezigreservering r, res_v_aanwezigrsv_artikel ra, res_rsv_ruimte rr
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key
AND ra.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE-14
AND rr.alg_ruimte_key IS NOT NULL
UNION ALL
SELECT a.bez_afspraak_host_key, a.bez_afspraak_key
FROM bez_afspraak a
WHERE a.bez_afspraak_datum > SYSDATE
UNION ALL
SELECT a.bez_afspraak_contact_key, a.bez_afspraak_key
FROM bez_afspraak a
WHERE a.bez_afspraak_datum > SYSDATE
UNION ALL
SELECT k.prs_perslid_key, k.prs_kostenplaats_key
FROM prs_kostenplaats k
WHERE prs_kostenplaats_verwijder IS NULL
AND k.prs_perslid_key IS NOT NULL
AND prs_kostenplaats_eind > SYSDATE
UNION ALL
SELECT k.prs_perslid_key, k.prs_kostenplaatsgrp_key
FROM prs_kostenplaatsgrp k
WHERE k.prs_perslid_key IS NOT NULL
UNION ALL
SELECT c.prs_perslid_key_beh, cnt_contract_key
FROM cnt_contract c
WHERE cnt_contract_verwijder IS NULL
AND cnt_contract_status = 0 /* actief */
AND cnt_contract_looptijd_tot > SYSDATE;
-- Aantal echte werkplekken van een persoon
CREATE_VIEW(PRS_V_AANTALWP,0)
(PRS_PERSLID_KEY, AANTALWP)
AS
SELECT pww2.prs_perslid_key, count (1)
FROM prs_werkplek pw2,
prs_perslidwerkplek pww2
WHERE pw2.prs_werkplek_key = pww2.prs_werkplek_key
AND pw2.prs_werkplek_virtueel = 0
GROUP BY pww2.prs_perslid_key;
-- Genormaliseerd dienstverband in een ruimte (dienstverband / aantal werkplekken)
CREATE_VIEW(prs_v_norm_verband, 0)
AS
SELECT prs_w.prs_alg_ruimte_key alg_ruimte_key, prs_p.prs_perslid_key, pp2.aantalwp,
TRUNC (10 * prs_perslid_dienstverband / pp2.aantalwp)
/ 10 norm_verband
FROM prs_werkplek prs_w,
prs_perslidwerkplek prs_pw,
prs_perslid prs_p,
prs_v_aantalwp pp2
WHERE prs_w.prs_werkplek_key = prs_pw.prs_werkplek_key
AND prs_pw.prs_perslid_key IS NOT NULL
AND prs_pw.prs_perslid_key = prs_p.prs_perslid_key
AND prs_w.prs_werkplek_virtueel = 0
AND prs_p.prs_perslid_key = pp2.prs_perslid_key;
CREATE_VIEW(prs_v_qvw_bedrijf, 0)
AS
SELECT prs_bedrijf_key,
prs_bedrijf_naam,
prs_bedrijf_naam_upper,
prs_bedrijf_post_adres,
prs_bedrijf_post_postcode,
prs_bedrijf_post_plaats,
prs_bedrijf_post_land,
prs_bedrijf_bezoek_adres,
prs_bedrijf_bezoek_postcode,
prs_bedrijf_bezoek_plaats,
prs_bedrijf_bezoek_land,
prs_bedrijf_telefoon,
prs_bedrijf_fax,
prs_bedrijf_telefoon2,
prs_bedrijf_contact_persoon,
prs_bedrijf_contact_telefoon,
prs_bedrijf_contact_fax,
prs_bedrijf_opmerking,
prs_bedrijf_opmerking2,
prs_bedrijf_uurloon,
prs_leverancier_nr,
prs_overeenkomst_nr,
prs_overeenkomst_datum,
prs_bedrijf_aanmaak,
prs_bedrijf_verwijder,
prs_bedrijf_leverancier,
prs_bedrijf_uitvoerende,
prs_bedrijf_contract,
prs_bedrijf_intern,
prs_bedrijf_huurder,
prs_bedrijf_email,
prs_bedrijf_ingids
FROM prs_bedrijf
WHERE prs_bedrijf.prs_bedrijf_verwijder IS NULL;
-- Per ruimte hoeveel flexplekken vrij en bezet
-- verdieping is wel handig in deze view, voor totaaloverzichten op gebouwniveau
CREATE_VIEW(prs_v_flexplekken, 0)
(
alg_ruimte_key,
vrij,
bezet,
alg_verdieping_key
)
AS
SELECT alg_ruimte_key, SUM (vrij) vrij, SUM (bezet) bezet, alg_verdieping_key
FROM ( SELECT wp.prs_alg_ruimte_key alg_ruimte_key,
COUNT (wp.prs_werkplek_key) vrij,
0 bezet,
r.alg_verdieping_key
FROM prs_werkplek wp, prs_perslidwerkplek pwp, alg_ruimte r
WHERE wp.prs_werkplek_virtueel = 0
AND wp.prs_werkplek_type = 1
AND wp.prs_alg_ruimte_key = r.alg_ruimte_key
AND pwp.prs_werkplek_key(+) = wp.prs_werkplek_key
AND pwp.prs_perslid_key IS NULL
GROUP BY wp.prs_alg_ruimte_key, r.alg_verdieping_key
UNION ALL
SELECT wp.prs_alg_ruimte_key alg_ruimte_key,
0 vrij,
COUNT (wp.prs_werkplek_key) bezet,
r.alg_verdieping_key
FROM prs_werkplek wp, prs_perslidwerkplek pwp, alg_ruimte r
WHERE wp.prs_werkplek_virtueel = 0
AND wp.prs_werkplek_type = 1
AND wp.prs_alg_ruimte_key = r.alg_ruimte_key
AND pwp.prs_werkplek_key = wp.prs_werkplek_key
AND pwp.prs_perslid_key IS NOT NULL
GROUP BY wp.prs_alg_ruimte_key, r.alg_verdieping_key)
GROUP BY alg_ruimte_key, alg_verdieping_key;
-- Vooralsnog placeholder, moet aangepast worden
CREATE_VIEW(prs_v_api_afdelingen, 1) AS SELECT * from prs_v_aanwezigafdeling;
CREATE_VIEW(prs_v_api_personen, 1) AS SELECT * from prs_v_aanwezigperslid;
REGISTERRUN('$Workfile: PRS_VIE.SRC $','$Revision$')
#endif // PRS