FSN#14942
svn path=/Database/trunk/; revision=9939
This commit is contained in:
291
PRJ/PRJ_VIE.SRC
291
PRJ/PRJ_VIE.SRC
@@ -1,8 +1,8 @@
|
||||
#ifdef PRJ
|
||||
/* PRJ_VIE.SRC
|
||||
*
|
||||
* $Revision: 58 $
|
||||
* $Modtime: 17-07-08 14:47 $
|
||||
* $Revision: 59 $
|
||||
* $Modtime: 28-11-08 15:19 $
|
||||
*/
|
||||
|
||||
#include "comsql.h"
|
||||
@@ -70,31 +70,62 @@ AS
|
||||
WHERE wp.prj_werkplek_verwijder IS NULL
|
||||
GROUP BY prj_ruimte_key;
|
||||
|
||||
CREATE_VIEW (prj_v_cad_thema_afdeling,0) (prj_ruimte_key, waarde)
|
||||
CREATE_VIEW (prj_v_cad_thema_afdeling,0) (prj_ruimte_key, waarde, waarde_key)
|
||||
AS
|
||||
SELECT wx.prj_ruimte_key, d.prs_afdeling_naam
|
||||
FROM prs_afdeling d, prj_perslidwerkplek pwx, prj_werkplek wx
|
||||
WHERE pwx.prj_werkplek_key = wx.prj_werkplek_key
|
||||
AND pwx.prs_afdeling_key = d.prs_afdeling_key
|
||||
AND pwx.prj_perslidwerkplek_verwijder IS NULL
|
||||
AND wx.prj_werkplek_verwijder IS NULL
|
||||
AND pwx.prs_perslid_key IS NULL
|
||||
UNION
|
||||
SELECT wx.prj_ruimte_key, d.prs_afdeling_naam
|
||||
FROM prs_afdeling d, prj_perslidwerkplek pwx, prj_werkplek wx, prs_perslid p
|
||||
WHERE pwx.prj_werkplek_key = wx.prj_werkplek_key
|
||||
AND pwx.prs_perslid_key = p.prs_perslid_key
|
||||
AND p.prs_afdeling_key=d.prs_afdeling_key
|
||||
AND pwx.prj_perslidwerkplek_verwijder IS NULL
|
||||
AND wx.prj_werkplek_verwijder IS NULL
|
||||
AND pwx.prs_perslid_key IS NOT NULL;
|
||||
SELECT x.prj_ruimte_key,
|
||||
DECODE (x.aantal,
|
||||
1, SUBSTR (x.sp, 1, 60),
|
||||
'Meerdere!'),
|
||||
DECODE (x.aantal, 1, x.sp_key, NULL)
|
||||
FROM (SELECT ra.prj_ruimte_key,
|
||||
MIN (d.prs_afdeling_naam) sp,
|
||||
MIN (d.prs_afdeling_key) sp_key,
|
||||
COUNT (ra.prs_afdeling_key) aantal
|
||||
FROM prj_ruimteafdeling ra, prs_v_aanwezigafdeling d
|
||||
WHERE ra.prj_ruimteafdeling_verwijder IS NULL
|
||||
AND ra.prs_afdeling_key = d.prs_afdeling_key
|
||||
GROUP BY ra.prj_ruimte_key) x;
|
||||
|
||||
CREATE_VIEW (prj_v_cad_thema_srtruimte,0) (prj_ruimte_key, waarde)
|
||||
-- Update is: oude situatie weg, nieuwe wordt gedefinieerd.
|
||||
-- Insert is: toevoegen aan oude situatie
|
||||
CREATE_TRIGGER(prj_t_cad_thema_afdeling_i_iu)
|
||||
INSTEAD OF INSERT OR UPDATE
|
||||
ON prj_v_cad_thema_afdeling
|
||||
BEGIN
|
||||
IF UPDATING -- oude weggooien
|
||||
THEN
|
||||
DELETE FROM prj_ruimteafdeling
|
||||
WHERE prj_ruimte_key = :new.prj_ruimte_key
|
||||
AND prs_afdeling_key <> :new.waarde_key;
|
||||
END IF;
|
||||
BEGIN
|
||||
INSERT INTO prj_ruimteafdeling (prj_ruimte_key, prs_afdeling_key)
|
||||
VALUES (:new.prj_ruimte_key, :new.waarde_key);
|
||||
EXCEPTION
|
||||
WHEN DUP_VAL_ON_INDEX -- Hij was al aanwezig
|
||||
THEN
|
||||
NULL;
|
||||
END;
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_VIEW (prj_v_cad_thema_srtruimte,0) (prj_ruimte_key, waarde, waarde_key)
|
||||
AS
|
||||
SELECT r.prj_ruimte_key, sr.alg_srtruimte_omschrijving
|
||||
SELECT r.prj_ruimte_key, sr.alg_srtruimte_omschrijving, sr.alg_srtruimte_key
|
||||
FROM prj_ruimte r, alg_srtruimte sr
|
||||
WHERE r.alg_srtruimte_key = sr.alg_srtruimte_key;
|
||||
|
||||
CREATE_TRIGGER(prj_t_cad_thema_srtruimte_i_iu)
|
||||
INSTEAD OF INSERT OR UPDATE ON prj_v_cad_thema_srtruimte
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE prj_ruimte
|
||||
SET alg_srtruimte_key = :new.waarde_key
|
||||
WHERE prj_ruimte_key = :new.prj_ruimte_key;
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
// De gemiddelde oppervlakte per werkplek (GEEN rekening houdend met vaste werkplekoppervlaktes)
|
||||
CREATE_VIEW (prj_v_cad_thema_wpopp,0) (prj_ruimte_key, waarde)
|
||||
AS
|
||||
@@ -124,15 +155,7 @@ AS
|
||||
prj_perslidwerkplek prj_wp,
|
||||
prj_ruimte prj_zoek,
|
||||
(SELECT prs_w.prs_werkplek_key, prs_w.prs_werkplek_volgnr, prs_pw.prs_perslidwerkplek_key,
|
||||
prs_w.prs_alg_ruimte_key alg_ruimte_key, prs_pw.prs_afdeling_key,
|
||||
TO_NUMBER (NULL) prs_perslid_key
|
||||
FROM prs_v_aanwezigwerkplek prs_w, prs_v_aanwezigperslidwerkplek prs_pw
|
||||
WHERE prs_w.prs_werkplek_key = prs_pw.prs_werkplek_key
|
||||
AND prs_pw.prs_afdeling_key IS NOT NULL
|
||||
AND prs_w.prs_werkplek_virtueel = 0
|
||||
UNION ALL
|
||||
SELECT prs_w.prs_werkplek_key, prs_w.prs_werkplek_volgnr, prs_pw.prs_perslidwerkplek_key,
|
||||
prs_w.prs_alg_ruimte_key, prs_p.prs_afdeling_key, prs_pw.prs_perslid_key
|
||||
prs_w.prs_alg_ruimte_key alg_ruimte_key, prs_p.prs_afdeling_key, prs_pw.prs_perslid_key
|
||||
FROM prs_v_aanwezigwerkplek prs_w, prs_v_aanwezigperslidwerkplek prs_pw, prs_perslid prs_p
|
||||
WHERE prs_w.prs_werkplek_key = prs_pw.prs_werkplek_key
|
||||
AND prs_pw.prs_perslid_key IS NOT NULL
|
||||
@@ -171,21 +194,6 @@ AS
|
||||
SELECT DISTINCT prj_ruimte_key, waarde,
|
||||
DECODE (prj_selectie_key, NULL, 0, 1) highlight
|
||||
FROM (SELECT prj_r.prj_scenario_key, prs_w.prj_ruimte_key,
|
||||
'* [' || prs_a.prs_afdeling_naam || ']' waarde,
|
||||
'PRJ_WERKPLEK' label_soort,
|
||||
prs_pw.prj_werkplek_key label_key
|
||||
FROM PRJ_RUIMTE prj_r,
|
||||
PRJ_WERKPLEK prs_w,
|
||||
PRJ_PERSLIDWERKPLEK prs_pw,
|
||||
PRS_AFDELING prs_a
|
||||
WHERE prs_w.prj_werkplek_key = prs_pw.prj_werkplek_key
|
||||
AND prs_pw.prs_perslid_key IS NULL
|
||||
AND prs_w.prj_werkplek_verwijder IS NULL
|
||||
AND prs_pw.prj_perslidwerkplek_verwijder IS NULL
|
||||
AND prs_pw.prs_afdeling_key = prs_a.prs_afdeling_key
|
||||
AND prs_w.prj_ruimte_key = prj_r.prj_ruimte_key
|
||||
UNION
|
||||
SELECT prj_r.prj_scenario_key, prs_w.prj_ruimte_key,
|
||||
prs_p.prs_perslid_naam
|
||||
|| DECODE (prs_p.prs_perslid_voorletters,
|
||||
NULL, '',
|
||||
@@ -195,8 +203,8 @@ AS
|
||||
NULL, '',
|
||||
' (' || prs_p.prs_perslid_voornaam
|
||||
|| ')'
|
||||
),
|
||||
'PRJ_WERKPLEK', prs_pw.prj_werkplek_key
|
||||
) waarde,
|
||||
'PRJ_WERKPLEK' label_soort, prs_pw.prj_werkplek_key label_key
|
||||
FROM PRJ_RUIMTE prj_r,
|
||||
PRJ_WERKPLEK prs_w,
|
||||
PRJ_PERSLIDWERKPLEK prs_pw,
|
||||
@@ -222,31 +230,6 @@ AS
|
||||
FROM (SELECT prj_r.prj_scenario_key, prs_w.prj_ruimte_key,
|
||||
CHR (1)
|
||||
|| prs_w.prj_werkplek_volgnr
|
||||
|| ' * ['
|
||||
|| prs_a.prs_afdeling_naam
|
||||
|| ']: '
|
||||
|| TO_CHAR
|
||||
(NVL (prs_pw.prj_perslidwerkplek_bezetting,
|
||||
0
|
||||
)
|
||||
)
|
||||
|| '%' waarde,
|
||||
'PRJ_WERKPLEK' label_soort,
|
||||
prs_pw.prj_werkplek_key label_key
|
||||
FROM PRJ_RUIMTE prj_r,
|
||||
PRJ_WERKPLEK prs_w,
|
||||
(SELECT *
|
||||
FROM PRJ_PERSLIDWERKPLEK
|
||||
WHERE prj_perslidwerkplek_verwijder IS NULL) prs_pw,
|
||||
PRS_AFDELING prs_a
|
||||
WHERE prs_w.prj_werkplek_key = prs_pw.prj_werkplek_key
|
||||
AND prs_pw.prs_perslid_key IS NULL
|
||||
AND prs_pw.prs_afdeling_key = prs_a.prs_afdeling_key
|
||||
AND prs_w.prj_ruimte_key = prj_r.prj_ruimte_key
|
||||
UNION
|
||||
SELECT prj_r.prj_scenario_key, prs_w.prj_ruimte_key,
|
||||
CHR (1)
|
||||
|| prs_w.prj_werkplek_volgnr
|
||||
|| ' '
|
||||
|| prs_p.prs_perslid_naam
|
||||
|| DECODE (prs_p.prs_perslid_voorletters,
|
||||
@@ -264,8 +247,8 @@ AS
|
||||
0
|
||||
)
|
||||
)
|
||||
|| '%',
|
||||
'PRJ_WERKPLEK', prs_pw.prj_werkplek_key
|
||||
|| '%' waarde,
|
||||
'PRJ_WERKPLEK' label_soort, prs_pw.prj_werkplek_key label_key
|
||||
FROM PRJ_RUIMTE prj_r,
|
||||
PRJ_WERKPLEK prs_w,
|
||||
(SELECT *
|
||||
@@ -437,155 +420,19 @@ AS
|
||||
|
||||
// afdelingen met van en naar
|
||||
CREATE_VIEW (prj_v_afd_verhuizing, 0)
|
||||
(prj_scenario_key,
|
||||
prs_afdeling_key,
|
||||
alg_ruimte_key,
|
||||
prs_werkplek_key,
|
||||
alg_ruimte_key2,
|
||||
prj_ruimte_key2,
|
||||
prs_werkplek_key2,
|
||||
prj_werkplek_key2
|
||||
)
|
||||
(prj_scenario_key,
|
||||
prs_afdeling_key,
|
||||
alg_ruimte_key,
|
||||
alg_ruimte_key2,
|
||||
prj_ruimte_key2
|
||||
)
|
||||
AS
|
||||
SELECT rx.prj_scenario_key, d.prs_afdeling_key, w.prs_alg_ruimte_key, w.prs_werkplek_key,
|
||||
rx.alg_ruimte_key, rx.prj_ruimte_key, wx.prs_werkplek_key, wx.prj_werkplek_key
|
||||
FROM prs_v_afdeling d,
|
||||
prs_v_aanwezigwerkplek w,
|
||||
prs_v_aanwezigperslidwerkplek pwp,
|
||||
prj_werkplek wx,
|
||||
prj_perslidwerkplek pwpx,
|
||||
prj_ruimte rx
|
||||
WHERE pwp.prs_afdeling_key = d.prs_afdeling_key
|
||||
AND w.prs_werkplek_key = pwp.prs_werkplek_key
|
||||
AND pwpx.prs_afdeling_key(+) = d.prs_afdeling_key
|
||||
AND wx.prj_werkplek_key(+) = pwpx.prj_werkplek_key
|
||||
AND rx.prj_ruimte_key(+) = wx.prj_ruimte_key
|
||||
AND pwp.prs_afdeling_key IS NOT NULL;
|
||||
|
||||
|
||||
// PRJ evenknie (met prs kolomnamen!)
|
||||
#ifdef PFzijnnietgoedduswaarschijnlijknietgebruikt
|
||||
CREATE_VIEW(prj_v_werkplek_gegevens, 0) (prj_scenario_key,
|
||||
prs_werkplek_key,
|
||||
prs_werkplek_volgnr,
|
||||
prs_werkplek_omschrijving,
|
||||
prs_werkplek_opp,
|
||||
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,
|
||||
prs_werkplek_aanduiding,
|
||||
alg_ruimte_omschrijving,
|
||||
prs_werkplek_vastopp
|
||||
)
|
||||
AS
|
||||
SELECT prs_w.prj_scenario_key, prs_w.prj_werkplek_key, prs_w.prj_werkplek_volgnr, prs_w.prj_werkplek_omschrijving,
|
||||
prs_p_prs_bepaalwerkplekopp (prs_w.prj_werkplek_key,
|
||||
alg_r.alg_ruimte_key,
|
||||
alg_r.alg_ruimte_bruto_vloeropp,
|
||||
prs_w.prj_werkplek_vastopp,
|
||||
prs_w.prj_werkplek_opp,
|
||||
NULL
|
||||
),
|
||||
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
|
||||
|| '/'
|
||||
|| NUMBER_TO_CHAR (prs_w.prj_werkplek_volgnr),
|
||||
alg_r.alg_ruimte_omschrijving, prs_w.prj_werkplek_vastopp
|
||||
FROM prj_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.prj_ruimte_key = alg_r.alg_ruimte_key
|
||||
AND alg_g.alg_locatie_key = alg_l.alg_locatie_key;
|
||||
|
||||
|
||||
CREATE_VIEW(prj_v_werkplekperslid_gegevens,0) (prj_scenario_key,
|
||||
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_w.prj_scenario_key, prs_pw.prs_perslidwerkplek_key, prs_pw.prs_perslid_key, prs_p.prs_afdeling_key,
|
||||
prs_p.prs_perslid_naam || ' ' || prs_perslid_voorletters, prs_pw.prj_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 prj_perslidwerkplek prs_pw, prs_perslid prs_p, prj_v_werkplek_gegevens prs_w
|
||||
WHERE prs_pw.prs_perslid_key = prs_p.prs_perslid_key AND prs_pw.prj_werkplek_key = prs_w.prs_werkplek_key
|
||||
UNION
|
||||
SELECT prs_w.prj_scenario_key, prs_pw.prs_perslidwerkplek_key, TO_NUMBER (NULL), prs_pw.prs_afdeling_key,
|
||||
'[' || prs_a.prs_afdeling_naam || ']', prs_pw.prj_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 prj_perslidwerkplek prs_pw, prs_afdeling prs_a, prj_v_werkplek_gegevens prs_w
|
||||
WHERE prs_pw.prs_afdeling_key = prs_a.prs_afdeling_key AND prs_pw.prj_werkplek_key = prs_w.prs_werkplek_key;
|
||||
|
||||
|
||||
CREATE_VIEW(prj_v_werkplekafdeling_geg,0) (prj_scenario_key, 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_w.prj_scenario_key, prs_pw.prs_perslidwerkplek_key, prs_a.prs_afdeling_key, prs_a.prs_afdeling_naam, prs_a.prs_afdeling_upper,
|
||||
prs_pw.prj_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 prj_perslidwerkplek prs_pw, prs_perslid prs_p, prs_afdeling prs_a, prj_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.prj_werkplek_key = prs_w.prs_werkplek_key
|
||||
UNION
|
||||
SELECT prs_w.prj_scenario_key, prs_pw.prs_perslidwerkplek_key, prs_a.prs_afdeling_key, prs_a.prs_afdeling_naam, prs_a.prs_afdeling_upper,
|
||||
prs_pw.prj_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 prj_perslidwerkplek prs_pw, prs_afdeling prs_a, prj_v_werkplek_gegevens prs_w
|
||||
WHERE prs_pw.prs_afdeling_key = prs_a.prs_afdeling_key AND prs_pw.prj_werkplek_key = prs_w.prs_werkplek_key;
|
||||
|
||||
#endif
|
||||
SELECT rx.prj_scenario_key, d.prs_afdeling_key, ra.alg_ruimte_key, rx.alg_ruimte_key, rx.prj_ruimte_key
|
||||
FROM prs_v_afdeling d, prs_ruimteafdeling ra, prj_ruimteafdeling rax, prj_ruimte rx
|
||||
WHERE ra.prs_afdeling_key = d.prs_afdeling_key
|
||||
AND rax.prs_afdeling_key(+) = d.prs_afdeling_key
|
||||
AND rx.prj_ruimte_key(+) = rax.prj_ruimte_key
|
||||
AND ra.prs_ruimteafdeling_verwijder IS NULL;
|
||||
|
||||
#endif // PRJ
|
||||
|
||||
|
||||
Reference in New Issue
Block a user