FSN#26947 perslidwerkplek_verwijder en werkplek_verwijder vervallen

svn path=/Database/trunk/; revision=19016
This commit is contained in:
Peter Feij
2013-09-06 16:03:27 +00:00
parent 51ef63955b
commit 9949fdf9bc
15 changed files with 103 additions and 149 deletions

View File

@@ -304,7 +304,7 @@ BEGIN
INTO dummy
FROM alg_srtruimte ALG_SR_1,
alg_srtruimte ALG_SR_2,
all_v_aanwezigwerkplek PRS_W
prs_werkplek PRS_W
WHERE ALG_SR_1.alg_srtruimte_key = :old.alg_srtruimte_key
AND ALG_SR_1.prs_bevat_werkplek = 1
AND ALG_SR_2.alg_srtruimte_key = :new.alg_srtruimte_key
@@ -429,10 +429,8 @@ BEGIN
SET alg_onrgoed_keys = :NEW.alg_verdieping_key
WHERE alg_onrgoed_keys = :NEW.alg_ruimte_key AND bez_afspraak_datum > SYSDATE;
UPDATE prs_werkplek
SET prs_werkplek_verwijder = :new.alg_ruimte_verwijder
WHERE prs_werkplek.prs_alg_ruimte_key = :new.alg_ruimte_key
AND prs_werkplek_verwijder IS NULL;
DELETE FROM prs_werkplek
WHERE prs_werkplek.prs_alg_ruimte_key = :new.alg_ruimte_key;
END IF;

View File

@@ -473,8 +473,8 @@ AS SELECT ALG_R.alg_ruimte_key
CREATE_VIEW(alg_v_my_room, 0) AS
SELECT DISTINCT r.alg_ruimte_key, r.alg_verdieping_key, pl.prs_perslid_key
FROM alg_ruimte r,
prs_v_aanwezigperslidwerkplek pl,
prs_v_aanwezigwerkplek wp
prs_perslidwerkplek pl,
prs_werkplek wp
WHERE r.alg_ruimte_key = wp.prs_alg_ruimte_key
AND pl.prs_werkplek_key = wp.prs_werkplek_key;
@@ -718,8 +718,8 @@ WITH avmr -- alg_v_my_room
AS (SELECT DISTINCT
r.alg_ruimte_key, r.alg_verdieping_key, pl.prs_perslid_key
FROM alg_ruimte r,
prs_v_aanwezigperslidwerkplek pl,
prs_v_aanwezigwerkplek wp
prs_perslidwerkplek pl,
prs_werkplek wp
WHERE r.alg_ruimte_key = wp.prs_alg_ruimte_key
AND pl.prs_werkplek_key = wp.prs_werkplek_key),
avmf -- alg_v_my_floor

View File

