BLOS#79136 -- Herstructurering Locaties/Regio's/Clusters inclusief registratie Locatie - en Regiomanagers
svn path=/Customer/trunk/; revision=62043
This commit is contained in:
631
BLOS/blos.sql
631
BLOS/blos.sql
@@ -250,7 +250,7 @@ END;
|
||||
|
||||
-----------------------------------------------------------------------------------
|
||||
-- Systematiek Locatieleiders en Regiomanagers en Werkplekkoppelingen ---
|
||||
----- 1. Personenkaart vinlkboxen Cluster/Label - OUD ---
|
||||
----- 1. Personenkaart vinlkboxen Cluster/Label - OUD - VERWIJDERD OKT 2023 ---
|
||||
----- 2. Locatiekaart en gekoppelde locatieleider - NIEUW 2023-juli ---
|
||||
----- 3. Regiomanagers en directeuren incl. budgethouderschap - NIEUW 2023-okt ---
|
||||
-----------------------------------------------------------------------------------
|
||||
@@ -260,7 +260,6 @@ END;
|
||||
--------------------------------------------------------------------
|
||||
|
||||
-- Inpassen systematiek om werkplekkoppelingen te genereren op basis locatiekaart => Gelijk aan oplossing GOKO
|
||||
---- ter vervanging EXPORT WPCLUSTER
|
||||
---- Bij GOKO zit deze in de IMPORT PERSLID... , bij BLOS apart houden omdat pas later een AFAS-intergratie komt, eerst apart houden WPMANAGER...
|
||||
|
||||
|
||||
@@ -436,10 +435,92 @@ AS
|
||||
ORDER BY wp.prs_perslid_key
|
||||
;
|
||||
|
||||
-- Views nodig maar al in -- 1. vinkboxen Cluster/Label -- :
|
||||
-- Nog 2 bronviews nodig voor procedure:
|
||||
--- Bronview: Alle locaties met haar kostenplaats(en): blos_v_locaties_kp
|
||||
--- Bronview: Alle werkplek-koppeling per locatiemanager en de kp's die daarbij vanuit locatiekaart bijhoren: blos_v_locaties_wp_kp
|
||||
|
||||
-- BRONVIEW: Alle locaties met haar kostenplaats(en)
|
||||
CREATE OR REPLACE VIEW blos_v_locaties_kp
|
||||
(
|
||||
alg_locatie_key,
|
||||
alg_locatie_omschrijving,
|
||||
prs_kostenplaats_key,
|
||||
prs_kostenplaats_nr,
|
||||
prs_kostenplaats_eind,
|
||||
prs_kostenplaats_verwijder
|
||||
)
|
||||
AS
|
||||
SELECT 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_onrgoedkenmerk kw, prs_kostenplaats kp
|
||||
WHERE kw.alg_onrgoed_key = l.alg_locatie_key
|
||||
AND fac.safe_to_number (kw.alg_onrgoedkenmerk_waarde) =
|
||||
kp.prs_kostenplaats_key
|
||||
AND alg_onrgoed_niveau = 'L'
|
||||
AND kw.alg_kenmerk_key = 1140 -- kostenplaats-1
|
||||
UNION
|
||||
SELECT 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_onrgoedkenmerk kw, prs_kostenplaats kp
|
||||
WHERE kw.alg_onrgoed_key = l.alg_locatie_key
|
||||
AND fac.safe_to_number (kw.alg_onrgoedkenmerk_waarde) =
|
||||
kp.prs_kostenplaats_key
|
||||
AND alg_onrgoed_niveau = 'L'
|
||||
AND kw.alg_kenmerk_key = 1141 -- kostenplaats-2
|
||||
UNION
|
||||
SELECT 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_onrgoedkenmerk kw, prs_kostenplaats kp
|
||||
WHERE kw.alg_onrgoed_key = l.alg_locatie_key
|
||||
AND fac.safe_to_number (kw.alg_onrgoedkenmerk_waarde) =
|
||||
kp.prs_kostenplaats_key
|
||||
AND alg_onrgoed_niveau = 'L'
|
||||
AND kw.alg_kenmerk_key = 1142 -- kostenplaats-3
|
||||
;
|
||||
|
||||
-- BRONVIEW: Alle werkplek-koppeling per locatiemanager en de kp's die daarbij vanuit locatiekaart bijhoren
|
||||
CREATE OR REPLACE VIEW blos_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,
|
||||
blos_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 prs_srtperslid_upper = 'LOCATIEMANAGER';
|
||||
|
||||
--- 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
|
||||
@@ -1040,490 +1121,11 @@ END;
|
||||
|
||||
|
||||
------------------------------------------------------------
|
||||
----- 1. Personenkaart vinlkboxen Cluster/Label - OUD ---
|
||||
---- EINDE - WP-KOPPELING IN BLOS --------------------------
|
||||
------------------------------------------------------------
|
||||
|
||||
-- Hulpview: Alle locaties die bij een bepaald CLUSTER horen
|
||||
CREATE OR REPLACE VIEW blos_v_cluster_locaties
|
||||
(
|
||||
ALG_LOCATIE_KEY,
|
||||
ALG_LOCATIE_CODE,
|
||||
ALG_LOCATIE_OMSCHRIJVING,
|
||||
CLUSTER_DISTRICT_CODE, -- Districtsniveau
|
||||
CLUSTER_LABEL_CODE, -- Locatieniveau - Het (oorspronkelijke) label
|
||||
TYPE_LOCATIE,
|
||||
RUIMTE_KEY,
|
||||
VERVALDATUM
|
||||
)
|
||||
AS
|
||||
SELECT l.alg_locatie_key,
|
||||
l.alg_locatie_code,
|
||||
l.alg_locatie_omschrijving,
|
||||
UPPER(d.alg_district_omschrijving),
|
||||
(SELECT ud.fac_usrdata_upper
|
||||
FROM alg_onrgoedkenmerk km, fac_usrdata ud
|
||||
WHERE km.alg_onrgoed_key = l.alg_locatie_key
|
||||
AND km.alg_onrgoed_niveau = 'L'
|
||||
AND km.alg_kenmerk_key = 1000 -- Cluster Label (oorspronkelijk)
|
||||
AND km.alg_onrgoedkenmerk_verwijder IS NULL
|
||||
AND fac.safe_to_number (km.alg_onrgoedkenmerk_waarde) =
|
||||
ud.fac_usrdata_key
|
||||
AND ud.fac_usrtab_key = 1)
|
||||
AS cluster_label_code,
|
||||
(SELECT ud.fac_usrdata_upper
|
||||
FROM alg_onrgoedkenmerk km, fac_usrdata ud
|
||||
WHERE km.alg_onrgoed_key = l.alg_locatie_key
|
||||
AND km.alg_onrgoed_niveau = 'L'
|
||||
AND km.alg_kenmerk_key = 1002 -- type_opvang/locatie
|
||||
AND km.alg_onrgoedkenmerk_verwijder IS NULL
|
||||
AND fac.safe_to_number (km.alg_onrgoedkenmerk_waarde) =
|
||||
ud.fac_usrdata_key
|
||||
AND ud.fac_usrtab_key = 2)
|
||||
AS type_locatie,
|
||||
(SELECT min(alg_ruimte_key)
|
||||
FROM alg_v_allonrgoed_gegevens v
|
||||
WHERE v.alg_locatie_key = l.alg_locatie_key and v.alg_type ='R')
|
||||
AS ruimte_key,
|
||||
l.alg_locatie_vervaldatum
|
||||
vervaldatum
|
||||
FROM alg_locatie l, alg_district d
|
||||
WHERE l.alg_locatie_verwijder IS NULL AND l.alg_district_key = d.alg_district_key
|
||||
AND COALESCE(trunc(l.alg_locatie_vervaldatum),trunc(sysdate)+1) > trunc(sysdate) ;
|
||||
|
||||
-- Hulpview Personen - Alle locatiemanagers/personen met werkplekkoppelingen
|
||||
-- NIEUWE opzet van de werkplekkoppeling - Aansturing via PERSONENKAART (zie ticket BLOS#68339).
|
||||
--- Toelichting:
|
||||
---- Je hebt LABELS op Locatieniveau + Op Districts-niveau
|
||||
---- Niveau 1 = Kenmerk PRS => Te koppelen met NAAM label uit Eigen Tabel
|
||||
---- Niveau 2 = Kenmerk PRS => Te koppelen met CODE/NAAM uit Districtstabel
|
||||
CREATE OR REPLACE VIEW blos_v_cluster_personen_1
|
||||
(
|
||||
NIVEAU,
|
||||
PRS_PERSLID_KEY,
|
||||
PRS_PERSLID_VOLLEDIGENAAM,
|
||||
PRS_KENMERK_UPPER,
|
||||
CLUSTER_WP
|
||||
)
|
||||
AS
|
||||
SELECT '1 - locatie',
|
||||
p.prs_perslid_key,
|
||||
p.prs_perslid_voornaam || ' ' || p.prs_perslid_naam,
|
||||
k.prs_kenmerk_upper,
|
||||
v.cluster_label_code -- uit eigen tabel
|
||||
cluster_wp
|
||||
FROM prs_perslid p,
|
||||
prs_kenmerklink kl,
|
||||
prs_kenmerk k,
|
||||
(SELECT UPPER (ud.fac_usrdata_omschr) cluster_label, ud.fac_usrdata_code cluster_label_code,
|
||||
ud.fac_usrdata_vervaldatum
|
||||
FROM fac_usrtab ut, fac_usrdata ud
|
||||
WHERE ut.fac_usrtab_key = ud.fac_usrtab_key
|
||||
AND ut.fac_usrtab_key = 1
|
||||
AND fac_usrdata_verwijder IS NULL) v
|
||||
WHERE p.prs_perslid_key = kl.prs_link_key AND kl.prs_kenmerklink_niveau = 'P'
|
||||
AND kl.prs_kenmerklink_verwijder IS NULL
|
||||
AND kl.prs_kenmerk_key = k.prs_kenmerk_key
|
||||
AND k.prs_kenmerk_verwijder IS NULL
|
||||
AND p.prs_perslid_verwijder IS NULL
|
||||
AND k.prs_kenmerk_upper = v.cluster_label -- Koppeling op Clusternaam
|
||||
AND NOT EXISTS (SELECT 1 FROM blos_v_cluster_locaties WHERE k.prs_kenmerk_upper = cluster_district_code GROUP BY cluster_district_code)
|
||||
UNION
|
||||
SELECT '2 - district',
|
||||
p.prs_perslid_key,
|
||||
p.prs_perslid_voornaam || ' ' || p.prs_perslid_naam,
|
||||
k.prs_kenmerk_upper,
|
||||
v.cluster_district_code
|
||||
cluster_wp
|
||||
FROM prs_perslid p,
|
||||
prs_kenmerklink kl,
|
||||
prs_kenmerk k,
|
||||
(SELECT cluster_district_code, COUNT (*)
|
||||
FROM blos_v_cluster_locaties
|
||||
GROUP BY cluster_district_code) v
|
||||
WHERE p.prs_perslid_key = kl.prs_link_key AND kl.prs_kenmerklink_niveau = 'P'
|
||||
AND kl.prs_kenmerklink_verwijder IS NULL
|
||||
AND kl.prs_kenmerk_key = k.prs_kenmerk_key
|
||||
AND k.prs_kenmerk_verwijder IS NULL
|
||||
AND p.prs_perslid_verwijder IS NULL
|
||||
AND k.prs_kenmerk_upper = v.cluster_district_code -- Koppeling op Districtnaam/code
|
||||
;
|
||||
|
||||
CREATE OR REPLACE VIEW blos_v_cluster_personen_2
|
||||
(
|
||||
PRS_PERSLID_KEY,
|
||||
ALG_LOCATIE_KEY
|
||||
)
|
||||
AS
|
||||
SELECT p.prs_perslid_key, l.alg_locatie_key
|
||||
FROM blos_v_cluster_personen_1 p, blos_v_cluster_locaties l
|
||||
WHERE p.niveau = '1 - locatie' AND p.cluster_wp = l.cluster_label_code
|
||||
UNION
|
||||
SELECT p.prs_perslid_key, l.alg_locatie_key
|
||||
FROM blos_v_cluster_personen_1 p, blos_v_cluster_locaties l
|
||||
WHERE p.niveau = '2 - district'
|
||||
AND p.cluster_wp = l.cluster_district_code ;
|
||||
|
||||
-- BRONVIEW: Alle locaties met haar kostenplaats(en)
|
||||
CREATE OR REPLACE VIEW blos_v_locaties_kp
|
||||
(
|
||||
alg_locatie_key,
|
||||
alg_locatie_omschrijving,
|
||||
prs_kostenplaats_key,
|
||||
prs_kostenplaats_nr,
|
||||
prs_kostenplaats_eind,
|
||||
prs_kostenplaats_verwijder
|
||||
)
|
||||
AS
|
||||
SELECT 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_onrgoedkenmerk kw, prs_kostenplaats kp
|
||||
WHERE kw.alg_onrgoed_key = l.alg_locatie_key
|
||||
AND fac.safe_to_number (kw.alg_onrgoedkenmerk_waarde) =
|
||||
kp.prs_kostenplaats_key
|
||||
AND alg_onrgoed_niveau = 'L'
|
||||
AND kw.alg_kenmerk_key = 1140 -- kostenplaats-1
|
||||
UNION
|
||||
SELECT 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_onrgoedkenmerk kw, prs_kostenplaats kp
|
||||
WHERE kw.alg_onrgoed_key = l.alg_locatie_key
|
||||
AND fac.safe_to_number (kw.alg_onrgoedkenmerk_waarde) =
|
||||
kp.prs_kostenplaats_key
|
||||
AND alg_onrgoed_niveau = 'L'
|
||||
AND kw.alg_kenmerk_key = 1141 -- kostenplaats-2
|
||||
UNION
|
||||
SELECT 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_onrgoedkenmerk kw, prs_kostenplaats kp
|
||||
WHERE kw.alg_onrgoed_key = l.alg_locatie_key
|
||||
AND fac.safe_to_number (kw.alg_onrgoedkenmerk_waarde) =
|
||||
kp.prs_kostenplaats_key
|
||||
AND alg_onrgoed_niveau = 'L'
|
||||
AND kw.alg_kenmerk_key = 1142 -- kostenplaats-3
|
||||
;
|
||||
|
||||
-- BRONVIEW: Alle werkplek-koppeling per locatiemanager en de kp's die daarbij vanuit locatiekaart bijhoren
|
||||
CREATE OR REPLACE VIEW blos_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,
|
||||
blos_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 prs_srtperslid_upper = 'LOCATIEMANAGER';
|
||||
|
||||
--- DE PROCEDURE om voor de Locatiemanagers van de CLUSTERS de juiste CLUSTER-LOCATIES te koppelen als werkplek
|
||||
CREATE OR REPLACE VIEW blos_v_export_wpcluster
|
||||
(
|
||||
result,
|
||||
result_order
|
||||
)
|
||||
AS
|
||||
SELECT '"SYNC - Werkplekkoppeling en Mandaten"'
|
||||
|| ';"Uitgevoerd"',
|
||||
0
|
||||
FROM DUAL ;
|
||||
|
||||
CREATE OR REPLACE PROCEDURE blos_select_wpcluster (p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2)
|
||||
AS
|
||||
-- Werkplekkoppelingen toevoegen
|
||||
CURSOR c_nieuw
|
||||
IS
|
||||
SELECT p.prs_perslid_key,
|
||||
p.alg_locatie_key,
|
||||
l.alg_locatie_code,
|
||||
l.cluster_label_code,
|
||||
l.cluster_district_code
|
||||
FROM blos_v_cluster_personen_2 p, blos_v_cluster_locaties l
|
||||
WHERE p.alg_locatie_key = l.alg_locatie_key
|
||||
AND NOT EXISTS
|
||||
(SELECT v.alg_locatie_key
|
||||
FROM prs_perslidwerkplek wp,
|
||||
prs_v_werkplekafdeling_geg v
|
||||
WHERE wp.prs_perslidwerkplek_key =
|
||||
v.prs_perslidwerkplek_key
|
||||
AND wp.prs_perslid_key = p.prs_perslid_key
|
||||
AND v.alg_locatie_key = p.alg_locatie_key);
|
||||
|
||||
-- Werkplekkoppelingen verwijderen
|
||||
CURSOR c_del
|
||||
IS
|
||||
SELECT b.prs_perslid_key,
|
||||
b.alg_locatie_key,
|
||||
b.prs_perslidwerkplek_key,
|
||||
COALESCE (l.alg_locatie_code,
|
||||
'Vervallen locactie ' || loc.alg_locatie_code)
|
||||
alg_locatie_code,
|
||||
l.cluster_label_code,
|
||||
l.cluster_district_code
|
||||
FROM (SELECT wp.prs_perslid_key,
|
||||
v.alg_locatie_key,
|
||||
wp.prs_perslidwerkplek_key,
|
||||
v.prs_werkplek_key,
|
||||
v.prs_werkplek_volgnr,
|
||||
v.alg_ruimte_key
|
||||
FROM prs_perslidwerkplek wp, prs_v_werkplekafdeling_geg v
|
||||
WHERE wp.prs_perslidwerkplek_key = v.prs_perslidwerkplek_key)
|
||||
b,
|
||||
blos_v_cluster_locaties l,
|
||||
alg_locatie loc
|
||||
WHERE b.alg_locatie_key = l.alg_locatie_key(+)
|
||||
AND b.alg_locatie_key = loc.alg_locatie_key
|
||||
AND NOT EXISTS
|
||||
(SELECT l.alg_locatie_key
|
||||
FROM blos_v_cluster_personen_2 l
|
||||
WHERE l.prs_perslid_key = b.prs_perslid_key
|
||||
AND l.alg_locatie_key = b.alg_locatie_key);
|
||||
|
||||
-- Mandaten toevoegen
|
||||
CURSOR m_nieuw
|
||||
IS
|
||||
SELECT v.prs_perslid_key,
|
||||
v.prs_perslid_naam,
|
||||
v.alg_locatie_omschrijving,
|
||||
v.prs_kostenplaats_key,
|
||||
kp.prs_kostenplaats_nr
|
||||
FROM blos_v_locaties_wp_kp v, prs_kostenplaats kp
|
||||
WHERE v.prs_kostenplaats_key = kp.prs_kostenplaats_key
|
||||
AND v.prs_kostenplaats_key NOT IN
|
||||
(SELECT prs_kostenplaats_key
|
||||
FROM prs_perslidkostenplaats pkp
|
||||
WHERE pkp.prs_perslid_key = v.prs_perslid_key)
|
||||
ORDER BY 1,
|
||||
2,
|
||||
3,
|
||||
4;
|
||||
|
||||
-- Mandaten verwijderen
|
||||
CURSOR m_del
|
||||
IS
|
||||
SELECT pkp.prs_perslidkostenplaats_key,
|
||||
pkp.prs_perslid_key,
|
||||
p.prs_perslid_naam,
|
||||
pkp.prs_kostenplaats_key,
|
||||
kp.prs_kostenplaats_nr
|
||||
FROM prs_perslidkostenplaats pkp,
|
||||
prs_kostenplaats kp,
|
||||
prs_perslid p
|
||||
WHERE pkp.prs_kostenplaats_key = kp.prs_kostenplaats_key
|
||||
AND p.prs_perslid_key = pkp.prs_perslid_key
|
||||
AND pkp.prs_kostenplaats_key NOT IN
|
||||
(SELECT v.prs_kostenplaats_key
|
||||
FROM blos_v_locaties_wp_kp v
|
||||
WHERE v.prs_kostenplaats_key IS NOT NULL
|
||||
AND v.prs_perslid_key = pkp.prs_perslid_key)
|
||||
ORDER BY 1, 2, 3;
|
||||
|
||||
|
||||
v_ruimte_key NUMBER;
|
||||
v_prs_werkplek_volgnr NUMBER;
|
||||
v_prs_werkplek_key NUMBER;
|
||||
|
||||
v_errormsg VARCHAR2 (1000);
|
||||
v_errorhint VARCHAR2 (1000);
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
oracle_err_num NUMBER;
|
||||
currentversion fac_module.fac_module_version%TYPE;
|
||||
v_aanduiding VARCHAR2 (1000);
|
||||
v_count NUMBER;
|
||||
BEGIN
|
||||
v_count := 0;
|
||||
|
||||
FOR rec IN c_nieuw
|
||||
LOOP
|
||||
v_aanduiding :=
|
||||
'Werkplekkoppeling: '
|
||||
|| rec.alg_locatie_code
|
||||
|| ' ('
|
||||
|| rec.cluster_label_code
|
||||
|| ' - '
|
||||
|| rec.cluster_district_code
|
||||
|| ')';
|
||||
v_errormsg := 'Fout bij aanmaken werkplekkoppeling';
|
||||
|
||||
-- Ruimte_key ophalen van desbetreffende locatie_keten
|
||||
SELECT MIN (alg_ruimte_key)
|
||||
INTO v_ruimte_key
|
||||
FROM alg_v_allonrgoed_gegevens v
|
||||
WHERE v.alg_locatie_key = rec.alg_locatie_key AND v.alg_type = 'R';
|
||||
|
||||
IF v_ruimte_key IS NULL
|
||||
THEN
|
||||
fac.writelog (p_applname,
|
||||
'W',
|
||||
v_errormsg || ' Locatie wordt overgeslagen:',
|
||||
v_aanduiding);
|
||||
END IF;
|
||||
|
||||
v_errorhint :=
|
||||
'INSERT clusterkoppeling bij persoon: '
|
||||
|| rec.alg_locatie_code
|
||||
|| ' / '
|
||||
|| rec.prs_perslid_key;
|
||||
|
||||
IF v_ruimte_key IS NOT NULL
|
||||
THEN
|
||||
-- Volgnr werkplek
|
||||
SELECT COALESCE (MIN (prs_werkplek_volgnr + 1), 1)
|
||||
INTO v_prs_werkplek_volgnr
|
||||
FROM prs_werkplek pw
|
||||
WHERE prs_alg_ruimte_key = v_ruimte_key
|
||||
AND NOT EXISTS
|
||||
(SELECT *
|
||||
FROM prs_werkplek pw2
|
||||
WHERE prs_alg_ruimte_key = v_ruimte_key
|
||||
AND pw2.prs_werkplek_volgnr =
|
||||
pw.prs_werkplek_volgnr + 1);
|
||||
|
||||
INSERT INTO prs_werkplek w (prs_werkplek_volgnr,
|
||||
prs_werkplek_omschrijving,
|
||||
prs_alg_ruimte_key,
|
||||
prs_werkplek_virtueel)
|
||||
SELECT v_prs_werkplek_volgnr,
|
||||
alg_ruimte_nr || '/1',
|
||||
v_ruimte_key,
|
||||
1
|
||||
FROM alg_ruimte
|
||||
WHERE alg_ruimte_key = v_ruimte_key;
|
||||
|
||||
SELECT prs_werkplek_key
|
||||
INTO v_prs_werkplek_key
|
||||
FROM prs_werkplek
|
||||
WHERE prs_alg_ruimte_key = v_ruimte_key
|
||||
AND prs_werkplek_volgnr = v_prs_werkplek_volgnr;
|
||||
|
||||
INSERT INTO prs_perslidwerkplek (prs_perslidwerkplek_bezetting,
|
||||
prs_perslidwerkplek_volgnr,
|
||||
prs_werkplek_key,
|
||||
prs_perslid_key) -- prs_perslidwerkplek_key)
|
||||
VALUES (100,
|
||||
NULL,
|
||||
v_prs_werkplek_key,
|
||||
rec.prs_perslid_key);
|
||||
|
||||
fac.trackaction ('PRSUPD',
|
||||
rec.prs_perslid_key,
|
||||
3,
|
||||
SYSDATE,
|
||||
v_aanduiding);
|
||||
END IF;
|
||||
END LOOP;
|
||||
|
||||
FOR rec IN c_del
|
||||
LOOP
|
||||
v_aanduiding :=
|
||||
'Werkplekkoppeling verwijderen - betreft: '
|
||||
|| rec.alg_locatie_code
|
||||
|| ' ('
|
||||
|| rec.cluster_label_code
|
||||
|| ' - '
|
||||
|| rec.cluster_district_code
|
||||
|| ')';
|
||||
v_errorhint := 'werkplekkoppeling verwijderen';
|
||||
|
||||
DELETE FROM prs_werkplek
|
||||
WHERE prs_werkplek_key IN
|
||||
(SELECT prs_werkplek_key
|
||||
FROM prs_perslidwerkplek
|
||||
WHERE prs_perslidwerkplek_key =
|
||||
rec.prs_perslidwerkplek_key);
|
||||
|
||||
DELETE FROM prs_perslidwerkplek
|
||||
WHERE prs_perslidwerkplek_key = rec.prs_perslidwerkplek_key;
|
||||
|
||||
fac.trackaction ('PRSUPD',
|
||||
rec.prs_perslid_key,
|
||||
3,
|
||||
SYSDATE,
|
||||
v_aanduiding);
|
||||
END LOOP;
|
||||
|
||||
FOR rec IN m_nieuw
|
||||
LOOP
|
||||
BEGIN
|
||||
v_aanduiding :=
|
||||
'Mandaat: '
|
||||
|| rec.prs_perslid_naam
|
||||
|| ' op kostenplaats '
|
||||
|| rec.prs_kostenplaats_nr;
|
||||
v_errormsg := 'Fout bij aanmaken mandaat';
|
||||
|
||||
INSERT INTO prs_perslidkostenplaats (
|
||||
prs_perslidkostenplaats_boeken,
|
||||
prs_perslidkostenplaats_inzage,
|
||||
prs_perslid_key,
|
||||
prs_kostenplaats_key)
|
||||
VALUES (1,
|
||||
1,
|
||||
rec.prs_perslid_key,
|
||||
rec.prs_kostenplaats_key);
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
FOR rec IN m_del
|
||||
LOOP
|
||||
BEGIN
|
||||
v_aanduiding :=
|
||||
'Mandaat '
|
||||
|| rec.prs_kostenplaats_nr
|
||||
|| ' verwijdern voor persoon '
|
||||
|| rec.prs_perslid_naam;
|
||||
v_errormsg := 'Fout bij verwijderen mandaat';
|
||||
|
||||
DELETE FROM prs_perslidkostenplaats
|
||||
WHERE prs_perslidkostenplaats_key =
|
||||
rec.prs_perslidkostenplaats_key;
|
||||
END;
|
||||
END LOOP;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
v_errormsg :=
|
||||
'OTHERS (error ' || oracle_err_num || '/' || oracle_err_mes;
|
||||
fac.writelog (p_applname,
|
||||
'E',
|
||||
v_errormsg,
|
||||
v_errorhint);
|
||||
END;
|
||||
/
|
||||
|
||||
-- AFAS - KOPPELING
|
||||
---- TEST 2022 - Met Anneke Knipscheer
|
||||
CREATE OR REPLACE PROCEDURE blos_import_perslid (p_import_key IN NUMBER)
|
||||
AS
|
||||
oracle_err_num NUMBER;
|
||||
@@ -1959,6 +1561,53 @@ EXCEPTION
|
||||
END blos_update_perslid;
|
||||
/
|
||||
|
||||
-- Hulpview: Alle locaties die bij een bepaald CLUSTER horen
|
||||
CREATE OR REPLACE VIEW blos_v_cluster_locaties
|
||||
(
|
||||
ALG_LOCATIE_KEY,
|
||||
ALG_LOCATIE_CODE,
|
||||
ALG_LOCATIE_OMSCHRIJVING,
|
||||
CLUSTER_DISTRICT_CODE, -- Districtsniveau
|
||||
CLUSTER_LABEL_CODE, -- Locatieniveau - Het (oorspronkelijke) label
|
||||
TYPE_LOCATIE,
|
||||
RUIMTE_KEY,
|
||||
VERVALDATUM
|
||||
)
|
||||
AS
|
||||
SELECT l.alg_locatie_key,
|
||||
l.alg_locatie_code,
|
||||
l.alg_locatie_omschrijving,
|
||||
UPPER(d.alg_district_omschrijving),
|
||||
(SELECT ud.fac_usrdata_upper
|
||||
FROM alg_onrgoedkenmerk km, fac_usrdata ud
|
||||
WHERE km.alg_onrgoed_key = l.alg_locatie_key
|
||||
AND km.alg_onrgoed_niveau = 'L'
|
||||
AND km.alg_kenmerk_key = 1000 -- Cluster Label (oorspronkelijk)
|
||||
AND km.alg_onrgoedkenmerk_verwijder IS NULL
|
||||
AND fac.safe_to_number (km.alg_onrgoedkenmerk_waarde) =
|
||||
ud.fac_usrdata_key
|
||||
AND ud.fac_usrtab_key = 1)
|
||||
AS cluster_label_code,
|
||||
(SELECT ud.fac_usrdata_upper
|
||||
FROM alg_onrgoedkenmerk km, fac_usrdata ud
|
||||
WHERE km.alg_onrgoed_key = l.alg_locatie_key
|
||||
AND km.alg_onrgoed_niveau = 'L'
|
||||
AND km.alg_kenmerk_key = 1002 -- type_opvang/locatie
|
||||
AND km.alg_onrgoedkenmerk_verwijder IS NULL
|
||||
AND fac.safe_to_number (km.alg_onrgoedkenmerk_waarde) =
|
||||
ud.fac_usrdata_key
|
||||
AND ud.fac_usrtab_key = 2)
|
||||
AS type_locatie,
|
||||
(SELECT min(alg_ruimte_key)
|
||||
FROM alg_v_allonrgoed_gegevens v
|
||||
WHERE v.alg_locatie_key = l.alg_locatie_key and v.alg_type ='R')
|
||||
AS ruimte_key,
|
||||
l.alg_locatie_vervaldatum
|
||||
vervaldatum
|
||||
FROM alg_locatie l, alg_district d
|
||||
WHERE l.alg_locatie_verwijder IS NULL AND l.alg_district_key = d.alg_district_key
|
||||
AND COALESCE(trunc(l.alg_locatie_vervaldatum),trunc(sysdate)+1) > trunc(sysdate) ;
|
||||
|
||||
-- Ivm clusterkoppeling is het belangrijk dat locaties goed zijn vastgelegd.
|
||||
-- Omdat in de praktijk dit paar keer niet goed is gegaan een noti-job om applicatiebeheer hierop netjes te attenderen
|
||||
CREATE OR REPLACE VIEW blos_v_noti_locatiebeheer
|
||||
@@ -2096,13 +1745,13 @@ CREATE OR REPLACE VIEW BLOS_V_ALG_ONROERENDGOED_BASIS
|
||||
CLUSTERLABEL_OORSPRONKELIJK,
|
||||
TYPE_OPVANG,
|
||||
BIJZONDERHEDEN,
|
||||
KOSTENPLAATS,
|
||||
KOSTENPLAATS_1,
|
||||
KOSTENPLAATS_2,
|
||||
KOSTENPLAATS_3,
|
||||
LOCATIEMANAGER,
|
||||
LOCATIEMANAGER_VERVANGER,
|
||||
LOCATIE_VERVALDATUM,
|
||||
LOCATIE_VERWIJDERDATUM,
|
||||
LOCATIE_OUD
|
||||
)
|
||||
AS
|
||||
@@ -2118,14 +1767,14 @@ AS
|
||||
km.cluster_label_oorspr,
|
||||
km.type_opvang,
|
||||
km.bijzonderheden,
|
||||
km.kostenplaats,
|
||||
km.kostenplaats_1,
|
||||
km.kostenplaats_2,
|
||||
km.kostenplaats_3,
|
||||
km.locatiemanager,
|
||||
km.vervanger,
|
||||
l.alg_locatie_vervaldatum,
|
||||
CASE WHEN l.alg_locatie_vervaldatum IS NULL OR TRUNC(l.alg_locatie_vervaldatum) > TRUNC(SYSDATE)
|
||||
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))
|
||||
THEN 'actueel'
|
||||
ELSE 'oud'
|
||||
END
|
||||
@@ -2138,7 +1787,6 @@ AS
|
||||
flx.getdomeinwaarde(1, flx.getflex('ALG',1000, l.alg_locatie_key,'L')) cluster_label_oorspr,
|
||||
flx.getdomeinwaarde(2, flx.getflex('ALG',1002, l.alg_locatie_key,'L')) type_opvang,
|
||||
flx.getflex('ALG',1020, l.alg_locatie_key,'L') bijzonderheden,
|
||||
flx.getflex('ALG',1001, l.alg_locatie_key,'L') kostenplaats,
|
||||
flx.getdomeinwaarde(161,flx.getflex('ALG',1140, l.alg_locatie_key,'L')) kostenplaats_1,
|
||||
flx.getdomeinwaarde(161,flx.getflex('ALG',1141, l.alg_locatie_key,'L')) kostenplaats_2,
|
||||
flx.getdomeinwaarde(161,flx.getflex('ALG',1142, l.alg_locatie_key,'L')) kostenplaats_3,
|
||||
@@ -2635,14 +2283,13 @@ AS
|
||||
BEGIN
|
||||
-- job om de werkplekkoppelingen te realiseren en onderhouden voor de locatiemanagers
|
||||
|
||||
NULL;
|
||||
-- IN 2023-SEPT MOET DEZE UIT
|
||||
blos_select_wpcluster ('WP_CLUSTER', SYSDATE);
|
||||
-- blos_select_wpcluster ('WP_CLUSTER', SYSDATE);
|
||||
-- IN 2023-SEPT MOETEN DEZE AAN
|
||||
-- blos_select_wp_loc_manager ('WP_LOC_MANAGER', SYSDATE);
|
||||
-- blos_select_wp_reg_manager ('WP_REG_MANAGER', SYSDATE);
|
||||
|
||||
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
Reference in New Issue
Block a user