From 9949fdf9bc40730638a3063126a6ca3af3320eae Mon Sep 17 00:00:00 2001 From: Peter Feij Date: Fri, 6 Sep 2013 16:03:27 +0000 Subject: [PATCH] FSN#26947 perslidwerkplek_verwijder en werkplek_verwijder vervallen svn path=/Database/trunk/; revision=19016 --- ALG/ALG_TRI.SRC | 8 +++---- ALG/ALG_VIE.SRC | 8 +++---- CAD/CAD_VIE.SRC | 44 +++++++++++----------------------- CNT/CNT_VIE.SRC | 2 +- FAC/FAC_PACF.SRC | 3 +-- FAC/FAC_PACX.SRC | 6 ++--- INS/INS_PAC.SRC | 3 +-- INS/INS_TRI.SRC | 2 +- INS/INS_VIE.SRC | 4 ---- PRJ/PRJ_PAC.SRC | 52 +++++++++++++++++++--------------------- PRJ/PRJ_VIE.SRC | 10 ++++---- PRS/PRS_TAB.SRC | 10 ++------ PRS/PRS_TRI.SRC | 24 ++++++++++--------- PRS/PRS_VIE.SRC | 62 ++++++++++++++---------------------------------- _UP/DB18to19.src | 14 +++++++++++ 15 files changed, 103 insertions(+), 149 deletions(-) diff --git a/ALG/ALG_TRI.SRC b/ALG/ALG_TRI.SRC index 27407e2d..384621db 100644 --- a/ALG/ALG_TRI.SRC +++ b/ALG/ALG_TRI.SRC @@ -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; diff --git a/ALG/ALG_VIE.SRC b/ALG/ALG_VIE.SRC index 22657ed3..9d8ee958 100644 --- a/ALG/ALG_VIE.SRC +++ b/ALG/ALG_VIE.SRC @@ -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 diff --git a/CAD/CAD_VIE.SRC b/CAD/CAD_VIE.SRC index fe62d499..4f220f0e 100644 --- a/CAD/CAD_VIE.SRC +++ b/CAD/CAD_VIE.SRC @@ -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 diff --git a/CNT/CNT_VIE.SRC b/CNT/CNT_VIE.SRC index edd3f62b..8dd63f2b 100644 --- a/CNT/CNT_VIE.SRC +++ b/CNT/CNT_VIE.SRC @@ -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' diff --git a/FAC/FAC_PACF.SRC b/FAC/FAC_PACF.SRC index 31ec19b8..4940cb92 100644 --- a/FAC/FAC_PACF.SRC +++ b/FAC/FAC_PACF.SRC @@ -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 diff --git a/FAC/FAC_PACX.SRC b/FAC/FAC_PACX.SRC index b829a84b..ac79dcc4 100644 --- a/FAC/FAC_PACX.SRC +++ b/FAC/FAC_PACX.SRC @@ -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; diff --git a/INS/INS_PAC.SRC b/INS/INS_PAC.SRC index 0c19506a..e2916ee5 100644 --- a/INS/INS_PAC.SRC +++ b/INS/INS_PAC.SRC @@ -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'; diff --git a/INS/INS_TRI.SRC b/INS/INS_TRI.SRC index c899f5ef..6e04c853 100644 --- a/INS/INS_TRI.SRC +++ b/INS/INS_TRI.SRC @@ -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'); diff --git a/INS/INS_VIE.SRC b/INS/INS_VIE.SRC index c5fc0882..98b00322 100644 --- a/INS/INS_VIE.SRC +++ b/INS/INS_VIE.SRC @@ -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 diff --git a/PRJ/PRJ_PAC.SRC b/PRJ/PRJ_PAC.SRC index d5ee53ea..96c51176 100644 --- a/PRJ/PRJ_PAC.SRC +++ b/PRJ/PRJ_PAC.SRC @@ -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 - 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 + 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.prj_werkplek_verwijder IS NOT NULL + AND pw.prs_werkplek_key IS NOT NULL + 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 = diff --git a/PRJ/PRJ_VIE.SRC b/PRJ/PRJ_VIE.SRC index 230387b1..654afd21 100644 --- a/PRJ/PRJ_VIE.SRC +++ b/PRJ/PRJ_VIE.SRC @@ -87,7 +87,7 @@ AS -- 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 + ON prj_v_cad_thema_afdeling BEGIN IF UPDATING -- oude weggooien THEN @@ -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 diff --git a/PRS/PRS_TAB.SRC b/PRS/PRS_TAB.SRC index 1de73088..288de27e 100644 --- a/PRS/PRS_TAB.SRC +++ b/PRS/PRS_TAB.SRC @@ -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) ); diff --git a/PRS/PRS_TRI.SRC b/PRS/PRS_TRI.SRC index 658df5b1..0ba93450 100644 --- a/PRS/PRS_TRI.SRC +++ b/PRS/PRS_TRI.SRC @@ -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 - 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_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; / CREATE_TRIGGER(prs_t_prs_ruimteafdeling_B_IU) diff --git a/PRS/PRS_VIE.SRC b/PRS/PRS_VIE.SRC index 2c4310d1..8ada21f7 100644 --- a/PRS/PRS_VIE.SRC +++ b/PRS/PRS_VIE.SRC @@ -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 diff --git a/_UP/DB18to19.src b/_UP/DB18to19.src index 3c3306a7..b63d706f 100644 --- a/_UP/DB18to19.src +++ b/_UP/DB18to19.src @@ -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; ///////////////////////////////////////////////////////////////////////////////////////////