@@ -150,13 +150,13 @@ CREATE_VIEW(cad_v_prs_werkplek,0)
W.prs_werkplek_volgnr,
W.prs_werkplek_omschrijving,
W.prs_werkplek_opp /* Alleen een waarde indien prs_werkplek_vastopp 1 is, anders te traag? */
FROM prs_v_aanwezigwerkplek W;
FROM prs_werkplek W;
CREATE_VIEW(cad_v_lpn_prs_werkplek_1,0) AS
SELECT W.prs_werkplek_key,
W.prs_werkplek_volgnr,
W.prs_werkplek_omschrijving
FROM prs_v_aanwezigwerkplek W;
FROM prs_werkplek W;
/* Standard thema/label views */
@@ -177,14 +177,14 @@ SELECT prs_w.prs_alg_ruimte_key,
prs_p.prs_perslid_naam
|| DECODE (prs_p.prs_perslid_voorletters, NULL, '', ', ' || prs_p.prs_perslid_voorletters)
|| DECODE (prs_p.prs_perslid_voornaam, NULL, '', ' (' || prs_p.prs_perslid_voornaam || ')')
FROM prs_v_aanwezigwerkplek prs_w, prs_v_aanwezigperslidwerkplek prs_pw, prs_perslid prs_p
FROM prs_werkplek prs_w, prs_perslidwerkplek 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
AND prs_pw.prs_perslid_key = prs_p.prs_perslid_key
AND prs_w.prs_werkplek_virtueel = 0
UNION
SELECT prs_w.prs_alg_ruimte_key, '[Vrij]'
FROM prs_v_aanwezigwerkplek prs_w, prs_v_werkplek_bezetting prs_wb
FROM prs_werkplek prs_w, prs_v_werkplek_bezetting prs_wb
WHERE prs_w.prs_werkplek_key = prs_wb.prs_werkplek_key
AND prs_w.prs_werkplek_virtueel = 0
AND prs_wb.prs_werkplek_bezetting < 100;
@@ -263,9 +263,7 @@ AS
|| TO_CHAR (NVL (prs_pw.prs_perslidwerkplek_bezetting, 0))
|| '%' waarde
FROM prs_werkplek prs_w,
(SELECT *
FROM prs_perslidwerkplek
WHERE prs_perslidwerkplek_verwijder IS NULL) prs_pw,
prs_perslidwerkplek 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
@@ -278,10 +276,8 @@ AS
|| TO_CHAR (100 - NVL (SUM (prs_wb.prs_perslidwerkplek_bezetting), 0))
|| '%'
FROM prs_werkplek prs_w,
(SELECT *
FROM prs_perslidwerkplek
WHERE prs_perslidwerkplek_verwijder IS NULL) prs_wb
WHERE prs_w.prs_werkplek_key = prs_wb.prs_werkplek_key(+) AND prs_werkplek_verwijder IS NULL
prs_perslidwerkplek prs_wb
WHERE prs_w.prs_werkplek_key = prs_wb.prs_werkplek_key(+)
GROUP BY prs_w.prs_alg_ruimte_key, prs_w.prs_werkplek_key, prs_w.prs_werkplek_volgnr
HAVING SUM (NVL (prs_wb.prs_perslidwerkplek_bezetting, 0)) < 100) DATA
/
@@ -291,7 +287,6 @@ CREATE_VIEW(CAD_V_THEMA_AANTALWP, 0) (ALG_RUIMTE_KEY, WAARDE)
AS
SELECT wp.prs_alg_ruimte_key, COUNT (*)
FROM PRS_WERKPLEK wp
WHERE wp.prs_werkplek_verwijder IS NULL
GROUP BY prs_alg_ruimte_key;
/
@@ -314,12 +309,9 @@ AS
wpopp
FROM prs_werkplek prs_w,
prs_v_werkplek_oppervlakte pwo,
(SELECT *
FROM prs_perslidwerkplek
WHERE prs_perslidwerkplek_verwijder IS NULL) prs_pw
prs_perslidwerkplek prs_pw
WHERE prs_w.prs_werkplek_key = prs_pw.prs_werkplek_key(+)
AND pwo.prs_werkplek_key(+) = prs_w.prs_werkplek_key
AND prs_w.prs_werkplek_verwijder IS NULL
GROUP BY prs_w.prs_alg_ruimte_key,
prs_w.prs_werkplek_volgnr,
'prs_werkplek',
@@ -331,7 +323,7 @@ CREATE_VIEW(CAD_V_THEMA_WPOPP, 0)
AS
SELECT wp.prs_alg_ruimte_key, r.alg_ruimte_bruto_vloeropp / COUNT (prs_werkplek_key)
FROM PRS_WERKPLEK wp, ALG_RUIMTE r
WHERE wp.prs_werkplek_verwijder IS NULL AND wp.prs_alg_ruimte_key = r.alg_ruimte_key
WHERE wp.prs_alg_ruimte_key = r.alg_ruimte_key
GROUP BY wp.prs_alg_ruimte_key, r.alg_ruimte_bruto_vloeropp
/
@@ -528,12 +520,10 @@ AS
WHERE NOT EXISTS
(SELECT ''
FROM prs_werkplek
WHERE prs_werkplek_verwijder IS NULL
AND prs_alg_ruimte_key = alg_ruimte_key)
WHERE prs_alg_ruimte_key = alg_ruimte_key)
UNION
SELECT DISTINCT prs_alg_ruimte_key, -2
FROM prs_werkplek
WHERE prs_werkplek_verwijder IS NULL;
FROM prs_werkplek;
CREATE_VIEW(cad_v_label_flexwerkers, 0)
(
@@ -545,7 +535,6 @@ AS
FROM prs_werkplek wp, prs_perslidwerkplek pwp, prs_v_perslid_fullnames pf
WHERE pwp.prs_perslid_key = pf.prs_perslid_key
AND wp.prs_werkplek_key = pwp.prs_werkplek_key
AND pwp.prs_perslidwerkplek_verwijder IS NULL
AND wp.prs_werkplek_type = 1;
-- Een werkplekkleurenthema, flex/vast/vrij/bezet
@@ -564,9 +553,7 @@ AS
END)
status
FROM prs_werkplek wp, prs_perslidwerkplek pwp
WHERE wp.prs_werkplek_verwijder IS NULL
AND pwp.prs_perslidwerkplek_verwijder IS NULL
AND wp.prs_werkplek_virtueel = 0
WHERE wp.prs_werkplek_virtueel = 0
AND pwp.prs_werkplek_key(+) = wp.prs_werkplek_key
GROUP BY wp.prs_werkplek_key;
@@ -597,9 +584,7 @@ AS
END
waarde
FROM prs_werkplek prs_w,
(SELECT *
FROM prs_perslidwerkplek
WHERE prs_perslidwerkplek_verwijder IS NULL) prs_pw,
prs_perslidwerkplek 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
@@ -817,8 +802,7 @@ CREATE_VIEW(cad_v_thema_wpsensor,0)
AS
SELECT wp.prs_werkplek_key prs_werkplek_key, initcap(d.ins_deel_state) status
FROM prs_werkplek wp, ins_deel d
WHERE wp.prs_werkplek_verwijder IS NULL
AND d.ins_deel_verwijder IS NULL
WHERE d.ins_deel_verwijder IS NULL
AND wp.prs_werkplek_virtueel = 0
AND d.ins_alg_ruimte_type = 'W'
AND d.ins_alg_ruimte_key = wp.prs_werkplek_key

