FSN#26947 perslidwerkplek_verwijder en werkplek_verwijder vervallen > primitieve tbv imports

svn path=/Database/trunk/; revision=19102
This commit is contained in:
Peter Feij
2013-09-13 12:36:31 +00:00
parent ef0c10cca9
commit 1f0494e5c7

View File

@@ -497,7 +497,7 @@ AS
END IF;
END;
-- Verhuist een persoon p_prs_key naar een werkplek in p_ruimte_key
-- Als er al werkplekken waren binnen het niveau van p_alg_type (R,V,G,L, NULL)
-- Als er al vaste werkplekken waren binnen het niveau van p_alg_type (R,V,G,L,D,NULL)
-- dan worden die geleegd/gewist. Bij NULL wordt niks gewist.
PROCEDURE movetoruimte (p_prs_key IN NUMBER,
p_ruimte_key IN NUMBER,
@@ -510,7 +510,7 @@ AS
v_wp_oms prs_werkplek.prs_werkplek_omschrijving%TYPE;
v_alg_key NUMBER (10);
BEGIN
-- Bepalen of werkplek gewijzigt is tov de huidige situatie
-- Bepalen of werkplek gewijzigd is tov de huidige situatie
-- door te tellen hoe vaak (1) we al in de nieuwe situatie zitten
SELECT COUNT ( * )
INTO v_count
@@ -522,20 +522,21 @@ AS
IF (v_count = 0)
THEN
-- Persoon zit nog niet op de bestemming
-- Verwijderen oude -niet virtuele- werkplek(ken) op meegegeven niveau.
-- Verwijderen oude -vaste- werkplek(ken) op meegegeven niveau.
SELECT MIN(DECODE (p_alg_type,
'R', alg_ruimte_key,
'V', alg_verdieping_key,
'G', alg_gebouw_key,
'L', alg_locatie_key,
'D', alg_district_key,
NULL))
INTO v_alg_key
FROM alg_v_allonroerendgoed
WHERE alg_type = 'R' AND alg_ruimte_key = p_ruimte_key;
FROM alg_v_ruimte_gegevens_all
WHERE alg_ruimte_key = p_ruimte_key;
IF fac.getsetting ('prs_werkplek_implicit') = '0' --expliciet
THEN
-- Wis de bezetting maar laat de WP bestaan
-- Wis de bezetting maar laat de werkplek bestaan
DELETE FROM prs_perslidwerkplek pw
WHERE pw.prs_perslid_key = p_prs_key
AND EXISTS
@@ -547,18 +548,20 @@ AS
'V', alg_verdieping_key,
'G', alg_gebouw_key,
'L', alg_locatie_key,
'D', alg_district_key,
NULL)
alg_key
FROM alg_v_allonroerendgoed
WHERE alg_type = 'R') og
FROM alg_v_ruimte_gegevens_all) og
WHERE wp.prs_werkplek_key = pw.prs_werkplek_key
AND wp.prs_werkplek_virtueel = 0
AND wp.prs_werkplek_type = 0 -- alleen vaste plekken
AND wp.prs_alg_ruimte_key = og.alg_ruimte_key
AND og.alg_key = v_alg_key);
ELSE
-- Wis de werkplek, automatisch inclusief de bezetting
DELETE FROM prs_werkplek wp
WHERE wp.prs_werkplek_virtueel = 0
AND wp.prs_werkplek_type = 0 -- alleen vaste plekken
AND EXISTS
(SELECT 1
FROM prs_perslidwerkplek pw,
@@ -568,10 +571,10 @@ AS
'V', alg_verdieping_key,
'G', alg_gebouw_key,
'L', alg_locatie_key,
'D', alg_district_key,
NULL)
alg_key
FROM alg_v_allonroerendgoed
WHERE alg_type = 'R') og
FROM alg_v_ruimte_gegevens_all) og
WHERE pw.prs_perslid_key = p_prs_key
AND pw.prs_werkplek_key = wp.prs_werkplek_key
AND wp.prs_alg_ruimte_key = og.alg_ruimte_key
@@ -586,6 +589,8 @@ AS
INTO v_wp_key
FROM prs_werkplek wp
WHERE wp.prs_alg_ruimte_key = p_ruimte_key
AND wp.prs_werkplek_virtueel = 0
AND wp.prs_werkplek_type = 0 -- alleen vaste plekken
AND NOT EXISTS (SELECT 1
FROM prs_perslidwerkplek pw
WHERE pw.prs_werkplek_key = wp.prs_werkplek_key);
@@ -614,8 +619,9 @@ AS
-- Toevoegen nieuwe werkplek in meegegeven ruimte.
INSERT INTO prs_werkplek (prs_werkplek_volgnr,
prs_werkplek_omschrijving,
prs_alg_ruimte_key)
VALUES (v_wp_volgnr, v_wp_oms, p_ruimte_key)
prs_alg_ruimte_key,
prs_werkplek_type)
VALUES (v_wp_volgnr, v_wp_oms, p_ruimte_key, 0)
RETURNING prs_werkplek_key
INTO v_wp_key;
END IF;