FSN#53955 PERSLID-import optimalisatie
svn path=/Customer/trunk/; revision=38743
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
--
|
||||
-- Script containing customer specific db-configuration for BSSC.
|
||||
DEFINE thisfile = 'BSSC.SQL'
|
||||
DEFINE dbuser = '^BLCC'
|
||||
DEFINE dbuser = '^BSSC'
|
||||
|
||||
SET ECHO ON
|
||||
SET DEFINE ON
|
||||
@@ -79,9 +79,9 @@ BEGIN
|
||||
'0;0;0;0;0;0;3;4;5;6;'
|
||||
|| '0;0;0;0;10;7;8;9;0;0;'
|
||||
|| '11;1;2;0;0;0;12;13;14;15;'
|
||||
|| '16;17;18;0;0;0;0;0;0;0;'
|
||||
|| '16;17;0;0;0;0;0;0;0;0;'
|
||||
|| '0;0;0;0;0;0',
|
||||
'Loginnaam;Wachtwoord;Afdelingscode;Achternaam;Tussenvoegsel;Voornaam;Telefoon;Mobiel;Email;Geslacht;Functie;Taal;SSC FOBO;SSC Digireceptiemedewerker;SSC Huurderadministrator%');
|
||||
'Loginnaam;Wachtwoord;Afdelingscode;Achternaam;Tussenvoegsel;Voornaam;Telefoon;Mobiel;Email;Geslacht;Functie;Taal;SSC FOBO;SSC Digireceptiemedewerker;SSC Huurderadministrator;SSC Bezoekersparkeerplaats;SSC Etage 4%');
|
||||
|
||||
-- Klantspecifieke aanpassingen.
|
||||
EXCEPTION
|
||||
@@ -143,7 +143,9 @@ AS
|
||||
CURSOR c_rol (
|
||||
p_ssc_fobo_key IN NUMBER,
|
||||
p_ssc_dmedew_key IN NUMBER,
|
||||
p_ssc_hadmin_key IN NUMBER)
|
||||
p_ssc_hadmin_key IN NUMBER,
|
||||
p_ssc_bezprk_key IN NUMBER,
|
||||
p_ssc_etage4_key IN NUMBER)
|
||||
IS
|
||||
SELECT p.prs_perslid_key, DECODE (UPPER (i.prs_kenmerk2), 'J', 1, 'Y', 1, 0) aanuit, p_ssc_fobo_key fac_groep_key
|
||||
FROM prs_v_aanwezigperslid p, prs_afdeling a, fac_imp_perslid i
|
||||
@@ -162,13 +164,25 @@ AS
|
||||
WHERE p.prs_afdeling_key = a.prs_afdeling_key
|
||||
AND a.prs_afdeling_upper = UPPER (i.prs_afdeling_naam)
|
||||
AND UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin)
|
||||
UNION ALL
|
||||
SELECT p.prs_perslid_key, DECODE (UPPER (i.prs_kenmerk5), 'J', 1, 'Y', 1, 0) aanuit, p_ssc_bezprk_key fac_groep_key
|
||||
FROM prs_v_aanwezigperslid p, prs_afdeling a, fac_imp_perslid i
|
||||
WHERE p.prs_afdeling_key = a.prs_afdeling_key
|
||||
AND a.prs_afdeling_upper = UPPER (i.prs_afdeling_naam)
|
||||
AND UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin)
|
||||
UNION ALL
|
||||
SELECT p.prs_perslid_key, DECODE (UPPER (i.prs_kenmerk6), 'J', 1, 'Y', 1, 0) aanuit, p_ssc_etage4_key fac_groep_key
|
||||
FROM prs_v_aanwezigperslid p, prs_afdeling a, fac_imp_perslid i
|
||||
WHERE p.prs_afdeling_key = a.prs_afdeling_key
|
||||
AND a.prs_afdeling_upper = UPPER (i.prs_afdeling_naam)
|
||||
AND UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin)
|
||||
UNION ALL -- Afnemen _Default
|
||||
SELECT p.prs_perslid_key, 0 aanuit, 1 fac_groep_key -- _Default
|
||||
FROM prs_v_aanwezigperslid p, prs_afdeling a, fac_imp_perslid i
|
||||
WHERE p.prs_afdeling_key = a.prs_afdeling_key
|
||||
AND a.prs_afdeling_upper = UPPER (i.prs_afdeling_naam)
|
||||
AND UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin)
|
||||
UNION ALL -- Toewijzen SSC FE (LABS-key=241 en PROD-key=321)
|
||||
UNION ALL -- Toewijzen SSC FE
|
||||
SELECT p.prs_perslid_key, 1 aanuit, 321 fac_groep_key -- SSC FE
|
||||
FROM prs_v_aanwezigperslid p, prs_afdeling a, fac_imp_perslid i
|
||||
WHERE p.prs_afdeling_key = a.prs_afdeling_key
|
||||
@@ -176,10 +190,25 @@ AS
|
||||
AND UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin)
|
||||
ORDER BY 1, 3;
|
||||
|
||||
c_ruimte_key NUMBER := 2204; -- Fictieve ruimte op SSCH-locatie (LABS-key=2243 en PROD-key=2204)
|
||||
c_ssc_fobo_key NUMBER := 341; -- SSC FOBO (LABS-key=241 en PROD-key=341)
|
||||
-- Toekennen VLAN-autorisatiegroep (volgens eigen tabel met key=481)!
|
||||
CURSOR c_vlan
|
||||
IS
|
||||
SELECT p.prs_perslid_key, fac.safe_to_number (ud.fac_usrdata_upper) fac_groep_key
|
||||
FROM prs_v_aanwezigperslid p, prs_afdeling a, fac_imp_perslid i, fac_v_aanwezigusrdata ud
|
||||
WHERE 1 = 1 -- TRUNC (p.prs_perslid_aanmaak) = TRUNC (SYSDATE)
|
||||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||||
AND a.prs_afdeling_upper = UPPER (i.prs_afdeling_naam)
|
||||
AND UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin)
|
||||
AND a.prs_afdeling_upper = UPPER (ud.fac_usrdata_omschr)
|
||||
AND EXISTS (SELECT 1 FROM fac_groep WHERE TO_CHAR (fac_groep_key) = ud.fac_usrdata_code)
|
||||
ORDER BY 1;
|
||||
|
||||
c_ruimte_key NUMBER := 2204; -- Fictieve ruimte op SSCH-locatie
|
||||
c_ssc_fobo_key NUMBER := 341; -- SSC FOBO
|
||||
c_ssc_dmedew_key NUMBER := 361; -- SSC Digireceptiemedewerker
|
||||
c_ssc_hadmin_key NUMBER := 362; -- SSC Huurderadministrator
|
||||
c_ssc_bezprk_key NUMBER := 1721; -- SSC Bezoekersparkeerplaats
|
||||
c_ssc_etage4_key NUMBER := 1482; -- SSC Etage 4
|
||||
v_bedrijf_key NUMBER (10) := -1;
|
||||
v_afdeling_naam VARCHAR2 (15) := '';
|
||||
BEGIN
|
||||
@@ -192,7 +221,7 @@ BEGIN
|
||||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||||
AND a.prs_afdeling_key = ab.prs_afdeling_key;
|
||||
|
||||
IF v_bedrijf_key IN (1981, 2442) -- LABS-key+PROD-key van Huurders SSC-bedrijf; TODO: LABS-key nog een keer verwijderen!
|
||||
IF v_bedrijf_key = 2442 -- Huurders SSC-bedrijf!
|
||||
THEN -- Import door Huurderadministrator!
|
||||
UPDATE fac_imp_perslid
|
||||
SET prs_afdeling_naam = v_afdeling_naam;
|
||||
@@ -236,7 +265,7 @@ BEGIN
|
||||
COMMIT;
|
||||
|
||||
-- Bijwerken autorisatiegroepen van personen (volgens importbestand)!
|
||||
FOR rec IN c_rol (c_ssc_fobo_key, c_ssc_dmedew_key, c_ssc_hadmin_key)
|
||||
FOR rec IN c_rol (c_ssc_fobo_key, c_ssc_dmedew_key, c_ssc_hadmin_key, c_ssc_bezprk_key, c_ssc_etage4_key)
|
||||
LOOP
|
||||
IF rec.aanuit = 1
|
||||
THEN
|
||||
@@ -254,10 +283,23 @@ BEGIN
|
||||
AND prs_perslid_key = rec.prs_perslid_key;
|
||||
END IF;
|
||||
END LOOP;
|
||||
|
||||
-- Toekennen VLAN-autorisatiegroep (volgens eigen tabel met key=481)!
|
||||
-- NB. VLAN-autorisatiegroep wordt nooit automatisch afgenomen!
|
||||
FOR rec IN c_vlan
|
||||
LOOP
|
||||
INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key)
|
||||
SELECT rec.fac_groep_key, rec.prs_perslid_key
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS
|
||||
(SELECT 1
|
||||
FROM fac_gebruikersgroep
|
||||
WHERE fac_groep_key = rec.fac_groep_key
|
||||
AND prs_perslid_key = rec.prs_perslid_key);
|
||||
END LOOP;
|
||||
END bssc_update_perslid;
|
||||
/
|
||||
|
||||
/* Formatted on 7-6-2016 13:24:42 (QP5 v5.136.908.31019) */
|
||||
CREATE OR REPLACE VIEW bssc_v_autorisatiegroepen
|
||||
(
|
||||
fac_groep_key,
|
||||
|
||||
Reference in New Issue
Block a user