View File

@@ -103,7 +103,7 @@ SELECT CC.cnt_contract_key,
ID.ins_alg_ruimte_key,
ID.ins_alg_ruimte_type
FROM cnt_v_aanwezigcontract CC, cnt_v_aanwezigcontract_object CO,
ins_v_aanwezigdeel ID, prs_v_aanwezigwerkplek WP
ins_v_aanwezigdeel ID, prs_werkplek WP
WHERE CC.cnt_contract_key = CO.cnt_contract_key
AND CO.cnt_ins_deel_key = ID.ins_deel_key
AND ID.ins_alg_ruimte_type = 'W'

View File

@@ -5992,8 +5992,7 @@ BEGIN
into v_count
from prs_perslid p, prs_perslidwerkplek w
where p.PRS_PERSLID_KEY = v_perslid_key
and p.PRS_PERSLID_KEY = w.prs_perslid_key
and w.prs_perslidwerkplek_verwijder is null;
and p.PRS_PERSLID_KEY = w.prs_perslid_key;
IF (v_count = 0) THEN

View File

@@ -1475,8 +1475,6 @@ AS
WHERE pwp.prs_perslid_key = p_key
AND pwp.prs_werkplek_key = wp.prs_werkplek_key
AND wp.prs_werkplek_virtueel = 0
AND wp.prs_werkplek_verwijder IS NULL
AND pwp.prs_perslidwerkplek_verwijder IS NULL
ORDER BY pwp.prs_perslidwerkplek_volgnr, pwp.prs_perslidwerkplek_bezetting DESC;
BEGIN
IF p_key IS NOT NULL
@@ -1624,7 +1622,7 @@ AS
v_virtueel,
v_alg_ruimte_key,
v_pwpvolgnr
FROM prs_v_aanwezigperslidwerkplek pwp, prs_werkplek wp
FROM prs_perslidwerkplek pwp, prs_werkplek wp
WHERE pwp.prs_werkplek_key(+) = wp.prs_werkplek_key
AND wp.prs_werkplek_key = p_werkplek_key
GROUP BY wp.prs_werkplek_key,
@@ -1653,7 +1651,7 @@ AS
v_virtueel,
v_alg_ruimte_key,
v_pwpvolgnr
FROM prs_v_aanwezigperslidwerkplek pwp, prs_werkplek wp
FROM prs_perslidwerkplek pwp, prs_werkplek wp
WHERE pwp.prs_werkplek_key = wp.prs_werkplek_key
AND wp.prs_werkplek_key = p_werkplek_key
AND pwp.prs_perslid_key = p_perslid_key;

View File

@@ -142,8 +142,7 @@ CREATE OR REPLACE PACKAGE BODY ins AS
SELECT TO_CHAR(NVL(MAX(prs_werkplek_volgnr),0) +1)
INTO NextVolgNr
FROM prs_werkplek
WHERE prs_alg_ruimte_key = CondKey
AND prs_werkplek_verwijder IS NULL;
WHERE prs_alg_ruimte_key = CondKey;
EXCEPTION
WHEN NO_DATA_FOUND
THEN NextVolgNr := '1';

View File

