1685 lines
66 KiB
Plaintext
1685 lines
66 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_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,
|
|
DECODE (p.prs_perslid_voornaam, NULL, '', p.prs_perslid_voornaam || ' ')
|
|
|| DECODE (p.prs_perslid_tussenvoegsel, NULL, '', p.prs_perslid_tussenvoegsel || ' ')
|
|
|| prs_perslid_naam prs_perslid_naam_friendly
|
|
FROM prs_v_aanwezigperslid p;
|
|
|
|
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,
|
|
DECODE (p.prs_perslid_voornaam, NULL, '', p.prs_perslid_voornaam || ' ')
|
|
|| DECODE (p.prs_perslid_tussenvoegsel, NULL, '', p.prs_perslid_tussenvoegsel || ' ')
|
|
|| prs_perslid_naam prs_perslid_naam_friendly,
|
|
prs_perslid_verwijder
|
|
FROM prs_perslid p;
|
|
|
|
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,
|
|
pf.prs_perslid_naam_full,
|
|
prs_p.prs_perslid_upper
|
|
FROM prs_perslid prs_p, prs_afdeling prs_a, prs_v_perslid_fullnames_all pf
|
|
WHERE prs_p.prs_afdeling_key = prs_a.prs_afdeling_key
|
|
AND prs_p.prs_perslid_key = pf.prs_perslid_key;
|
|
|
|
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(+);
|
|
|
|
/* 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,
|
|
DECODE (SUBSTR (alg_g.alg_gebouw_code, 1, 1), '_', '', alg_g.alg_gebouw_code)
|
|
|| DECODE (SUBSTR (alg_v.alg_verdieping_code, 1, 1),
|
|
'_', '',
|
|
'-' || alg_v.alg_verdieping_code)
|
|
|| DECODE (SUBSTR (alg_r.alg_ruimte_nr, 1, 1), '_', '', '-' || alg_r.alg_ruimte_nr),
|
|
alg_l.alg_locatie_code
|
|
|| DECODE (SUBSTR (alg_g.alg_gebouw_code, 1, 1), '_', '', '-' ||alg_g.alg_gebouw_code)
|
|
|| DECODE (SUBSTR (alg_v.alg_verdieping_code, 1, 1),
|
|
'_', '',
|
|
'-' || alg_v.alg_verdieping_code)
|
|
|| DECODE (SUBSTR (alg_r.alg_ruimte_nr, 1, 1), '_', '', '-' || 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 IN (5, 8)
|
|
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 (0, 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, 'DD-MM-YYYY HH24:MI'),
|
|
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, 'DD-MM-YYYY HH24:MI'),
|
|
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_GROEP',
|
|
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 ||
|
|
CASE
|
|
WHEN c.cnt_contract_versie IS NOT NULL
|
|
THEN '.' || c.cnt_contract_versie
|
|
ELSE ''
|
|
END,
|
|
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
|
|
UNION ALL
|
|
SELECT c.cnt_prs_perslid_key,
|
|
'CNT_CONTRACT_PARTIJ',
|
|
cnt_contract_nummer_intern ||
|
|
CASE
|
|
WHEN c.cnt_contract_versie IS NOT NULL
|
|
THEN '.' || c.cnt_contract_versie
|
|
ELSE ''
|
|
END,
|
|
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
|
|
AND c.cnt_prs_perslid_key IS NOT NULL
|
|
UNION ALL
|
|
SELECT d.prs_perslid_key_beh,
|
|
'PRS_BEHEERT_OBJECT',
|
|
ins_deel_omschrijving,
|
|
ins_deel_key,
|
|
d.ins_alg_locatie_key,
|
|
'deel'
|
|
FROM ins_v_aanwezigdeel d;
|
|
|
|
|
|
-- 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 IN (5, 8)
|
|
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 IN (5, 8)
|
|
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
|
|
// relevant 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 c.cnt_prs_perslid_key
|
|
FROM cnt_contract c
|
|
UNION ALL
|
|
SELECT m.prs_perslid_key
|
|
FROM mld_melding m
|
|
UNION ALL
|
|
SELECT m.prs_perslid_key_voor
|
|
FROM mld_melding m
|
|
UNION ALL
|
|
SELECT m.mld_melding_behandelaar_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'
|
|
UNION ALL
|
|
SELECT prs_perslid_key_beh
|
|
FROM ins_deel d;
|
|
|
|
-- 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 IN (5, 8)
|
|
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 prs_perslid_key_beh, ins_deel_key
|
|
FROM ins_v_aanwezigdeel d
|
|
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
|
|
UNION ALL
|
|
SELECT c.cnt_prs_perslid_key, 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;
|
|
|
|
/* ROOT VIEWS for User defined Reports (UDR) */
|
|
CREATE_VIEW(prs_v_udr_bedrijf, 0)
|
|
(
|
|
key,
|
|
naam,
|
|
postadres,
|
|
postpostcode,
|
|
postplaats,
|
|
postland,
|
|
adres,
|
|
postcode,
|
|
plaats,
|
|
land,
|
|
telefoon1,
|
|
telefoon2,
|
|
contactpersoon,
|
|
contacttelefoon,
|
|
opmerking1,
|
|
opmerking2,
|
|
uurloon,
|
|
leveranciernr,
|
|
overeenkomstnr,
|
|
overeenkomstdatum,
|
|
relatietype,
|
|
registratiedatum,
|
|
isleverancier,
|
|
isuitvoerende,
|
|
iscontract,
|
|
ishuurder,
|
|
isintern,
|
|
email,
|
|
dienst,
|
|
locatie,
|
|
gebouw,
|
|
district,
|
|
regio,
|
|
fclt_3d_locatie_key
|
|
)
|
|
AS
|
|
SELECT b.prs_bedrijf_key key,
|
|
prs_bedrijf_naam naam,
|
|
prs_bedrijf_post_adres postadres,
|
|
prs_bedrijf_post_postcode postpostcode,
|
|
prs_bedrijf_post_plaats postplaats,
|
|
prs_bedrijf_post_land postland,
|
|
prs_bedrijf_bezoek_adres adres,
|
|
prs_bedrijf_bezoek_postcode postcode,
|
|
prs_bedrijf_bezoek_plaats plaats,
|
|
prs_bedrijf_bezoek_land land,
|
|
prs_bedrijf_telefoon telefoon1,
|
|
prs_bedrijf_telefoon2 telefoon2,
|
|
prs_bedrijf_contact_persoon contactpersoon,
|
|
prs_bedrijf_contact_telefoon contacttelefoon,
|
|
prs_bedrijf_opmerking opmerking1,
|
|
prs_bedrijf_opmerking2 opmerking2,
|
|
prs_bedrijf_uurloon uurloon,
|
|
prs_leverancier_nr leveranciernr,
|
|
prs_overeenkomst_nr overeenkomstnr,
|
|
prs_overeenkomst_datum overeenkomstdatum,
|
|
lcl.x ('prs_relatietype_omschrijving',
|
|
r.prs_relatietype_key,
|
|
r.prs_relatietype_omschrijving)
|
|
relatietype,
|
|
prs_bedrijf_aanmaak registratiedatum,
|
|
DECODE (prs_bedrijf_leverancier, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no')) isleverancier,
|
|
DECODE (prs_bedrijf_uitvoerende, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no')) isuitvoerende,
|
|
DECODE (prs_bedrijf_contract, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no')) iscontract,
|
|
DECODE (prs_bedrijf_huurder, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no')) ishuurder,
|
|
DECODE (prs_bedrijf_intern, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no')) isintern,
|
|
prs_bedrijf_email email,
|
|
lcl.x ('prs_dienst_omschrijving', d.prs_dienst_key, d.prs_dienst_omschrijving) dienst,
|
|
l.alg_locatie_omschrijving locatie,
|
|
lcl.l ('lcl_all') gebouw,
|
|
lcl.l ('lcl_all') district,
|
|
lcl.l ('lcl_all') regio,
|
|
bdl.alg_locatie_key fclt_3d_locatie_key
|
|
FROM prs_bedrijf b,
|
|
prs_bedrijfdienstlocatie bdl,
|
|
prs_dienst d,
|
|
prs_relatietype r,
|
|
alg_locatie l
|
|
WHERE prs_bedrijf_verwijder IS NULL
|
|
AND b.prs_bedrijf_key = bdl.prs_bedrijf_key(+)
|
|
AND d.prs_dienst_key(+) = bdl.prs_dienst_key
|
|
AND b.prs_relatietype_key = r.prs_relatietype_key(+)
|
|
AND l.alg_locatie_key = bdl.alg_locatie_key
|
|
UNION
|
|
SELECT b.prs_bedrijf_key key,
|
|
prs_bedrijf_naam naam,
|
|
prs_bedrijf_post_adres postadres,
|
|
prs_bedrijf_post_postcode postpostcode,
|
|
prs_bedrijf_post_plaats postplaats,
|
|
prs_bedrijf_post_land postland,
|
|
prs_bedrijf_bezoek_adres adres,
|
|
prs_bedrijf_bezoek_postcode postcode,
|
|
prs_bedrijf_bezoek_plaats plaats,
|
|
prs_bedrijf_bezoek_land land,
|
|
prs_bedrijf_telefoon telefoon1,
|
|
prs_bedrijf_telefoon2 telefoon2,
|
|
prs_bedrijf_contact_persoon contactpersoon,
|
|
prs_bedrijf_contact_telefoon contacttelefoon,
|
|
prs_bedrijf_opmerking opmerking1,
|
|
prs_bedrijf_opmerking2 opmerking2,
|
|
prs_bedrijf_uurloon uurloon,
|
|
prs_leverancier_nr leveranciernr,
|
|
prs_overeenkomst_nr overeenkomstnr,
|
|
prs_overeenkomst_datum overeenkomstdatum,
|
|
lcl.x ('prs_relatietype_omschrijving',
|
|
r.prs_relatietype_key,
|
|
r.prs_relatietype_omschrijving)
|
|
relatietype,
|
|
prs_bedrijf_aanmaak registratiedatum,
|
|
DECODE (prs_bedrijf_leverancier, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no')) isleverancier,
|
|
DECODE (prs_bedrijf_uitvoerende, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no')) isuitvoerende,
|
|
DECODE (prs_bedrijf_contract, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no')) iscontract,
|
|
DECODE (prs_bedrijf_huurder, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no')) ishuurder,
|
|
DECODE (prs_bedrijf_intern, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no')) isintern,
|
|
prs_bedrijf_email email,
|
|
lcl.x ('prs_dienst_omschrijving', d.prs_dienst_key, d.prs_dienst_omschrijving) dienst,
|
|
l.alg_locatie_omschrijving locatie,
|
|
g.alg_gebouw_omschrijving gebouw,
|
|
ad.alg_district_omschrijving district,
|
|
ar.alg_regio_omschrijving regio,
|
|
bdl.alg_locatie_key fclt_3d_locatie_key
|
|
FROM prs_bedrijf b,
|
|
prs_bedrijfdienstlocatie bdl,
|
|
prs_dienst d,
|
|
prs_relatietype r,
|
|
alg_locatie l,
|
|
alg_gebouw g,
|
|
alg_regio ar,
|
|
alg_district ad
|
|
WHERE prs_bedrijf_verwijder IS NULL
|
|
AND b.prs_bedrijf_key = bdl.prs_bedrijf_key(+)
|
|
AND d.prs_dienst_key(+) = bdl.prs_dienst_key
|
|
AND b.prs_relatietype_key = r.prs_relatietype_key(+)
|
|
AND g.alg_locatie_key = l.alg_locatie_key
|
|
AND g.alg_gebouw_key = bdl.alg_gebouw_key
|
|
AND l.alg_district_key = ad.alg_district_key
|
|
AND ad.alg_regio_key = ar.alg_regio_key
|
|
UNION
|
|
SELECT b.prs_bedrijf_key key,
|
|
prs_bedrijf_naam naam,
|
|
prs_bedrijf_post_adres postadres,
|
|
prs_bedrijf_post_postcode postpostcode,
|
|
prs_bedrijf_post_plaats postplaats,
|
|
prs_bedrijf_post_land postland,
|
|
prs_bedrijf_bezoek_adres adres,
|
|
prs_bedrijf_bezoek_postcode postcode,
|
|
prs_bedrijf_bezoek_plaats plaats,
|
|
prs_bedrijf_bezoek_land land,
|
|
prs_bedrijf_telefoon telefoon1,
|
|
prs_bedrijf_telefoon2 telefoon2,
|
|
prs_bedrijf_contact_persoon contactpersoon,
|
|
prs_bedrijf_contact_telefoon contacttelefoon,
|
|
prs_bedrijf_opmerking opmerking1,
|
|
prs_bedrijf_opmerking2 opmerking2,
|
|
prs_bedrijf_uurloon uurloon,
|
|
prs_leverancier_nr leveranciernr,
|
|
prs_overeenkomst_nr overeenkomstnr,
|
|
prs_overeenkomst_datum overeenkomstdatum,
|
|
lcl.x ('prs_relatietype_omschrijving',
|
|
r.prs_relatietype_key,
|
|
r.prs_relatietype_omschrijving)
|
|
relatietype,
|
|
prs_bedrijf_aanmaak registratiedatum,
|
|
DECODE (prs_bedrijf_leverancier, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no')) isleverancier,
|
|
DECODE (prs_bedrijf_uitvoerende, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no')) isuitvoerende,
|
|
DECODE (prs_bedrijf_contract, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no')) iscontract,
|
|
DECODE (prs_bedrijf_huurder, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no')) ishuurder,
|
|
DECODE (prs_bedrijf_intern, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no')) isintern,
|
|
prs_bedrijf_email email,
|
|
lcl.x ('prs_dienst_omschrijving', d.prs_dienst_key, d.prs_dienst_omschrijving) dienst,
|
|
lcl.l ('lcl_all') locatie,
|
|
lcl.l ('lcl_all') gebouw,
|
|
lcl.l ('lcl_all') district,
|
|
lcl.l ('lcl_all') regio,
|
|
NULL fclt_3d_locatie_key
|
|
FROM prs_bedrijf b,
|
|
prs_bedrijfdienstlocatie bdl,
|
|
prs_dienst d,
|
|
prs_relatietype r
|
|
WHERE prs_bedrijf_verwijder IS NULL
|
|
AND b.prs_bedrijf_key = bdl.prs_bedrijf_key(+)
|
|
AND d.prs_dienst_key(+) = bdl.prs_dienst_key
|
|
AND b.prs_relatietype_key = r.prs_relatietype_key(+)
|
|
AND bdl.alg_gebouw_key IS NULL
|
|
AND bdl.alg_locatie_key IS NULL;
|
|
|
|
REGISTERRUN('$Id$')
|
|
#endif // PRS
|