GOKO#75342 -- Beaufort-koppeling en probleem verwijderen werkplekkoppelingen - nu echt opgelost!

svn path=/Customer/trunk/; revision=58006
This commit is contained in:
Jos Migo
2022-11-16 08:57:18 +00:00
parent 299c0d2ba5
commit 7f29dec824

View File

@@ -387,14 +387,16 @@ CREATE OR REPLACE VIEW goko_v_locatiemanagers_wp
PRS_PERSLID_KEY,
ALG_LOCATIE_KEY,
NAAM,
LOCATIE_WP
LOCATIE_WP,
PRS_WERKPLEK_KEY
)
AS
SELECT wp.prs_perslid_key,
onr.alg_locatie_key,
p.prs_perslid_naam_friendly,
l.alg_locatie_code || ' - ' || l.alg_locatie_omschrijving
locatie
locatie,
w.prs_werkplek_key
FROM (
SELECT prs_perslid_key
FROM (SELECT *
@@ -873,10 +875,10 @@ IS
CURSOR c_loc_wp -- Voor updaten van locatieleiders (werkplek-koppelingen)
IS
SELECT v.prs_perslid_key, v.alg_locatie_key, v.actie
SELECT v.prs_perslid_key, v.alg_locatie_key, v.prs_werkplek_key, v.actie
FROM
(
SELECT man.prs_perslid_key, man.alg_locatie_key, 'toevoegen' actie
SELECT man.prs_perslid_key, man.alg_locatie_key, NULL prs_werkplek_key, 'toevoegen' actie
FROM goko_v_locatiemanagers man
WHERE NOT EXISTS
(SELECT *
@@ -884,7 +886,7 @@ IS
WHERE wp.alg_locatie_key = man.alg_locatie_key
AND wp.prs_perslid_key = man.prs_perslid_key)
UNION
SELECT wp.prs_perslid_key, wp.alg_locatie_key, 'verwijderen' actie
SELECT wp.prs_perslid_key, wp.alg_locatie_key, wp.prs_werkplek_key, 'verwijderen' actie
FROM goko_v_locatiemanagers_wp wp
WHERE NOT EXISTS
(SELECT *
@@ -892,13 +894,13 @@ IS
WHERE man.alg_locatie_key = wp.alg_locatie_key
AND man.prs_perslid_key = wp.prs_perslid_key)
UNION
SELECT wp.prs_perslid_key, wp.alg_locatie_key, 'ok' actie
SELECT wp.prs_perslid_key, wp.alg_locatie_key, wp.prs_werkplek_key, 'ok' actie
FROM goko_v_locatiemanagers_wp wp, goko_v_locatiemanagers man
WHERE man.alg_locatie_key = wp.alg_locatie_key
AND man.prs_perslid_key = wp.prs_perslid_key
) v
ORDER BY 1,2 ;
ORDER BY 1,2,3 ;
CURSOR c_loc_kp -- Voor updaten van locatieleiders (budgethouder kostenplaatsen en mandaten op kostenplaatsen)
IS
SELECT v_prs.prs_perslid_key,
@@ -1073,15 +1075,7 @@ BEGIN
THEN
v_errorhint:='Fout bij verwijderen werkplekken';
SELECT prs_werkplek_key
INTO v_prs_werkplek_key
FROM prs_v_perslidwerkplek_gegevens pwpg, alg_locatie l
WHERE pwpg.alg_locatie_key = l.alg_locatie_key
AND l.alg_locatie_key = rec.alg_locatie_key
AND pwpg.prs_perslid_key = rec.prs_perslid_key
GROUP BY prs_werkplek_key ;
DELETE prs_werkplek WHERE prs_werkplek_key = v_prs_werkplek_key;
DELETE prs_werkplek WHERE prs_werkplek_key = rec.prs_werkplek_key;
END IF;