@@ -242,7 +242,7 @@ BEGIN
THEN
IF :new.ins_alg_ruimte_type = 'W'
THEN
CHECK_KEY_REFERENCE(prs_v_aanwezigwerkplek , prs_werkplek_key , :new.ins_alg_ruimte_key, 'ins_m174');
CHECK_KEY_REFERENCE(prs_werkplek , prs_werkplek_key , :new.ins_alg_ruimte_key, 'ins_m174');
ELSIF :new.ins_alg_ruimte_type = 'R'
THEN
CHECK_KEY_REFERENCE(alg_v_aanwezigruimte , alg_ruimte_key , :new.ins_alg_ruimte_key, 'ins_m092');

View File

@@ -1180,7 +1180,6 @@ CREATE_VIEW(ins_v_compositie_gegevens,0)
CREATE_VIEW(ins_v_deel_plaatsaanduiding_r,0)
( alg_plaatsaanduiding
, prs_werkplek_key
, prs_werkplek_verwijder
, ins_deel_key
, ins_deel_omschrijving
, ins_deel_verwijder
@@ -1190,7 +1189,6 @@ AS SELECT ALG_L.alg_locatie_code ||' - '
|| ALG_V.alg_verdieping_volgnr ||' - '
|| ALG_R.alg_ruimte_nr
, to_number(NULL)
, to_date(NULL)
, INS_D.ins_deel_key
, INS_D.ins_deel_omschrijving
, INS_D.ins_deel_verwijder
@@ -1210,7 +1208,6 @@ AS SELECT ALG_L.alg_locatie_code ||' - '
CREATE_VIEW(ins_v_deel_plaatsaanduiding_w,0)
( alg_plaatsaanduiding
, prs_werkplek_key
, prs_werkplek_verwijder
, ins_deel_key
, ins_deel_omschrijving
, ins_deel_verwijder
@@ -1221,7 +1218,6 @@ AS SELECT ALG_L.alg_locatie_code ||' - '
|| ALG_R.alg_ruimte_nr ||'/'
|| to_char(PRS_W.prs_werkplek_volgnr),
PRS_W.prs_werkplek_key
, PRS_W.prs_werkplek_verwijder
, INS_D.ins_deel_key
, INS_D.ins_deel_omschrijving
, INS_D.ins_deel_verwijder

View File

@@ -145,8 +145,7 @@ AS
AND v.alg_verdieping_key = r.alg_verdieping_key
AND w.prs_alg_ruimte_key = r.alg_ruimte_key
AND w.prs_alg_ruimte_key = parent_key
AND w.prs_werkplek_volgnr = TO_NUMBER (element_omschrijving)
AND w.prs_werkplek_verwijder IS NULL;
AND w.prs_werkplek_volgnr = TO_NUMBER (element_omschrijving);
-- Gevonden, dus niet uniek. Probeer het met een sterretje ervoor, passen ze dat later maar zelf aan
IF TO_NUMBER (element_omschrijving) = 999
THEN
@@ -290,7 +289,6 @@ AS
prs_werkplek_dwgrotatie, prs_werkplek_dwgschaal
FROM prs_werkplek w, prj_ruimte rx
WHERE w.prs_alg_ruimte_key = rx.alg_ruimte_key
AND w.prs_werkplek_verwijder IS NULL
AND w.prs_werkplek_virtueel = 0
AND rx.prj_scenario_key = pscenariokey
AND rx.alg_verdieping_key = pverdiepingkey;
@@ -303,7 +301,6 @@ AS
wx.prj_werkplek_key, pw.prs_perslidwerkplek_bezetting
FROM prs_perslidwerkplek pw, prj_werkplek wx, prj_ruimte rx
WHERE pw.prs_werkplek_key = wx.prs_werkplek_key
AND pw.prs_perslidwerkplek_verwijder IS NULL
AND rx.prj_scenario_key = pscenariokey
AND pw.prs_perslid_key IS NOT NULL
AND wx.prj_ruimte_key = rx.prj_ruimte_key
@@ -350,7 +347,7 @@ AS
SELECT NULL, ins_deel_key, rx.prj_ruimte_key, wx.prj_werkplek_key, ins_deel_omschrijving, d.ins_srtdeel_key,
ins_deel_dwgx, ins_deel_dwgy,
ins_deel_dwgrotatie, ins_deel_dwgschaal
FROM ins_deel d, alg_v_aanwezigruimte r, prs_v_aanwezigwerkplek w, prj_ruimte rx, prj_werkplek wx
FROM ins_deel d, alg_v_aanwezigruimte r, prs_werkplek w, prj_ruimte rx, prj_werkplek wx
WHERE d.ins_alg_ruimte_type = 'W'
AND d.ins_alg_ruimte_key = w.prs_werkplek_key
AND w.prs_alg_ruimte_key = r.alg_ruimte_key
@@ -937,7 +934,7 @@ AS
UPDATE prj_werkplek wx
SET prs_werkplek_key =
(SELECT prs_werkplek_key
FROM prs_v_aanwezigwerkplek w
FROM prs_werkplek w
WHERE w.prs_werkplek_volgnr = werkplek_nr
AND w.prs_alg_ruimte_key = v_werkplek.alg_ruimte_key)
WHERE prj_werkplek_key = v_werkplek.prj_werkplek_key;
@@ -1133,8 +1130,7 @@ AS
prs_werkplek_dwgy = cr.prj_werkplek_dwgy,
prs_werkplek_dwgrotatie = cr.prj_werkplek_dwgrotatie,
prs_werkplek_dwgschaal = cr.prj_werkplek_dwgschaal
WHERE r.prs_werkplek_verwijder IS NULL
AND r.prs_werkplek_key = cr.prs_werkplek_key;
WHERE r.prs_werkplek_key = cr.prs_werkplek_key;
END LOOP;
-- Bestaande perslidwerkplekken aanpassen
FOR cr IN perslidwerkplek_updates (pscenariokey)
@@ -1144,8 +1140,7 @@ AS
prs_perslid_key = cr.prs_perslid_key,
prs_perslidwerkplek_bezetting =
cr.prj_perslidwerkplek_bezetting
WHERE r.prs_perslidwerkplek_verwijder IS NULL
AND r.prs_perslidwerkplek_key = cr.prs_perslidwerkplek_key;
WHERE r.prs_perslidwerkplek_key = cr.prs_perslidwerkplek_key;
END LOOP;
-- Bestaande ruimteafdelingen aanpassen
FOR cr IN ruimteafdeling_updates (pscenariokey)
@@ -1162,6 +1157,12 @@ AS
PROCEDURE prj_commit_deletions (pscenariokey IN NUMBER)
AS
BEGIN
-- PF: NIEMAND HEEFT HET ER OVER, MAAR ALS IK DIT ZO LEES DAN
-- GAAT DIR VERSCHRIKKELIJK ANDERS DAN DAT ER BEOOGD WORDT.
-- VOLGENS MIJ WORDT HIER ALLES-OF-NIKS WEGGEGOOID!!
-- De Deletes hieronder lijkt me meer de richting
-- Vervallen ruimtes laten vervallen
UPDATE alg_ruimte r
SET alg_ruimte_verwijder =
@@ -1173,31 +1174,26 @@ AS
AND rx.prj_scenario_key = pscenariokey)
WHERE r.alg_ruimte_verwijder IS NULL;
-- Vervallen werkplekken laten vervallen
UPDATE prs_werkplek p
SET prs_werkplek_verwijder =
(SELECT SYSDATE
DELETE FROM prs_werkplek p
WHERE p.prs_werkplek_key IN
(SELECT pw.prs_werkplek_key
FROM prj_werkplek pw, prj_ruimte rx
WHERE pw.prj_ruimte_key = rx.prj_ruimte_key
AND pw.prs_werkplek_key = p.prs_werkplek_key
AND pw.prj_werkplek_verwijder IS NOT NULL
AND pw.prs_werkplek_key IS NOT NULL
AND rx.prj_scenario_key = pscenariokey)
WHERE p.prs_werkplek_verwijder IS NULL;
-- Vervallen perslidwerkplekken laten vervallen
UPDATE prs_perslidwerkplek p
SET prs_perslidwerkplek_verwijder =
(SELECT SYSDATE
AND rx.prj_scenario_key = pscenariokey);
-- Vervallen perslidwerkplekken verwijderen
DELETE FROM prs_perslidwerkplek p
WHERE p.prs_perslidwerkplek_key IN
(SELECT ppw.prs_perslidwerkplek_key
FROM prj_perslidwerkplek ppw,
prj_werkplek pw,
prj_ruimte rx
WHERE ppw.prj_werkplek_key = pw.prj_werkplek_key
AND pw.prj_ruimte_key = rx.prj_ruimte_key
AND ppw.prs_perslidwerkplek_key =
p.prs_perslidwerkplek_key
AND ppw.prj_perslidwerkplek_verwijder IS NOT NULL
AND ppw.prs_perslidwerkplek_key IS NOT NULL
AND rx.prj_scenario_key = pscenariokey)
WHERE p.prs_perslidwerkplek_verwijder IS NULL;
AND rx.prj_scenario_key = pscenariokey);
-- Vervallen ruimteafdelingen laten vervallen
UPDATE prs_ruimteafdeling p
SET prs_ruimteafdeling_verwijder =

View File

@@ -166,7 +166,7 @@ AS
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_p.prs_afdeling_key, prs_pw.prs_perslid_key
FROM prs_v_aanwezigwerkplek prs_w, prs_v_aanwezigperslidwerkplek prs_pw, prs_perslid prs_p
FROM prs_werkplek prs_w, prs_perslidwerkplek 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
AND prs_pw.prs_perslid_key = prs_p.prs_perslid_key
@@ -174,7 +174,7 @@ AS
UNION ALL
SELECT prs_w.prs_werkplek_key, prs_w.prs_werkplek_volgnr, TO_NUMBER (NULL), prs_w.prs_alg_ruimte_key,
TO_NUMBER (NULL), TO_NUMBER (NULL)
FROM prs_v_aanwezigwerkplek prs_w, prs_v_werkplek_bezetting prs_wb
FROM prs_werkplek prs_w, prs_v_werkplek_bezetting prs_wb
WHERE prs_w.prs_werkplek_key = prs_wb.prs_werkplek_key
AND prs_w.prs_werkplek_virtueel = 0
AND prs_wb.prs_werkplek_bezetting < 100) algprs
@@ -415,8 +415,8 @@ AS
rx.alg_ruimte_key, rx.prj_ruimte_key, wx.prs_werkplek_key, wx.prj_werkplek_key
FROM prs_v_aanwezigperslid p,
prs_v_afdeling d,
prs_v_aanwezigwerkplek w,
prs_v_aanwezigperslidwerkplek pwp,
prs_werkplek w,
prs_perslidwerkplek pwp,
prj_werkplek wx,
prj_perslidwerkplek pwpx,
prj_ruimte rx

