VLKC#87106 Implementatie/uitrol België

svn path=/Customer/trunk/; revision=67564
This commit is contained in:
Maarten van der Heide
2025-01-10 17:32:46 +00:00
parent a1a584549e
commit 88e0113a9e

View File

@@ -597,7 +597,6 @@ BEGIN
')', '')
|| SUBSTR (fac_imp_file_line, INSTR (fac_imp_file_line, ';', 1, 10))
WHERE fac_import_key = p_import_key AND fac_imp_file_index > 1;
COMMIT;
-- Verwijder spaties en haakjes ('(' en ')') uit Mobiel.
@@ -615,7 +614,6 @@ BEGIN
')', '')
|| SUBSTR (fac_imp_file_line, INSTR (fac_imp_file_line, ';', 1, 11))
WHERE fac_import_key = p_import_key AND fac_imp_file_index > 1;
COMMIT;
-- Generieke import.
@@ -645,7 +643,6 @@ BEGIN
FROM prs_v_aanwezigperslid
WHERE prs_perslid_oslogin IS NOT NULL
AND prs_perslid_nr = i.prs_perslid_nr);
COMMIT;
-- Als geen Voorletters aangeleverd, dan handmatig toegekende niet wissen.
@@ -660,7 +657,6 @@ BEGIN
FROM prs_v_aanwezigperslid
WHERE prs_perslid_voorletters IS NOT NULL
AND prs_perslid_nr = i.prs_perslid_nr);
COMMIT;
-- Als geen Voornaam aangeleverd, dan handmatig toegekende niet wissen.
@@ -675,13 +671,11 @@ BEGIN
FROM prs_v_aanwezigperslid
WHERE prs_perslid_voornaam IS NOT NULL
AND prs_perslid_nr = i.prs_perslid_nr);
COMMIT;
-- Iedereen de Functie 'Collega'.
UPDATE fac_imp_perslid
SET prs_srtperslid_omschrijving = 'Collega';
COMMIT;
-- Als geen Email aangeleverd, dan handmatig toegekende niet wissen.
@@ -696,7 +690,6 @@ BEGIN
FROM prs_v_aanwezigperslid
WHERE prs_perslid_email IS NOT NULL
AND prs_perslid_nr = i.prs_perslid_nr);
COMMIT;
-- Als geen Telefoonnr aangeleverd, dan handmatig toegekende niet wissen.
@@ -711,7 +704,6 @@ BEGIN
FROM prs_v_aanwezigperslid
WHERE prs_perslid_telefoonnr IS NOT NULL
AND prs_perslid_nr = i.prs_perslid_nr);
COMMIT;
-- Als geen Mobiel aangeleverd, dan handmatig toegekende niet wissen.
@@ -726,23 +718,26 @@ BEGIN
FROM prs_v_aanwezigperslid
WHERE prs_perslid_mobiel IS NOT NULL
AND prs_perslid_nr = i.prs_perslid_nr);
COMMIT;
-- Klantspecifieke aanpassingen.
-- Locatie/Gebouw/Verdieping/Ruimte bepalen via Kenmerk1-kolom -> Eigen tabel (key = 1) ->
-- Gebouw en daaronder Ruimte '_000' op de verdieping met het laagste volgnummer!
-- Als persoon al een WP heeft op import-locatie, dan is dat de juiste en blijft deze
-- (handmatig gecorrigeerde WP) ongewijzigd. In alle andere gevallen verhuist persoon naar
-- '_000' op de meegegeven locatie.
-- Eventuele WPs onder andere locaties dan import-locatie blijven ook ongewijzigd!
-- Locatie/Gebouw/Verdieping/Ruimte bepalen via Kenmerk1-kolom -> Eigen
-- tabel 1221=MappingAfas2Gebouwcode -> Gebouw en daaronder Ruimte '0'
-- (met Ruimtefunctie 121=Tbv. Afas-koppeling) op de verdieping met het
-- laagste volgnummer!
-- Als persoon al een WP heeft op import-locatie, dan is dat de juiste
-- en blijft deze (handmatig gecorrigeerde WP) ongewijzigd.
-- In alle andere gevallen verhuist persoon naar '0' op de meegegeven
-- import-locatie.
-- Eventuele WPs onder andere locaties dan de import-locatie blijven
-- ongewijzigd!
UPDATE fac_imp_perslid i
SET i.alg_locatie_code =
(SELECT il.alg_locatie_code
FROM fac_v_aanwezigusrdata ud, -- Mapping Kenmerk1-code -> Gebouwcode
alg_v_aanweziggebouw ig,
alg_locatie il
WHERE ud.fac_usrtab_key = -1
WHERE ud.fac_usrtab_key = 1221 -- MappingAfas2Gebouwcode
AND UPPER (ud.fac_usrdata_code) = UPPER (i.prs_kenmerk1)
AND UPPER (ud.fac_usrdata_omschr) = UPPER (ig.alg_gebouw_code)
AND ig.alg_locatie_key = il.alg_locatie_key
@@ -756,7 +751,7 @@ BEGIN
FROM fac_v_aanwezigusrdata ud, -- Mapping Kenmerk1-code -> Gebouwcode
alg_v_aanweziggebouw ig,
alg_locatie il
WHERE ud.fac_usrtab_key = -1
WHERE ud.fac_usrtab_key = 1221 -- MappingAfas2Gebouwcode
AND UPPER (ud.fac_usrdata_code) = UPPER (i.prs_kenmerk1)
AND UPPER (ud.fac_usrdata_omschr) = UPPER (ig.alg_gebouw_code)
AND ig.alg_locatie_key = il.alg_locatie_key
@@ -772,7 +767,7 @@ BEGIN
alg_locatie il,
alg_verdieping iv,
alg_ruimte ir
WHERE ud.fac_usrtab_key = -1
WHERE ud.fac_usrtab_key = 1221 -- MappingAfas2Gebouwcode
AND UPPER (ud.fac_usrdata_code) = UPPER (i.prs_kenmerk1)
AND UPPER (ud.fac_usrdata_omschr) = UPPER (ig.alg_gebouw_code)
AND ig.alg_locatie_key = il.alg_locatie_key
@@ -783,19 +778,19 @@ BEGIN
AND alg_locatie_key < il.alg_locatie_key)
AND ig.alg_gebouw_key = iv.alg_gebouw_key
AND iv.alg_verdieping_key = ir.alg_verdieping_key
AND ir.alg_ruimte_nr = '_000'
AND ir.alg_ruimte_nr = '0'
AND NOT EXISTS
(SELECT 1
FROM alg_v_aanwezigruimte r, alg_verdieping v
WHERE r.alg_ruimte_nr = '_000'
WHERE r.alg_ruimte_nr = '0'
AND r.alg_verdieping_key = v.alg_verdieping_key
AND v.alg_verdieping_volgnr < iv.alg_verdieping_volgnr)),
i.alg_ruimte_nr =
(SELECT '_000'
(SELECT '0'
FROM fac_v_aanwezigusrdata ud, -- Mapping Kenmerk1-code -> Gebouwcode
alg_v_aanweziggebouw ig,
alg_locatie il
WHERE ud.fac_usrtab_key = -1
WHERE ud.fac_usrtab_key = 1221 -- MappingAfas2Gebouwcode
AND UPPER (ud.fac_usrdata_code) = UPPER (i.prs_kenmerk1)
AND UPPER (ud.fac_usrdata_omschr) = UPPER (ig.alg_gebouw_code)
AND ig.alg_locatie_key = il.alg_locatie_key
@@ -815,7 +810,7 @@ BEGIN
alg_v_aanwezigruimte cr,
alg_verdieping cv,
alg_gebouw cg
WHERE ud.fac_usrtab_key = -1
WHERE ud.fac_usrtab_key = 1221 -- MappingAfas2Gebouwcode
AND UPPER (ud.fac_usrdata_code) = UPPER (i.prs_kenmerk1)
AND UPPER (ud.fac_usrdata_omschr) = UPPER (ig.alg_gebouw_code)
AND ig.alg_locatie_key = il.alg_locatie_key
@@ -831,7 +826,6 @@ BEGIN
AND cr.alg_verdieping_key = cv.alg_verdieping_key
AND cv.alg_gebouw_key = cg.alg_gebouw_key
AND cg.alg_locatie_key = il.alg_locatie_key);
COMMIT;
-- Resulteert in nette foutmelding als ruimte niet kan worden bepaald.
@@ -839,7 +833,6 @@ BEGIN
SET alg_verdieping_volgnr = 0
WHERE alg_gebouw_code IS NOT NULL
AND alg_verdieping_volgnr IS NULL;
COMMIT;
EXCEPTION
WHEN OTHERS
@@ -850,7 +843,151 @@ EXCEPTION
fac.imp_writelog (p_import_key, 'E', v_errormsg, 'Inleesproces personen afgebroken!');
END vlkc_import_prs;
/
/*
SELECT i.prs_perslid_email,
i.prs_kenmerk1,
(SELECT COUNT (pwp.alg_gebouw_code)
FROM prs_v_aanwezigperslid p, prs_v_perslidwerkplek_gegevens pwp
WHERE p.prs_perslid_key = pwp.prs_perslid_key
AND pwp.prs_perslidwerkplek_key <= 11501
AND p.prs_perslid_nr = i.prs_perslid_nr)
aant_wp,
(SELECT MIN (pwp.alg_gebouw_code)
FROM prs_v_aanwezigperslid p, prs_v_perslidwerkplek_gegevens pwp
WHERE p.prs_perslid_key = pwp.prs_perslid_key
AND pwp.prs_perslidwerkplek_key <= 11501
AND p.prs_perslid_nr = i.prs_perslid_nr)
min_wp,
(SELECT MAX (pwp.alg_gebouw_code)
FROM prs_v_aanwezigperslid p, prs_v_perslidwerkplek_gegevens pwp
WHERE p.prs_perslid_key = pwp.prs_perslid_key
AND pwp.prs_perslidwerkplek_key <= 11501
AND p.prs_perslid_nr = i.prs_perslid_nr)
max_wp,
i.alg_locatie_code,
(SELECT il.alg_locatie_code
FROM fac_v_aanwezigusrdata ud, -- Mapping Kenmerk1-code -> Gebouwcode
alg_v_aanweziggebouw ig,
alg_locatie il
WHERE ud.fac_usrtab_key = 1221 -- MappingAfas2Gebouwcode
AND UPPER (ud.fac_usrdata_code) = UPPER (i.prs_kenmerk1)
AND UPPER (ud.fac_usrdata_omschr) = UPPER (ig.alg_gebouw_code)
AND ig.alg_locatie_key = il.alg_locatie_key
AND NOT EXISTS
(SELECT 1
FROM alg_v_aanweziggebouw
WHERE UPPER (alg_gebouw_code) =
UPPER (ud.fac_usrdata_omschr)
AND alg_locatie_key < il.alg_locatie_key)),
i.alg_gebouw_code,
(SELECT ig.alg_gebouw_code
FROM fac_v_aanwezigusrdata ud, -- Mapping Kenmerk1-code -> Gebouwcode
alg_v_aanweziggebouw ig,
alg_locatie il
WHERE ud.fac_usrtab_key = 1221 -- MappingAfas2Gebouwcode
AND UPPER (ud.fac_usrdata_code) = UPPER (i.prs_kenmerk1)
AND UPPER (ud.fac_usrdata_omschr) = UPPER (ig.alg_gebouw_code)
AND ig.alg_locatie_key = il.alg_locatie_key
AND NOT EXISTS
(SELECT 1
FROM alg_v_aanweziggebouw
WHERE UPPER (alg_gebouw_code) =
UPPER (ud.fac_usrdata_omschr)
AND alg_locatie_key < il.alg_locatie_key)),
i.alg_verdieping_volgnr,
(SELECT iv.alg_verdieping_volgnr
FROM fac_v_aanwezigusrdata ud, -- Mapping Kenmerk1-code -> Gebouwcode
alg_v_aanweziggebouw ig,
alg_locatie il,
alg_verdieping iv,
alg_ruimte ir
WHERE ud.fac_usrtab_key = 1221 -- MappingAfas2Gebouwcode
AND UPPER (ud.fac_usrdata_code) = UPPER (i.prs_kenmerk1)
AND UPPER (ud.fac_usrdata_omschr) = UPPER (ig.alg_gebouw_code)
AND ig.alg_locatie_key = il.alg_locatie_key
AND NOT EXISTS
(SELECT 1
FROM alg_v_aanweziggebouw
WHERE UPPER (alg_gebouw_code) =
UPPER (ud.fac_usrdata_omschr)
AND alg_locatie_key < il.alg_locatie_key)
AND ig.alg_gebouw_key = iv.alg_gebouw_key
AND iv.alg_verdieping_key = ir.alg_verdieping_key
AND ir.alg_ruimte_nr = '0'
AND NOT EXISTS
(SELECT 1
FROM alg_v_aanwezigruimte r, alg_verdieping v
WHERE r.alg_ruimte_nr = '0'
AND r.alg_verdieping_key =
v.alg_verdieping_key
AND v.alg_verdieping_volgnr <
iv.alg_verdieping_volgnr)),
i.alg_ruimte_nr,
(SELECT '0'
FROM fac_v_aanwezigusrdata ud, -- Mapping Kenmerk1-code -> Gebouwcode
alg_v_aanweziggebouw ig,
alg_locatie il
WHERE ud.fac_usrtab_key = 1221 -- MappingAfas2Gebouwcode
AND UPPER (ud.fac_usrdata_code) = UPPER (i.prs_kenmerk1)
AND UPPER (ud.fac_usrdata_omschr) = UPPER (ig.alg_gebouw_code)
AND ig.alg_locatie_key = il.alg_locatie_key
AND NOT EXISTS
(SELECT 1
FROM alg_v_aanweziggebouw
WHERE UPPER (alg_gebouw_code) =
UPPER (ud.fac_usrdata_omschr)
AND alg_locatie_key < il.alg_locatie_key))
FROM fac_imp_perslid i
WHERE NOT EXISTS -- Nog geen werkplek op Locatie!
(SELECT 1
FROM fac_v_aanwezigusrdata ud, -- Mapping Kenmerk1-code -> Gebouwcode
alg_v_aanweziggebouw ig,
alg_locatie il,
prs_v_aanwezigperslid p,
prs_perslidwerkplek pw,
prs_werkplek cw,
alg_v_aanwezigruimte cr,
alg_verdieping CV,
alg_gebouw cg
WHERE ud.fac_usrtab_key = 1221 -- MappingAfas2Gebouwcode
AND UPPER (ud.fac_usrdata_code) = UPPER (i.prs_kenmerk1)
AND UPPER (ud.fac_usrdata_omschr) =
UPPER (ig.alg_gebouw_code)
AND ig.alg_locatie_key = il.alg_locatie_key
AND NOT EXISTS
(SELECT 1
FROM alg_v_aanweziggebouw
WHERE UPPER (alg_gebouw_code) =
UPPER (ud.fac_usrdata_omschr)
AND alg_locatie_key < il.alg_locatie_key)
AND p.prs_perslid_nr = i.prs_perslid_nr
AND p.prs_perslid_key = pw.prs_perslid_key
AND pw.prs_werkplek_key = cw.prs_werkplek_key
AND cw.prs_alg_ruimte_key = cr.alg_ruimte_key
AND cr.alg_verdieping_key = CV.alg_verdieping_key
AND CV.alg_gebouw_key = cg.alg_gebouw_key
AND cg.alg_locatie_key = il.alg_locatie_key);
m.boer@vanlanschotkempen.com Den Bosch Hooge Steenweg 4 E RK-AMS-APOL DB-HSW
M.Walschots@vanlanschotkempen.com Den Bosch Hooge Steenweg 4 E RK-AMS-APOL DB-HSW
M.deGroot@vanlanschotkempen.com Den Bosch Hooge Steenweg 3 E RK-AMS-APOL DB-HSW
E.Deurhof@vanlanschotkempen.com Amsterdam Apollolaan 2 E HK AMS-APOL
f.jongen@vanlanschotkempen.com Amsterdam Beethovenstraat 2 COL-DHAA HK AMS-WTC
m.bink@vanlanschotkempen.com Amsterdam Beethovenstraat 2 ALL-GEBOUW COL-GRO-Ubbo AMS-WTC
M.Boere@vanlanschotkempen.com Amsterdam Apollolaan 1 E E AMS-APOL
e.bleukens@vanlanschotkempen.com Rotterdam 1 E E ROT
J.Godschalk@vanlanschotkempen.com Amsterdam Apollolaan 1 E E AMS-APOL
D.vanderGrinten@vanlanschotkempen.com Amsterdam Apollolaan 1 E E AMS-APOL
y.langeweg@vanlanschotkempen.com Amsterdam Apollolaan 1 COL-ZEIST COL-ZEIST AMS-APOL
S.Raspoort@vanlanschotkempen.com Amsterdam Apollolaan 1 E E AMS-APOL
A.vanWingerden@vanlanschotkempen.com Amsterdam Apollolaan 1 COL-ZEIST COL-ZEIST AMS-APOL
s.roele@vanlanschotkempen.com Amsterdam Beethovenstraat 1 RK-AMS-APOL RK-AMS-APOL AMS-WTC
n.ewald-smits@vanlanschotkempen.com Den Bosch Toren 1 E E DB-TOREN
F.Maghraoui@vanlanschotkempen.com Amsterdam Beethovenstraat 1 RK-AMS-APOL RK-AMS-APOL AMS-WTC
e.vanbraam@vanlanschotkempen.com Amsterdam Apollolaan 1 E E AMS-APOL
r.monincx@vanlanschotkempen.com Amsterdam Apollolaan 1 COL-ALK LOO COL-ALK LOO AMS-APOL
b.cools-vandinther@vanlanschotkempen.com Rotterdam 1 E E ROT
*/
CREATE OR REPLACE PROCEDURE vlkc_update_prs (p_import_key IN NUMBER)
AS
-- Maximale afname van medewerkers na import tov. huidig aantal met nummer!
@@ -884,7 +1021,8 @@ AS
FROM fac_imp_perslid i, prs_v_aanwezigperslid p
WHERE LENGTH (TRIM (i.prs_kenmerk2)) > 0 -- Login2
AND i.prs_perslid_nr = p.prs_perslid_nr
AND i.prs_kenmerk2 != p.prs_perslid_oslogin;
AND i.prs_kenmerk2 != p.prs_perslid_oslogin
ORDER BY 2, 1;
-- Toekennen(/aanmaken) persoonlijke kostenplaats!
CURSOR c_prskpn
@@ -897,7 +1035,23 @@ AS
FROM fac_imp_perslid i, prs_v_aanwezigperslid p, prs_v_aanwezigkostenplaats kp
WHERE LENGTH (TRIM (i.prs_kenmerk3)) > 0 -- Kpnnr
AND i.prs_perslid_nr = p.prs_perslid_nr
AND TRIM (i.prs_kenmerk3) = TRIM (kp.prs_kostenplaats_nr(+));
AND TRIM (i.prs_kenmerk3) = TRIM (kp.prs_kostenplaats_nr(+))
ORDER BY 2, 1;
-- Toekennen autorisatiegroep _Default BE aan Belgen!
CURSOR c_belgen
IS
SELECT '[' || p.prs_perslid_nr || '] ' aanduiding,
p.prs_perslid_key
FROM prs_v_aanwezigperslid p, prs_v_afdeling_boom ab
WHERE p.prs_afdeling_key = ab.prs_afdeling_key
AND ab.prs_afdeling_key2 = 7384 -- 10002/Mercier Van Lanschot
AND NOT EXISTS
(SELECT 1
FROM fac_gebruikersgroep
WHERE fac_groep_key = 1381 -- _Default BE
AND prs_perslid_key = p.prs_perslid_key)
ORDER BY 2, 1;
BEGIN
-- Bepaal aantal personen na import.
SELECT COUNT (DISTINCT prs_perslid_nr)
@@ -975,6 +1129,28 @@ BEGIN
fac.imp_writelog (p_import_key, 'E', rec.aanduiding || v_errormsg, 'Toekennen kostenpaats');
END;
END LOOP;
-- Toekennen autorisatiegroep 7384=_Default BE aan Belgen (en afnemen
-- 1=_Default NL, maar alleen bij toekenning aan 7384=_Default BE)!
FOR rec IN c_belgen
LOOP
BEGIN
v_errormsg := 'Fout afnemen _Default NL';
DELETE FROM fac_gebruikersgroep
WHERE fac_groep_key = 1 AND prs_perslid_key = rec.prs_perslid_key;
v_errormsg := 'Fout toekennen _Default BE';
INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key)
VALUES (7384, rec.prs_perslid_key);
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg := 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.imp_writelog (p_import_key, 'E', rec.aanduiding || v_errormsg, 'Toekennen _Default BE');
END;
END LOOP;
END IF;
EXCEPTION
WHEN OTHERS