FSN#26947 Opschonen gebruik perslidwerkplek/werkplek_verwijder
svn path=/Customer/trunk/; revision=19147
This commit is contained in:
140
RENK/renk.sql
140
RENK/renk.sql
@@ -810,7 +810,7 @@ IS
|
||||
AND p.prs_perslid_naam NOT LIKE c_persoon_inactief || '%'
|
||||
AND NOT EXISTS
|
||||
(SELECT 1
|
||||
FROM prs_v_aanwezigperslidwerkplek pw
|
||||
FROM prs_perslidwerkplek pw
|
||||
WHERE pw.prs_perslid_key = p.prs_perslid_key);
|
||||
|
||||
-- Alle aanwezige personen met oslogin (ie. de import-doelgroep) niet in een groep
|
||||
@@ -1301,7 +1301,7 @@ BEGIN
|
||||
|
||||
SELECT COUNT ( * )
|
||||
INTO v_count
|
||||
FROM prs_v_aanwezigperslidwerkplek pw,
|
||||
FROM prs_perslidwerkplek pw,
|
||||
prs_werkplek w,
|
||||
alg_ruimte r,
|
||||
alg_verdieping v
|
||||
@@ -1314,117 +1314,10 @@ BEGIN
|
||||
-- Als persoon in gebouw reeds een werkplek heeft en de nieuwe zou
|
||||
-- in de default ruimte zijn (want ongedefinieerd bij import!), dan
|
||||
-- wordt onderstaande overgeslagen.
|
||||
IF v_count = 0 OR recwp.alg_ruimte_nr != c_ruimte_nr
|
||||
IF (v_count = 0 OR recwp.alg_ruimte_nr != c_ruimte_nr)
|
||||
THEN
|
||||
v_errorhint := 'Fout bij bepalen of werkplek is gewijzigd';
|
||||
|
||||
SELECT COUNT ( * )
|
||||
INTO v_count
|
||||
FROM prs_v_aanwezigperslidwerkplek pw, prs_werkplek w
|
||||
WHERE pw.prs_perslid_key = v_perslid_key
|
||||
AND pw.prs_werkplek_key = w.prs_werkplek_key
|
||||
AND w.prs_alg_ruimte_key = v_ruimte_key;
|
||||
|
||||
IF v_count = 0
|
||||
THEN
|
||||
v_errorhint :=
|
||||
'Fout bij verwijderen oude werkplek(ken) in gebouw';
|
||||
|
||||
UPDATE prs_perslidwerkplek
|
||||
SET prs_perslidwerkplek_verwijder = SYSDATE
|
||||
WHERE prs_perslidwerkplek_key IN
|
||||
(SELECT pw.prs_perslidwerkplek_key
|
||||
FROM prs_v_aanwezigperslidwerkplek pw,
|
||||
prs_werkplek w,
|
||||
alg_ruimte r,
|
||||
alg_verdieping v
|
||||
WHERE pw.prs_perslid_key = v_perslid_key
|
||||
AND pw.prs_werkplek_key =
|
||||
w.prs_werkplek_key
|
||||
AND w.prs_alg_ruimte_key =
|
||||
r.alg_ruimte_key
|
||||
AND r.alg_verdieping_key =
|
||||
v.alg_verdieping_key
|
||||
AND v.alg_gebouw_key =
|
||||
v_gebouw_key);
|
||||
|
||||
-- Persoon krijgt wp op de hierboven eerder bepaalde ruimte.
|
||||
v_errorhint := 'Fout bij bepalen vrije werkplek';
|
||||
|
||||
SELECT COUNT ( * )
|
||||
INTO v_count
|
||||
FROM prs_v_aanwezigwerkplek w
|
||||
WHERE w.prs_alg_ruimte_key = v_ruimte_key
|
||||
AND NOT EXISTS
|
||||
(SELECT 1
|
||||
FROM prs_v_aanwezigperslidwerkplek pw
|
||||
WHERE pw.prs_werkplek_key =
|
||||
w.prs_werkplek_key);
|
||||
|
||||
IF v_count > 0
|
||||
THEN
|
||||
SELECT MIN (w.prs_werkplek_key)
|
||||
INTO v_wp_key
|
||||
FROM prs_v_aanwezigwerkplek w
|
||||
WHERE w.prs_alg_ruimte_key = v_ruimte_key
|
||||
AND NOT EXISTS
|
||||
(SELECT 1
|
||||
FROM prs_v_aanwezigperslidwerkplek pw
|
||||
WHERE pw.prs_werkplek_key =
|
||||
w.prs_werkplek_key);
|
||||
|
||||
-- Verwijder (keihard) de mogelijk eerder logisch verwijderde
|
||||
-- koppeling tussen dezelfde persoon en werkplek!!!
|
||||
DELETE FROM prs_perslidwerkplek pw
|
||||
WHERE pw.prs_perslid_key = v_perslid_key
|
||||
AND pw.prs_werkplek_key = v_wp_key
|
||||
AND pw.prs_perslidwerkplek_verwijder IS NOT NULL;
|
||||
|
||||
v_errorhint :=
|
||||
'Fout bij koppelen persoon aan vrije werkplek';
|
||||
|
||||
INSERT INTO prs_perslidwerkplek (
|
||||
prs_perslid_key,
|
||||
prs_werkplek_key,
|
||||
prs_perslidwerkplek_bezetting
|
||||
)
|
||||
VALUES (v_perslid_key, v_wp_key, 100);
|
||||
|
||||
COMMIT;
|
||||
ELSE
|
||||
v_errorhint := 'Fout bij bepalen nieuwe werkplek';
|
||||
|
||||
SELECT COALESCE (MAX (w.prs_werkplek_volgnr), 0) + 1
|
||||
INTO v_wp_volgnr
|
||||
FROM prs_werkplek w
|
||||
WHERE w.prs_alg_ruimte_key = v_ruimte_key;
|
||||
|
||||
v_wp_oms := v_ruimte_nr || '/' || TO_CHAR (v_wp_volgnr);
|
||||
v_errorhint := 'Fout bij toevoegen nieuwe werkplek';
|
||||
|
||||
INSERT INTO prs_werkplek (prs_werkplek_module,
|
||||
prs_werkplek_volgnr,
|
||||
prs_werkplek_omschrijving,
|
||||
prs_alg_ruimte_key)
|
||||
VALUES ('PRR',
|
||||
v_wp_volgnr,
|
||||
v_wp_oms,
|
||||
v_ruimte_key)
|
||||
RETURNING prs_werkplek_key INTO v_wp_key;
|
||||
|
||||
v_errorhint :=
|
||||
'Fout bij koppelen persoon aan nieuwe werkplek';
|
||||
|
||||
INSERT INTO prs_perslidwerkplek (
|
||||
prs_perslid_key,
|
||||
prs_werkplek_key,
|
||||
prs_perslidwerkplek_bezetting
|
||||
)
|
||||
VALUES (v_perslid_key, v_wp_key, 100);
|
||||
|
||||
COMMIT;
|
||||
END IF;
|
||||
END IF;
|
||||
v_errorhint := 'Fout bij verhuizen naar nieuwe werkplek';
|
||||
PRS.movetoruimte (v_perslid_key, v_ruimte_key, 'G');
|
||||
END IF;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
@@ -1861,14 +1754,16 @@ AS
|
||||
AND l.alg_locatie_key = 50;
|
||||
|
||||
|
||||
/* Formatted on 29-8-2013 17:20:02 (QP5 v5.115.810.9015) */
|
||||
CREATE OR REPLACE PACKAGE RENK
|
||||
AS
|
||||
-- PACKAGES voor de RENK specifieke ondersteuning
|
||||
PROCEDURE freezereserveringen (p_groepering IN VARCHAR2);
|
||||
PROCEDURE freezereserveringen (p_groepering IN VARCHAR2,
|
||||
p_kenmerk IN VARCHAR2);
|
||||
END;
|
||||
/
|
||||
|
||||
/* Formatted on 20-8-2013 13:22:02 (QP5 v5.115.810.9015) */
|
||||
/* Formatted on 29-8-2013 17:20:02 (QP5 v5.115.810.9015) */
|
||||
CREATE OR REPLACE PACKAGE BODY RENK
|
||||
AS
|
||||
PROCEDURE freezereserveringen (p_groepering IN VARCHAR2,
|
||||
@@ -1885,7 +1780,8 @@ AS
|
||||
rr.res_rsv_ruimte_key,
|
||||
rr.res_reservering_key,
|
||||
rr.res_rsv_ruimte_volgnr,
|
||||
rd.res_rsv_deel_key
|
||||
rd.res_rsv_deel_key,
|
||||
rd.res_status_bo_key
|
||||
FROM renk_v_verhuurregels_alle v,
|
||||
res_v_aanwezigrsv_ruimte rr,
|
||||
res_v_aanwezigrsv_deel rd
|
||||
@@ -1899,7 +1795,8 @@ AS
|
||||
rr.res_rsv_ruimte_key,
|
||||
rr.res_reservering_key,
|
||||
rr.res_rsv_ruimte_volgnr,
|
||||
ra.res_rsv_artikel_key
|
||||
ra.res_rsv_artikel_key,
|
||||
ra.res_status_bo_key
|
||||
FROM renk_v_verhuurregels_alle v,
|
||||
res_v_aanwezigrsv_ruimte rr,
|
||||
res_v_aanwezigrsv_artikel ra
|
||||
@@ -1912,7 +1809,8 @@ AS
|
||||
SELECT v.resid,
|
||||
rr.res_rsv_ruimte_key,
|
||||
rr.res_reservering_key,
|
||||
rr.res_rsv_ruimte_volgnr
|
||||
rr.res_rsv_ruimte_volgnr,
|
||||
rr.res_status_bo_key
|
||||
FROM renk_v_verhuurregels_alle v, res_v_aanwezigrsv_ruimte rr
|
||||
WHERE v.groepering = p_groepering
|
||||
AND v.res_rsv_ruimte_key = rr.res_rsv_ruimte_key;
|
||||
@@ -1957,7 +1855,6 @@ AS
|
||||
COMMIT;
|
||||
v_count_upd := v_count_upd + 1;
|
||||
END IF;
|
||||
|
||||
--v_errormsg := 'Fout bij bepalen res_rsv_deel_prijs.';
|
||||
|
||||
--SELECT res.getdeelprijs (rec.res_rsv_deel_key)
|
||||
@@ -2030,7 +1927,6 @@ AS
|
||||
COMMIT;
|
||||
v_count_upd := v_count_upd + 1;
|
||||
END IF;
|
||||
|
||||
--IF (rec.res_artikel_prijs_vast = 1)
|
||||
--THEN
|
||||
-- v_errormsg := 'Fout bij bepalen res_rsv_artikel_prijs.';
|
||||
@@ -2156,14 +2052,16 @@ AS
|
||||
|| '|'
|
||||
|| rec.res_rsv_ruimte_key
|
||||
|| '|'
|
||||
|| TO_CHAR (p_prskey)
|
||||
|| TO_CHAR (p_groepering)
|
||||
|| '] ';
|
||||
|
||||
v_errormsg := 'Fout bij bijwerken kenmerk.';
|
||||
|
||||
UPDATE res_rsv_ruimte
|
||||
SET res_rsv_ruimte_ordernr =
|
||||
res_rsv_ruimte_ordernr || '+' || v_factuurnr
|
||||
DECODE (res_rsv_ruimte_ordernr,
|
||||
NULL, p_kenmerk,
|
||||
res_rsv_ruimte_ordernr || '+' || p_kenmerk)
|
||||
WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
|
||||
|
||||
-- Niet voor "roomservice"!
|
||||
|
||||
Reference in New Issue
Block a user