View File

@@ -352,13 +352,10 @@ CREATE_TABLE(prs_werkplek,0)
DATE
DEFAULT SYSDATE
NOT_NULL(prs_werkplek_aanmaak, prs_c_prs_werkplek_aanmaak),
prs_werkplek_verwijder
DATE
DEFAULT NULLDATUM,
prs_werkplek_getekend
DATE
DEFAULT NULLDATUM,
CONSTRAINT prs_u_prs_werkplek_volgnr UNIQUE(prs_alg_ruimte_key, prs_werkplek_volgnr, prs_werkplek_verwijder)
CONSTRAINT prs_u_prs_werkplek_volgnr UNIQUE(prs_alg_ruimte_key, prs_werkplek_volgnr)
);
@@ -681,10 +678,7 @@ CREATE_TABLE(prs_perslidwerkplek,0)
DATE
DEFAULT SYSDATE
NOT_NULL(prs_perslidwerkplek_aanmaak, prs_c_prs_perslidwp_aanmaak),
prs_perslidwerkplek_verwijder
DATE
DEFAULT NULLDATUM,
CONSTRAINT prs_u_perslidwerkplek UNIQUE(prs_perslid_key, prs_werkplek_key, prs_perslidwerkplek_verwijder)
CONSTRAINT prs_u_perslidwerkplek UNIQUE(prs_perslid_key, prs_werkplek_key)
);

