BLOS#81357 -- WP_sync herzien - Regiomanagers moeten los van hun regio ook op individuele locaties als loccatiemanager kunnen fungeren

svn path=/Customer/trunk/; revision=63605
This commit is contained in:
Jos Migo
2024-02-14 16:24:05 +00:00
parent 5fb730ec5f
commit f1202983e2

View File

@@ -327,9 +327,9 @@ AS
AND a.prs_bedrijf_key = b.prs_bedrijf_key
AND b.prs_bedrijf_key = 21 -- bedrijfs_key BLOS
AND p.prs_srtperslid_key = sp.prs_srtperslid_key
AND sp.prs_srtperslid_key IN (25, 11181) --- 25 LOCATIEMANAGER (key 25) + ASSISTENT LOCATIEMANAGER (key 11181)
AND sp.prs_srtperslid_key IN (25, 11181, 4181) --- 25 LOCATIEMANAGER (key 25) + ASSISTENT LOCATIEMANAGER (key 11181) + REGIOEMANAGER (key 4181)
-- AND p.prs_perslid_verwijder IS NULL
ORDER BY sp.prs_srtperslid_omschrijving DESC, p.prs_perslid_voornaam, p.prs_perslid_naam
ORDER BY sp.prs_srtperslid_omschrijving, p.prs_perslid_voornaam, p.prs_perslid_naam
;
-- Lijst van Regiomanagers ((Cluster/District) (tbv domeinview)
@@ -444,7 +444,11 @@ CREATE OR REPLACE VIEW blos_v_locatiemanagers_wp
AS
SELECT wp.prs_perslid_key,
onr.alg_locatie_key,
p.prs_perslid_naam_friendly,
CASE WHEN p.prs_perslid_tussenvoegsel IS NULL
THEN p.prs_perslid_voornaam || ' ' || p.prs_perslid_naam || ' (' || sp.prs_srtperslid_omschrijving || ')'
ELSE p.prs_perslid_voornaam || ' ' || p.prs_perslid_tussenvoegsel || ' ' || p.prs_perslid_naam || ' (' || sp.prs_srtperslid_omschrijving || ')'
END
naam,
l.alg_locatie_code || ' - ' || l.alg_locatie_omschrijving
locatie,
w.prs_werkplek_key
@@ -455,8 +459,9 @@ AS
) x
GROUP BY x.prs_perslid_key
) v,
prs_v_perslid_fullnames p, prs_perslidwerkplek wp, prs_werkplek w, alg_ruimte r, alg_v_onrgoed_boom onr, alg_locatie l
prs_perslid p, prs_srtperslid sp, prs_perslidwerkplek wp, prs_werkplek w, alg_ruimte r, alg_v_onrgoed_boom onr, alg_locatie l
WHERE v.prs_perslid_key = p.prs_perslid_key
AND p.prs_srtperslid_key = sp.prs_srtperslid_key
AND p.prs_perslid_key = wp.prs_perslid_key
AND wp.prs_werkplek_key = w.prs_werkplek_key
AND w.prs_alg_ruimte_key = r.alg_ruimte_key
@@ -605,6 +610,13 @@ AS
wp.alg_locatie_key
AND man.prs_perslid_key =
wp.prs_perslid_key)
AND NOT EXISTS -- voor de regiomanagers die via de normale weg in de cluster-kaart zijn gekoppeld, moeten de werkplek-koppelingen natuurlijk niet verwijderd worden
(SELECT *
FROM blos_v_regiomanagers man
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,
@@ -644,7 +656,7 @@ AS
AND v_kp.prs_kostenplaats_key = pk.prs_kostenplaats_key
GROUP BY v_prs.prs_perslid_key,
v_kp.prs_kostenplaats_key)
AND pk.prs_perslid_key IN (SELECT d.prs_perslid_key FROM blos_v_personenlijst_loc d)
AND pk.prs_perslid_key IN (SELECT d.prs_perslid_key FROM blos_v_personenlijst_loc d WHERE INSTR(d.naam, 'Regiomanager')=0)
ORDER BY 1, 2 ;
CURSOR c_loc_recht -- -- Voor onderhouder van de locatiemanagers in de autorisatiegroepen
@@ -653,7 +665,7 @@ AS
(SELECT count(*) FROM prs_perslidwerkplek wp WHERE wp.prs_perslid_key = p.prs_perslid_key) aantal_wp,
(SELECT count(*) FROM fac_gebruikersgroep gg WHERE gg.prs_perslid_key = p.prs_perslid_key AND gg.fac_groep_key = 24) groep
FROM blos_v_personenlijst_loc p
WHERE p.prs_perslid_verwijder IS NULL
WHERE p.prs_perslid_verwijder IS NULL AND INSTR(p.naam, 'Regiomanager')=0 -- uitsluiten regiomanagers
ORDER BY 1 ;
@@ -986,6 +998,13 @@ AS
wp.alg_locatie_key
AND man.prs_perslid_key =
wp.prs_perslid_key)
AND NOT EXISTS -- voor de regiomanagers die ook direct in locatiekaart zijn gekoppeld, die moeten niet verwijderd worden...
(SELECT *
FROM blos_v_locatiemanagers man
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,
@@ -1043,6 +1062,12 @@ AS
FROM blos_v_personenlijst_dir d
WHERE d.prs_perslid_verwijder IS NULL
GROUP BY prs_perslid_key)
AND NOT EXISTS -- voor de regiomanagers die ook direct in locatiekaart zijn gekoppeld, die KP-mandaten moeten niet verwijderd worden...
( SELECT *
FROM blos_v_locatiemanagers man, blos_v_locaties_kp kp
WHERE man.alg_locatie_key = kp.alg_locatie_key
AND man.prs_perslid_key = pk.prs_perslid_key
AND kp.prs_kostenplaats_key = pk.prs_kostenplaats_key )
ORDER BY 1, 2;
CURSOR c_loc_bud_del -- Voor deleten van budgethouderschap op kostenplaatsen