BLOS#79136 -- Systematiek Locatieleiders en Werkplekkoppelingen - laaste fintetuning voor levering naar PROD
svn path=/Customer/trunk/; revision=62293
This commit is contained in:
118
BLOS/blos.sql
118
BLOS/blos.sql
@@ -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 = 25 --- LOCATIEMANAGER
|
||||
AND sp.prs_srtperslid_key IN (25, 11181) --- 25 LOCATIEMANAGER (key 25) + ASSISTENT LOCATIEMANAGER (key 11181)
|
||||
-- AND p.prs_perslid_verwijder IS NULL
|
||||
ORDER BY p.prs_perslid_naam
|
||||
ORDER BY sp.prs_srtperslid_omschrijving DESC, p.prs_perslid_voornaam, p.prs_perslid_naam
|
||||
;
|
||||
|
||||
-- Lijst van Regiomanagers ((Cluster/District) (tbv domeinview)
|
||||
@@ -409,7 +409,6 @@ CREATE OR REPLACE VIEW blos_v_locatiemanagers
|
||||
ALG_LOCATIE_KEY,
|
||||
LOCATIEMANAGER,
|
||||
LOCATIE,
|
||||
VERVANGER,
|
||||
PRS_PERSLID_VERWIJDER
|
||||
)
|
||||
AS
|
||||
@@ -419,12 +418,10 @@ AS
|
||||
locatiemanager,
|
||||
l.alg_locatie_code || ' - ' || l.alg_locatie_omschrijving
|
||||
locatie,
|
||||
CASE WHEN ok.alg_kenmerk_key = 1163 THEN 'ja' ELSE 'nee' END
|
||||
vervanger,
|
||||
p.prs_perslid_verwijder
|
||||
FROM prs_perslid p, prs_srtperslid sp, alg_onrgoedkenmerk ok, alg_locatie l
|
||||
WHERE fac.safe_to_number(ok.alg_onrgoedkenmerk_waarde) = p.prs_perslid_key
|
||||
AND ok.alg_kenmerk_key IN (1162, 1163) -- locatieleider en vervanger
|
||||
AND ok.alg_kenmerk_key IN (1162, 1163, 1300, 1301) -- locatieleiders (ook voor bijv vervangers en ssistenten)
|
||||
AND ok.alg_onrgoedkenmerk_verwijder IS NULL
|
||||
AND ok.alg_onrgoed_niveau = 'L' AND ok.alg_onrgoed_key = l.alg_locatie_key
|
||||
AND l.alg_locatie_verwijder IS NULL
|
||||
@@ -433,7 +430,6 @@ AS
|
||||
GROUP BY p.prs_perslid_key, l.alg_locatie_key,
|
||||
p.prs_perslid_naam || ' (' || p.prs_perslid_voornaam || ' ' || p.prs_perslid_tussenvoegsel || ') - ' || sp.prs_srtperslid_omschrijving,
|
||||
l.alg_locatie_code || ' - ' || l.alg_locatie_omschrijving,
|
||||
CASE WHEN ok.alg_kenmerk_key = 1163 THEN 'ja' ELSE 'nee' END,
|
||||
p.prs_perslid_verwijder ;
|
||||
|
||||
-- Lijst van Locatiemanagers + Cluster-managers en de Werkplekkoppeling die ze in hun personenkaart hebben
|
||||
@@ -554,7 +550,7 @@ AS
|
||||
AND p.prs_srtperslid_key = sp.prs_srtperslid_key
|
||||
AND v.alg_locatie_key = l.alg_locatie_key
|
||||
AND v.alg_locatie_key = lkp.alg_locatie_key(+)
|
||||
AND prs_srtperslid_upper = 'LOCATIEMANAGER';
|
||||
AND INSTR(prs_srtperslid_upper,'LOCATIEMANAGER') > 0 ;
|
||||
|
||||
--- DE PROCEDURE om voor de Locatiemanagers van de CLUSTERS de juiste CLUSTER-LOCATIES te koppelen als werkplek
|
||||
CREATE OR REPLACE VIEW blos_v_export_wp_loc_manager
|
||||
@@ -651,6 +647,17 @@ AS
|
||||
AND pk.prs_perslid_key IN (SELECT d.prs_perslid_key FROM blos_v_personenlijst_loc d)
|
||||
ORDER BY 1, 2 ;
|
||||
|
||||
CURSOR c_loc_del -- Voor opschonen van de locatiemanagers die geen locaties meer onder zich hebben en nog wel in autorisatiegroep
|
||||
IS
|
||||
SELECT p.prs_perslid_key, p.naam,
|
||||
(SELECT count(*) FROM prs_perslidwerkplek wp WHERE wp.prs_perslid_key = p.prs_perslid_key) aantal_wp,
|
||||
gg.fac_gebruikersgroep_key
|
||||
FROM blos_v_personenlijst_loc p, fac_gebruikersgroep gg
|
||||
WHERE p.prs_perslid_verwijder IS NULL
|
||||
AND p.prs_perslid_key = gg.prs_perslid_key
|
||||
AND gg.fac_groep_key = 24 -- autorisatiegroep Locatiemanagers
|
||||
ORDER BY 1 ;
|
||||
|
||||
|
||||
v_errormsg VARCHAR2 (1000);
|
||||
v_errorhint VARCHAR2 (1000);
|
||||
@@ -664,6 +671,7 @@ AS
|
||||
v_alg_ruimte_key NUMBER;
|
||||
v_prs_perslidkostenplaats_key NUMBER (10);
|
||||
v_teller_mandaat NUMBER (10);
|
||||
v_upsert_sync NUMBER(1);
|
||||
|
||||
BEGIN
|
||||
v_count := 0;
|
||||
@@ -675,6 +683,8 @@ BEGIN
|
||||
v_aanduiding :=
|
||||
'bijwerken werkplekkoppelingen locatiemanager - perslid_key:'
|
||||
|| TO_CHAR (rec.prs_perslid_key);
|
||||
|
||||
v_upsert_sync := 0 ;
|
||||
|
||||
IF rec.actie = 'toevoegen'
|
||||
THEN
|
||||
@@ -701,6 +711,9 @@ BEGIN
|
||||
v_alg_ruimte_key,
|
||||
'L',
|
||||
1);
|
||||
|
||||
v_upsert_sync := 1 ;
|
||||
|
||||
END;
|
||||
END IF;
|
||||
END;
|
||||
@@ -714,7 +727,19 @@ BEGIN
|
||||
|
||||
DELETE prs_werkplek
|
||||
WHERE prs_werkplek_key = rec.prs_werkplek_key;
|
||||
|
||||
v_upsert_sync := 1 ;
|
||||
|
||||
END IF;
|
||||
|
||||
-- In personenkaart nog even vermelden wanneer deze vanuit de WP-sync voor het laatst zijn gemuteerd
|
||||
IF v_upsert_sync = 1
|
||||
THEN
|
||||
|
||||
PRS.upsertkenmerk (1141, rec.prs_perslid_key, TO_CHAR(sysdate, 'dd-mm-yyyy HH24:MI'));
|
||||
|
||||
END IF;
|
||||
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
@@ -730,7 +755,9 @@ BEGIN
|
||||
'E',
|
||||
v_aanduiding || ' - ' || v_errormsg,
|
||||
v_errorhint);
|
||||
|
||||
END;
|
||||
|
||||
END LOOP;
|
||||
|
||||
FOR rec IN c_loc_kp
|
||||
@@ -786,6 +813,29 @@ BEGIN
|
||||
rec.prs_perslidkostenplaats_key;
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
FOR rec IN c_loc_del
|
||||
LOOP
|
||||
BEGIN
|
||||
-- Alle managers zonder WP's uit de autorisatiegroep Locatiemanagers halen (key 24)
|
||||
v_aanduiding :=
|
||||
'bijwerken locatiemanager - perslid_key:'
|
||||
|| TO_CHAR (rec.prs_perslid_key);
|
||||
|
||||
v_errorhint := 'verwijderen locatiemanager uit autorisatiegroep';
|
||||
|
||||
IF rec.aantal_wp = 0
|
||||
THEN
|
||||
|
||||
DELETE
|
||||
FROM fac_gebruikersgroep
|
||||
WHERE fac_gebruikersgroep_key = rec.fac_gebruikersgroep_key ;
|
||||
|
||||
END IF;
|
||||
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
@@ -992,6 +1042,7 @@ AS
|
||||
v_teller_mandaat NUMBER(10);
|
||||
v_prs_perslid_key NUMBER (10);
|
||||
v_kostenplaats_actueel NUMBER(1);
|
||||
v_upsert_sync NUMBER(1);
|
||||
|
||||
BEGIN
|
||||
v_count := 0;
|
||||
@@ -1003,6 +1054,8 @@ BEGIN
|
||||
v_aanduiding :=
|
||||
'bijwerken werkplekkoppelingen regiomanager/directeur - perslid_key:'
|
||||
|| TO_CHAR (rec.prs_perslid_key);
|
||||
|
||||
v_upsert_sync := 0 ;
|
||||
|
||||
IF rec.actie = 'toevoegen'
|
||||
THEN
|
||||
@@ -1029,6 +1082,9 @@ BEGIN
|
||||
v_alg_ruimte_key,
|
||||
'L',
|
||||
1);
|
||||
|
||||
v_upsert_sync := 1 ;
|
||||
|
||||
END;
|
||||
END IF;
|
||||
END;
|
||||
@@ -1042,7 +1098,19 @@ BEGIN
|
||||
|
||||
DELETE prs_werkplek
|
||||
WHERE prs_werkplek_key = rec.prs_werkplek_key;
|
||||
|
||||
v_upsert_sync := 1 ;
|
||||
|
||||
END IF;
|
||||
|
||||
-- In personenkaart nog even vermelden wanneer deze vanuit de WP-sync voor het laatst zijn gemuteerd
|
||||
IF v_upsert_sync = 1
|
||||
THEN
|
||||
|
||||
PRS.upsertkenmerk (1141, rec.prs_perslid_key, TO_CHAR(sysdate, 'dd-mm-yyyy HH24:MI'));
|
||||
|
||||
END IF;
|
||||
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
@@ -1816,7 +1884,9 @@ CREATE OR REPLACE VIEW BLOS_V_ALG_ONROERENDGOED_BASIS
|
||||
KOSTENPLAATS_2,
|
||||
KOSTENPLAATS_3,
|
||||
LOCATIEMANAGER,
|
||||
LOCATIEMANAGER_VERVANGER,
|
||||
LOCATIEMANAGER_2,
|
||||
LOCATIEMANAGER_3,
|
||||
LOCATIEMANAGER_4,
|
||||
LOCATIE_VERVALDATUM,
|
||||
LOCATIE_VERWIJDERDATUM,
|
||||
LOCATIE_OUD
|
||||
@@ -1837,8 +1907,26 @@ AS
|
||||
km.kostenplaats_1,
|
||||
km.kostenplaats_2,
|
||||
km.kostenplaats_3,
|
||||
km.locatiemanager,
|
||||
km.vervanger,
|
||||
CASE WHEN (SELECT count(*) FROM prs_perslid p WHERE p.prs_perslid_key = fac.safe_to_number(km.locatiemanager_key) AND p.prs_perslid_verwijder IS NOT NULL) = 1
|
||||
THEN km.locatiemanager || ' - oud!'
|
||||
ELSE km.locatiemanager
|
||||
END
|
||||
locatiemanager,
|
||||
CASE WHEN (SELECT count(*) FROM prs_perslid p WHERE p.prs_perslid_key = fac.safe_to_number(km.locatiemanager_2_key) AND p.prs_perslid_verwijder IS NOT NULL) = 1
|
||||
THEN km.locatiemanager_2 || ' - oud!'
|
||||
ELSE km.locatiemanager_2
|
||||
END
|
||||
locatiemanager_2,
|
||||
CASE WHEN (SELECT count(*) FROM prs_perslid p WHERE p.prs_perslid_key = fac.safe_to_number(km.locatiemanager_3_key) AND p.prs_perslid_verwijder IS NOT NULL) = 1
|
||||
THEN km.locatiemanager_3 || ' - oud!'
|
||||
ELSE km.locatiemanager_3
|
||||
END
|
||||
locatiemanager_3,
|
||||
CASE WHEN (SELECT count(*) FROM prs_perslid p WHERE p.prs_perslid_key = fac.safe_to_number(km.locatiemanager_4_key) AND p.prs_perslid_verwijder IS NOT NULL) = 1
|
||||
THEN km.locatiemanager_4 || ' - oud!'
|
||||
ELSE km.locatiemanager_4
|
||||
END
|
||||
locatiemanager_4,
|
||||
l.alg_locatie_vervaldatum,
|
||||
l.alg_locatie_verwijder,
|
||||
CASE WHEN l.alg_locatie_verwijder IS NULL AND (l.alg_locatie_vervaldatum IS NULL OR TRUNC(l.alg_locatie_vervaldatum) > TRUNC(SYSDATE))
|
||||
@@ -1859,7 +1947,13 @@ AS
|
||||
flx.getdomeinwaarde(221,flx.getflex('ALG',1142, l.alg_locatie_key,'L')) kostenplaats_3,
|
||||
-- locatieverantwoordelijke
|
||||
flx.getdomeinwaarde(181,flx.getflex('ALG', 1162, l.alg_locatie_key, 'L')) locatiemanager,
|
||||
flx.getdomeinwaarde(182,flx.getflex('ALG', 1163, l.alg_locatie_key, 'L')) vervanger
|
||||
flx.getflex('ALG', 1162, l.alg_locatie_key, 'L') locatiemanager_key,
|
||||
flx.getdomeinwaarde(181,flx.getflex('ALG', 1163, l.alg_locatie_key, 'L')) locatiemanager_2,
|
||||
flx.getflex('ALG', 1163, l.alg_locatie_key, 'L') locatiemanager_2_key,
|
||||
flx.getdomeinwaarde(181,flx.getflex('ALG', 1300, l.alg_locatie_key, 'L')) locatiemanager_3,
|
||||
flx.getflex('ALG', 1300, l.alg_locatie_key, 'L') locatiemanager_3_key,
|
||||
flx.getdomeinwaarde(181,flx.getflex('ALG', 1301, l.alg_locatie_key, 'L')) locatiemanager_4,
|
||||
flx.getflex('ALG', 1301, l.alg_locatie_key, 'L') locatiemanager_4_key
|
||||
FROM alg_locatie l ) km,
|
||||
(SELECT d.alg_district_key,
|
||||
-- regiomanager en regio-directeur
|
||||
|
||||
Reference in New Issue
Block a user