View File

@@ -256,18 +256,20 @@ BEFORE INSERT OR UPDATE ON prs_werkplek
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(prs_werkplek_key, prs_s_prs_werkplek_key);
/* werkplek weg = bezetting weg */
SET_VERWIJDER_CHILDREN(prs_perslidwerkplek, prs_werkplek_key, prs_werkplek_verwijder, prs_perslidwerkplek_verwijder,prs_werkplek);
/* werkplek weg = bezetting weg gebeurt via de cascade */
UPDATE_AANMAAKDATUM(prs_werkplek, prs_werkplek_aanmaak);
IF :NEW.prs_werkplek_verwijder IS NOT NULL AND :OLD.prs_werkplek_verwijder IS NULL
THEN
END;
/
CREATE_TRIGGER(prs_t_prs_werkplek_B_D)
BEFORE DELETE ON prs_werkplek
FOR EACH ROW
BEGIN
UPDATE ins_deel
SET ins_alg_ruimte_type = 'R',
ins_alg_ruimte_key = :new.prs_alg_ruimte_key
WHERE ins_deel.ins_alg_ruimte_key = :NEW.prs_werkplek_key
AND ins_deel.ins_alg_ruimte_type = 'W'
AND ins_deel.ins_deel_verwijder IS NULL;
END IF;
END;
/
CREATE_TRIGGER(prs_t_prs_ruimteafdeling_B_IU)

