AAIT#90164 -- Voor BFNL - Locatiemanagers automatisch mandaat krijgen - Methodiek uit oude BLOS-omgeving overnemen
svn path=/Customer/trunk/; revision=70229
This commit is contained in:
274
AA/BFNL/bfnl.sql
274
AA/BFNL/bfnl.sql
@@ -66,6 +66,280 @@ END;
|
||||
-- PERSONEN/ORGANISATIE ---
|
||||
-----------------------------------
|
||||
|
||||
--------------------------------------------------------------------
|
||||
-- Locatiekaart en gekoppelde locatieleider - SYSTEMATIEK BLOS ---
|
||||
--------------------------------------------------------------------
|
||||
|
||||
-- Inpassen systematiek om werkplekkoppelingen te genereren op basis locatiekaart
|
||||
|
||||
-- Lijst van Kostenplaatsen (die men in locatiekaart kan selecteren)
|
||||
CREATE OR REPLACE VIEW bfnl_v_kostenplaatsen
|
||||
(
|
||||
PRS_KOSTENPLAATS_KEY,
|
||||
PRS_KOSTENPLAATS_NR,
|
||||
PRS_KOSTENPLAATS_VERWIJDER,
|
||||
PRS_KOSTENPLAATS_ACTUEEL,
|
||||
PRS_KOSTENPLAATS_OMSCHRIJVING
|
||||
)
|
||||
AS
|
||||
SELECT k.prs_kostenplaats_key,
|
||||
CASE
|
||||
WHEN ( prs_kostenplaats_verwijder IS NOT NULL
|
||||
OR ( prs_kostenplaats_eind IS NOT NULL
|
||||
AND prs_kostenplaats_eind < TRUNC (SYSDATE)))
|
||||
THEN
|
||||
k.prs_kostenplaats_nr || ' - oud!'
|
||||
ELSE
|
||||
k.prs_kostenplaats_nr
|
||||
END
|
||||
prs_kostenplaats_nr,
|
||||
k.prs_kostenplaats_verwijder,
|
||||
CASE
|
||||
WHEN ( prs_kostenplaats_verwijder IS NOT NULL
|
||||
OR ( prs_kostenplaats_eind IS NOT NULL
|
||||
AND prs_kostenplaats_eind < TRUNC (SYSDATE)))
|
||||
THEN
|
||||
NULL
|
||||
ELSE
|
||||
'oud!'
|
||||
END
|
||||
prs_kostenplaats_actueel,
|
||||
k.prs_kostenplaats_omschrijving
|
||||
FROM prs_kostenplaats k;
|
||||
|
||||
-- Lijst van Locatieleiders (tbv domeinview)
|
||||
CREATE OR REPLACE VIEW bfnl_v_personenlijst_loc
|
||||
(
|
||||
PRS_PERSLID_KEY,
|
||||
NAAM,
|
||||
PERSONEELSNUMMER,
|
||||
EMAIL,
|
||||
PRS_PERSLID_VERWIJDER
|
||||
)
|
||||
AS
|
||||
SELECT
|
||||
p.prs_perslid_key,
|
||||
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,
|
||||
p.prs_perslid_nr,
|
||||
p.prs_perslid_email,
|
||||
p.prs_perslid_verwijder
|
||||
FROM
|
||||
prs_perslid p,
|
||||
prs_srtperslid sp,
|
||||
prs_v_afdeling a,
|
||||
prs_bedrijf b
|
||||
WHERE
|
||||
p.prs_afdeling_key = a.prs_afdeling_key
|
||||
AND a.prs_bedrijf_key = b.prs_bedrijf_key
|
||||
AND b.prs_bedrijf_key = 541 -- bedrijfs_key Babilou Family NL
|
||||
AND p.prs_srtperslid_key = sp.prs_srtperslid_key
|
||||
AND sp.prs_srtperslid_key IN (544, 543, 542) --- LOCATIEMANAGER (key 544) + ASSISTENT LOCATIEMANAGER (key 543) + REGIOEMANAGER (key 542)
|
||||
-- AND p.prs_perslid_verwijder IS NULL
|
||||
ORDER BY sp.prs_srtperslid_omschrijving, p.prs_perslid_voornaam, p.prs_perslid_naam
|
||||
;
|
||||
|
||||
-- Lijst van Regiomanagers ((Cluster/District) (tbv domeinview)
|
||||
CREATE OR REPLACE VIEW bfnl_v_personenlijst_clus
|
||||
(
|
||||
PRS_PERSLID_KEY,
|
||||
NAAM,
|
||||
PERSONEELSNUMMER,
|
||||
EMAIL,
|
||||
PRS_PERSLID_VERWIJDER
|
||||
)
|
||||
AS
|
||||
SELECT
|
||||
p.prs_perslid_key,
|
||||
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,
|
||||
p.prs_perslid_nr,
|
||||
p.prs_perslid_email,
|
||||
p.prs_perslid_verwijder
|
||||
FROM
|
||||
prs_perslid p,
|
||||
prs_srtperslid sp,
|
||||
prs_v_afdeling a,
|
||||
prs_bedrijf b
|
||||
WHERE
|
||||
p.prs_afdeling_key = a.prs_afdeling_key
|
||||
AND a.prs_bedrijf_key = b.prs_bedrijf_key
|
||||
AND b.prs_bedrijf_key = 541 -- bedrijfs_key Babilou Family NL
|
||||
AND p.prs_srtperslid_key = sp.prs_srtperslid_key
|
||||
AND sp.prs_srtperslid_key = 542 --- REGIOEMANAGER
|
||||
-- AND p.prs_perslid_verwijder IS NULL
|
||||
ORDER BY p.prs_perslid_naam
|
||||
;
|
||||
|
||||
-- Lijst van Locatieleiders/Vervangers en de locaties waar men verantwoordelijk voor is)
|
||||
CREATE OR REPLACE VIEW bfnl_v_locatiemanagers
|
||||
(
|
||||
PRS_PERSLID_KEY,
|
||||
ALG_LOCATIE_KEY,
|
||||
LOCATIEMANAGER,
|
||||
LOCATIE, -- voor BFNL de personen op GEBOUW gekoppeld en de naam locatie wel op locatieniveau
|
||||
PRS_PERSLID_VERWIJDER
|
||||
)
|
||||
AS
|
||||
SELECT p.prs_perslid_key,
|
||||
l.alg_locatie_key,
|
||||
p.prs_perslid_naam || ' (' || p.prs_perslid_voornaam || ' ' || p.prs_perslid_tussenvoegsel || ') - ' || sp.prs_srtperslid_omschrijving
|
||||
locatiemanager,
|
||||
l.alg_locatie_code || ' - ' || l.alg_locatie_omschrijving
|
||||
locatie,
|
||||
p.prs_perslid_verwijder
|
||||
FROM prs_perslid p, prs_srtperslid sp, alg_onrgoedkenmerk ok, alg_gebouw g, alg_locatie l
|
||||
WHERE fac.safe_to_number(ok.alg_onrgoedkenmerk_waarde) = p.prs_perslid_key
|
||||
AND ok.alg_kenmerk_key IN (1180, 1181, 1182, 1183) -- locatieleiders (ook voor bijv vervangers en assistenten)
|
||||
AND ok.alg_onrgoedkenmerk_verwijder IS NULL
|
||||
AND ok.alg_onrgoed_niveau = 'G' AND ok.alg_onrgoed_key = g.alg_gebouw_key
|
||||
AND g.alg_gebouw_verwijder IS NULL
|
||||
AND g.alg_locatie_key = l.alg_locatie_key
|
||||
AND l.alg_locatie_verwijder IS NULL
|
||||
AND (TRUNC(l.alg_locatie_vervaldatum) > TRUNC(sysdate) OR l.alg_locatie_vervaldatum IS NULL )
|
||||
AND (TRUNC(g.alg_gebouw_vervaldatum) > TRUNC(sysdate) OR g.alg_gebouw_vervaldatum IS NULL )
|
||||
AND p.prs_srtperslid_key = sp.prs_srtperslid_key
|
||||
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,
|
||||
p.prs_perslid_verwijder ;
|
||||
|
||||
-- Lijst van Locatiemanagers + Cluster-managers en de Werkplekkoppeling die ze in hun personenkaart hebben
|
||||
CREATE OR REPLACE VIEW bfnl_v_locatiemanagers_wp
|
||||
(
|
||||
PRS_PERSLID_KEY,
|
||||
ALG_LOCATIE_KEY,
|
||||
NAAM,
|
||||
LOCATIE_WP,
|
||||
PRS_WERKPLEK_KEY
|
||||
)
|
||||
AS
|
||||
SELECT wp.prs_perslid_key,
|
||||
onr.alg_locatie_key,
|
||||
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
|
||||
FROM (
|
||||
SELECT prs_perslid_key
|
||||
FROM (SELECT *
|
||||
FROM bfnl_v_personenlijst_loc
|
||||
) x
|
||||
GROUP BY x.prs_perslid_key
|
||||
) v,
|
||||
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
|
||||
AND r.alg_ruimte_key = onr.alg_ruimte_key
|
||||
AND onr.alg_locatie_key = l.alg_locatie_key
|
||||
ORDER BY wp.prs_perslid_key
|
||||
;
|
||||
|
||||
-- Nog 2 bronviews nodig voor procedure:
|
||||
--- Bronview: Alle locaties met haar kostenplaats(en): bfnl_v_locaties_kp
|
||||
--- Bronview: Alle werkplek-koppeling per locatiemanager en de kp's die daarbij vanuit locatiekaart bijhoren: bfnl_v_locaties_wp_kp
|
||||
|
||||
-- BRONVIEW: Alle locaties met haar kostenplaats(en)
|
||||
CREATE OR REPLACE VIEW bfnl_v_locaties_kp
|
||||
(
|
||||
alg_locatie_key,
|
||||
alg_locatie_omschrijving,
|
||||
prs_kostenplaats_key,
|
||||
prs_kostenplaats_nr,
|
||||
prs_kostenplaats_eind,
|
||||
prs_kostenplaats_verwijder
|
||||
)
|
||||
AS
|
||||
SELECT l.alg_locatie_key,
|
||||
alg_locatie_omschrijving,
|
||||
kw.alg_onrgoedkenmerk_waarde prs_kostenplaats_key,
|
||||
prs_kostenplaats_nr,
|
||||
prs_kostenplaats_eind,
|
||||
prs_kostenplaats_verwijder
|
||||
FROM alg_locatie l, alg_gebouw g, alg_onrgoedkenmerk kw, prs_kostenplaats kp
|
||||
WHERE kw.alg_onrgoed_key = g.alg_gebouw_key
|
||||
AND g.alg_locatie_key = l.alg_locatie_key
|
||||
AND fac.safe_to_number (kw.alg_onrgoedkenmerk_waarde) =
|
||||
kp.prs_kostenplaats_key
|
||||
AND alg_onrgoed_niveau = 'G'
|
||||
AND kw.alg_kenmerk_key = 1184 -- kostenplaats-1
|
||||
UNION
|
||||
SELECT l.alg_locatie_key,
|
||||
alg_locatie_omschrijving,
|
||||
kw.alg_onrgoedkenmerk_waarde prs_kostenplaats_key,
|
||||
prs_kostenplaats_nr,
|
||||
prs_kostenplaats_eind,
|
||||
prs_kostenplaats_verwijder
|
||||
FROM alg_locatie l, alg_gebouw g, alg_onrgoedkenmerk kw, prs_kostenplaats kp
|
||||
WHERE kw.alg_onrgoed_key = g.alg_gebouw_key
|
||||
AND g.alg_locatie_key = l.alg_locatie_key
|
||||
AND fac.safe_to_number (kw.alg_onrgoedkenmerk_waarde) =
|
||||
kp.prs_kostenplaats_key
|
||||
AND alg_onrgoed_niveau = 'G'
|
||||
AND kw.alg_kenmerk_key = 1185 -- kostenplaats-2
|
||||
UNION
|
||||
SELECT l.alg_locatie_key,
|
||||
alg_locatie_omschrijving,
|
||||
kw.alg_onrgoedkenmerk_waarde prs_kostenplaats_key,
|
||||
prs_kostenplaats_nr,
|
||||
prs_kostenplaats_eind,
|
||||
prs_kostenplaats_verwijder
|
||||
FROM alg_locatie l, alg_gebouw g, alg_onrgoedkenmerk kw, prs_kostenplaats kp
|
||||
WHERE kw.alg_onrgoed_key = g.alg_gebouw_key
|
||||
AND g.alg_locatie_key = l.alg_locatie_key
|
||||
AND fac.safe_to_number (kw.alg_onrgoedkenmerk_waarde) =
|
||||
kp.prs_kostenplaats_key
|
||||
AND alg_onrgoed_niveau = 'G'
|
||||
AND kw.alg_kenmerk_key = 1186 -- kostenplaats-3
|
||||
;
|
||||
|
||||
-- BRONVIEW: Alle werkplek-koppeling per locatiemanager en de kp's die daarbij vanuit locatie/gebouwkaart bijhoren
|
||||
CREATE OR REPLACE VIEW bfnl_v_locaties_wp_kp
|
||||
(
|
||||
prs_perslid_key,
|
||||
prs_perslid_naam,
|
||||
prs_srtperslid_omschrijving,
|
||||
prs_perslidwerkplek_key,
|
||||
alg_locatie_omschrijving,
|
||||
alg_locatie_key,
|
||||
prs_kostenplaats_key,
|
||||
prs_kostenplaats_nr
|
||||
)
|
||||
AS
|
||||
SELECT v.prs_perslid_key,
|
||||
p.prs_perslid_naam,
|
||||
sp.prs_srtperslid_omschrijving,
|
||||
v.prs_perslidwerkplek_key,
|
||||
l.alg_locatie_omschrijving,
|
||||
lkp.alg_locatie_key,
|
||||
lkp.prs_kostenplaats_key,
|
||||
lkp.prs_kostenplaats_nr
|
||||
FROM prs_v_werkplekperslid_gegevens v,
|
||||
alg_locatie l,
|
||||
prs_perslid p,
|
||||
prs_srtperslid sp,
|
||||
bfnl_v_locaties_kp lkp
|
||||
WHERE v.prs_perslid_key = p.prs_perslid_key
|
||||
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 INSTR(prs_srtperslid_upper,'LOCATIEMANAGER') > 0 ;
|
||||
|
||||
--- DE PROCEDURE om voor de Locatiemanagers van de CLUSTERS de juiste CLUSTER-LOCATIES te koppelen als werkplek
|
||||
---- NOG GOED INPASSEN IOM HEYDAY - SANDER VOGELS
|
||||
|
||||
-------------------
|
||||
-- RAPPORTAGES ---
|
||||
|
||||
Reference in New Issue
Block a user