View File

@@ -23,21 +23,6 @@ DEFINIEER_VIEW_AANWEZIG(prs_perslid,
all_v_aanwezigperslid,
0);
DEFINIEER_VIEW_AANWEZIG(prs_werkplek,
prs_werkplek_verwijder,
prs_v_aanwezigwerkplek,
0);
DEFINIEER_VIEW_AANWEZIG(prs_werkplek,
prs_werkplek_verwijder,
all_v_aanwezigwerkplek,
0);
DEFINIEER_VIEW_AANWEZIG(prs_perslidwerkplek,
prs_perslidwerkplek_verwijder,
prs_v_aanwezigperslidwerkplek,
0);
DEFINIEER_VIEW_AANWEZIG(prs_ruimteafdeling,
prs_ruimteafdeling_verwijder,
prs_v_aanwezigruimteafdeling,
@@ -672,14 +657,12 @@ CREATE_VIEW(prs_v_hoofdperslidwerkplek2, 0)
AS
SELECT prs_perslid_key, pwp.prs_werkplek_key, 1
FROM prs_perslidwerkplek pwp, prs_werkplek wp
WHERE prs_perslidwerkplek_verwijder IS NULL
AND pwp.prs_werkplek_key = wp.prs_werkplek_key
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 pwp2.prs_perslidwerkplek_verwijder IS NULL
AND pwp.prs_perslid_key = pwp2.prs_perslid_key
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
@@ -692,22 +675,19 @@ AS
MAX (pwp.prs_werkplek_key) prs_werkplek_key,
1 aantal
FROM prs_perslidwerkplek pwp, prs_werkplek wp
WHERE prs_perslidwerkplek_verwijder IS NULL
AND pwp.prs_werkplek_key = wp.prs_werkplek_key
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 prs_perslidwerkplek_verwijder IS NULL
AND pwp.prs_werkplek_key = wp.prs_werkplek_key
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 pwp2.prs_perslidwerkplek_verwijder IS NULL
AND pwp.prs_perslid_key = pwp2.prs_perslid_key
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
@@ -716,8 +696,7 @@ AS
AND NOT EXISTS
( SELECT prs_perslid_key
FROM prs_perslidwerkplek pwp3, prs_werkplek wp3
WHERE pwp3.prs_perslidwerkplek_verwijder IS NULL
AND pwp3.prs_werkplek_key = wp3.prs_werkplek_key
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
@@ -783,7 +762,7 @@ CREATE_VIEW(prs_v_werkplek_gegevens,0)
, PRS_W.prs_werkplek_getekend
, ALG_R.alg_ruimte_omschrijving
, PRS_W.prs_werkplek_vastopp
FROM all_v_aanwezigwerkplek PRS_W
FROM prs_werkplek PRS_W
, alg_ruimte ALG_R
, alg_verdieping ALG_V
, alg_gebouw ALG_G
@@ -801,7 +780,7 @@ CREATE_VIEW(prs_v_werkplek_bezetting, 0)
SELECT PRS_W.prs_werkplek_key,
NVL(SUM(PRS_PW.prs_perslidwerkplek_bezetting), 0)
FROM prs_werkplek PRS_W,
prs_v_aanwezigperslidwerkplek PRS_PW
prs_perslidwerkplek PRS_PW
WHERE PRS_W.prs_werkplek_key = PRS_PW.prs_werkplek_key (+)
GROUP BY PRS_W.prs_werkplek_key;
@@ -840,7 +819,7 @@ AS
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_v_aanwezigperslidwerkplek prs_pw,
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
@@ -879,7 +858,7 @@ AS
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_v_aanwezigperslidwerkplek prs_pw,
FROM prs_perslidwerkplek prs_pw,
prs_perslid prs_p,
prs_v_werkplek_gegevens prs_w,
prs_v_perslid_fullnames_all pf
@@ -921,7 +900,7 @@ CREATE_VIEW(prs_v_werkplekafdeling_geg,0)
PRS_W.alg_ruimte_nr,
PRS_W.alg_ruimte_upper_nr,
PRS_W.alg_ruimte_bruto_vloeropp
FROM prs_v_aanwezigperslidwerkplek PRS_PW, PRS_PERSLID PRS_P,
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
@@ -964,7 +943,7 @@ CREATE_VIEW(prs_v_ruimte_afdeling ,0)
V.alg_verdieping_key,
V.alg_verdieping_code,
V.alg_gebouw_key
FROM prs_v_aanwezigperslidwerkplek PWP, prs_v_werkplek_gegevens WP,
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
@@ -1018,9 +997,6 @@ CREATE_VIEW(fac_v_my_disciplines, 0)
-- 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!
-- Let op dat twee keer gebruik wordt gemaakt van prs_v_aanwezigwerkplek ipv prs_werkplek
-- (1) om wel de goede oppervlakte te tellen en (2) om geen problemen te krijgen met
-- delen door 0 vrije werkplekken
CREATE_VIEW(prs_v_werkplek_oppervlakte, 0) (prs_werkplek_key, wpopp)
AS
SELECT prs_werkplek_key,
@@ -1037,10 +1013,10 @@ AS
0
)
) totvastopp
FROM prs_v_aanwezigwerkplek
FROM prs_werkplek
GROUP BY prs_alg_ruimte_key) selopp,
alg_ruimte prj_r,
prs_v_aanwezigwerkplek prj_w
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;
@@ -1513,8 +1489,8 @@ 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_v_aanwezigwerkplek prs_w,
prs_v_aanwezigperslidwerkplek prs_pw,
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
@@ -1576,8 +1552,7 @@ AS
0 bezet,
r.alg_verdieping_key
FROM prs_werkplek wp, prs_perslidwerkplek pwp, alg_ruimte r
WHERE wp.prs_werkplek_verwijder IS NULL
AND wp.prs_werkplek_virtueel = 0
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
@@ -1589,8 +1564,7 @@ AS
COUNT (wp.prs_werkplek_key) bezet,
r.alg_verdieping_key
FROM prs_werkplek wp, prs_perslidwerkplek pwp, alg_ruimte r
WHERE wp.prs_werkplek_verwijder IS NULL
AND wp.prs_werkplek_virtueel = 0
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

View File

@@ -135,6 +135,17 @@ DELETE FROM prs_werkplek pw
WHERE jp.prs_werkplek_key = pw.prs_werkplek_key)
AND fac.getsetting ('prs_werkplek_implicit') = 1;
ALTER TABLE prs_perslidwerkplek DROP CONSTRAINT prs_u_perslidwerkplek DROP INDEX;
DELETE FROM prs_perslidwerkplek WHERE prs_perslidwerkplek_verwijder IS NOT NULL;
ALTER TABLE prs_perslidwerkplek ADD CONSTRAINT prs_u_perslidwerkplek
UNIQUE(prs_perslid_key, prs_werkplek_key);
DELETE FROM prj_werkplek WHERE prs_werkplek_key IN (SELECT prs_werkplek_key FROM prs_werkplek WHERE prs_werkplek_verwijder IS NOT NULL);
ALTER TABLE prs_werkplek DROP CONSTRAINT prs_u_prs_werkplek_volgnr DROP INDEX;
DELETE FROM prs_werkplek WHERE prs_werkplek_verwijder IS NOT NULL;
ALTER TABLE prs_werkplek ADD CONSTRAINT prs_u_prs_werkplek_volgnr UNIQUE(prs_alg_ruimte_key, prs_werkplek_volgnr);
INSERT INTO cad_label
(cad_label_omschrijving, cad_label_view, cad_label_type, cad_label_size, fac_functie_key)
SELECT 'Werkplekbezetting', 'cad_v_label_wp_bewoner', '9', 100, fac_functie_key
@@ -478,6 +489,8 @@ ALTER TABLE fac_faq DROP COLUMN mld_stdmelding_key;
ALTER TABLE mld_stdmelding DROP CONSTRAINT mld_c_stdmelding_urenofdagen;
ALTER TABLE mld_stdmelding DROP COLUMN mld_stdmelding_streeftijd;
ALTER TABLE fac_imp_mld DROP COLUMN mld_stdmelding_streeftijd;
ALTER TABLE prs_perslidwerkplek DROP COLUMN prs_perslidwerkplek_verwijder;
ALTER TABLE prs_werkplek DROP COLUMN prs_werkplek_verwijder;
// FSN#26999
DROP VIEW prs_v_aanwezigperslidafdeling;
@@ -490,6 +503,7 @@ DROP TABLE prs_perslideenheid PURGE;
DROP SEQUENCE prs_s_prs_perslidafdeling_key;
DROP SEQUENCE prs_s_prs_perslideenheid_key;
DROP VIEW prs_v_aanwezigperslidwerkplek;
///////////////////////////////////////////////////////////////////////////////////////////