IMPU#87499 -- Herziening medewerkerskoppeling AFAS ivm integratie GMK - Aanvulling medewerkers en locatiemanagers Akros en Combiwel
svn path=/Customer/trunk/; revision=69153
This commit is contained in:
330
IMPU/impu.sql
330
IMPU/impu.sql
@@ -231,6 +231,110 @@ AS
|
||||
AND onr.alg_locatie_key = l.alg_locatie_key
|
||||
ORDER BY wp.prs_perslid_key ;
|
||||
|
||||
-- BRONVIEW: Alle locaties met haar kostenplaats(en)
|
||||
CREATE OR REPLACE VIEW impu_v_locaties_kp
|
||||
(
|
||||
alg_locatie_key,
|
||||
alg_locatie_omschrijving,
|
||||
kostenplaats_opvangsoort,
|
||||
prs_kostenplaats_key,
|
||||
prs_kostenplaats_nr,
|
||||
prs_kostenplaats_omschrijving,
|
||||
prs_kostenplaats_eind,
|
||||
prs_kostenplaats_verwijder
|
||||
)
|
||||
AS
|
||||
SELECT alg_locatie_key,
|
||||
alg_locatie_omschrijving,
|
||||
'kostenplaats kdv' kostenplaats_opvangsoort,
|
||||
kw.alg_onrgoedkenmerk_waarde prs_kostenplaats_key,
|
||||
prs_kostenplaats_nr,
|
||||
prs_kostenplaats_omschrijving,
|
||||
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 = 1021 -- kostenplaats-1
|
||||
UNION
|
||||
SELECT alg_locatie_key,
|
||||
alg_locatie_omschrijving,
|
||||
'kostenplaats vo' kostenplaats_opvangsoort,
|
||||
kw.alg_onrgoedkenmerk_waarde prs_kostenplaats_key,
|
||||
prs_kostenplaats_nr,
|
||||
prs_kostenplaats_omschrijving,
|
||||
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 = 1022 -- kostenplaats-2
|
||||
UNION
|
||||
SELECT alg_locatie_key,
|
||||
alg_locatie_omschrijving,
|
||||
'kostenplaats bso' kostenplaats_opvangsoort,
|
||||
kw.alg_onrgoedkenmerk_waarde prs_kostenplaats_key,
|
||||
prs_kostenplaats_nr,
|
||||
prs_kostenplaats_omschrijving,
|
||||
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 = 1023 -- kostenplaats-3
|
||||
UNION
|
||||
SELECT alg_locatie_key,
|
||||
alg_locatie_omschrijving,
|
||||
'kostenplaats vo2' kostenplaats_opvangsoort,
|
||||
kw.alg_onrgoedkenmerk_waarde prs_kostenplaats_key,
|
||||
prs_kostenplaats_nr,
|
||||
prs_kostenplaats_omschrijving,
|
||||
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 = 1080 -- kostenplaats-4
|
||||
UNION
|
||||
SELECT alg_locatie_key,
|
||||
alg_locatie_omschrijving,
|
||||
'kostenplaats welzijn' kostenplaats_opvangsoort,
|
||||
kw.alg_onrgoedkenmerk_waarde prs_kostenplaats_key,
|
||||
prs_kostenplaats_nr,
|
||||
prs_kostenplaats_omschrijving,
|
||||
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 = 1120 -- kostenplaats-4
|
||||
UNION
|
||||
SELECT alg_locatie_key,
|
||||
alg_locatie_omschrijving,
|
||||
'kostenplaats ssc' kostenplaats_opvangsoort,
|
||||
kw.alg_onrgoedkenmerk_waarde prs_kostenplaats_key,
|
||||
prs_kostenplaats_nr,
|
||||
prs_kostenplaats_omschrijving,
|
||||
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-5
|
||||
;
|
||||
|
||||
CREATE OR REPLACE VIEW impu_v_ict_nummers
|
||||
(
|
||||
INS_DEEL_KEY,
|
||||
@@ -257,8 +361,11 @@ AS
|
||||
|
||||
-- overige variabelen
|
||||
v_prs_afdeling_key NUMBER (10);
|
||||
c_prs_afdeling_key NUMBER (10) := 22; -- Fallback-afdeling 'OVERIG voor Medewerkers Impuls'
|
||||
c_prs_afdeling_key_leid NUMBER (10) := 21; -- Afdeling waaronder Locatiemanagers en Regiomanagers komen te vallen
|
||||
c_prs_afdeling_key_gmk NUMBER (10) := 22; -- Algemene medewerkersafdeling GMK
|
||||
c_prs_afdeling_key_akros NUMBER (10) := 1101; -- Algemene medewerkersafdeling Akros
|
||||
c_prs_afdeling_key_combi NUMBER (10) := 1102; -- Algemene medewerkersafdeling Combiwel
|
||||
|
||||
v_alg_locatie_key NUMBER (10);
|
||||
v_alg_locatie_code VARCHAR2 (10);
|
||||
v_alg_gebouw_key NUMBER (10);
|
||||
@@ -274,6 +381,13 @@ AS
|
||||
SELECT fac_imp_file_index,
|
||||
prs_kenmerk1,
|
||||
prs_afdeling_naam,
|
||||
CASE WHEN INSTR(UPPER(prs_perslid_email), '@IMPULS.NL') > 0 THEN 'GMK'
|
||||
WHEN INSTR(UPPER(prs_perslid_email), '@GMK.NL') > 0 THEN 'GMK'
|
||||
WHEN INSTR(UPPER(prs_perslid_email), '@AKROS-AMSTERDAM.NL') > 0 THEN 'AKROS'
|
||||
WHEN INSTR(UPPER(prs_perslid_email), '@COMBIWELVOORKINDEREN.NL') > 0 THEN 'COMBIWEL'
|
||||
ELSE 'GMK'
|
||||
END
|
||||
bedrijf,
|
||||
prs_srtperslid_omschrijving
|
||||
FROM fac_imp_perslid
|
||||
WHERE fac_import_key = p_import_key;
|
||||
@@ -289,9 +403,12 @@ AS
|
||||
|
||||
CURSOR c_loc
|
||||
IS
|
||||
SELECT fac_imp_file_index, prs_kenmerk4
|
||||
SELECT fac_imp_file_index, prs_kenmerk5 -- kostenplaatsnr afas...
|
||||
FROM fac_imp_perslid
|
||||
WHERE fac_import_key = p_import_key;
|
||||
WHERE prs_kenmerk5 IS NOT NULL
|
||||
AND fac_import_key = p_import_key
|
||||
ORDER BY fac_imp_file_index ;
|
||||
|
||||
BEGIN
|
||||
-- Het aangeleverde bestand heeft de gegevens komma gescheiden ipv ;
|
||||
v_errorhint := 'Delimiter goed zetten';
|
||||
@@ -307,22 +424,6 @@ BEGIN
|
||||
|
||||
|
||||
v_errorhint := 'Generieke update';
|
||||
-- De sequence array staat beschreven in PRS_PAC.SRC bij de prs.import_perslid procedure
|
||||
-- Voor IMPULS geldt:
|
||||
---
|
||||
/* WAS:
|
||||
prs.import_perslid (
|
||||
p_import_key,
|
||||
'0;0;0;0;0;0;1;2;3;5;'
|
||||
|| '4;0;0;0;0;0;0;6;0;8;'
|
||||
|| '7;0;0;0;0;0;9;10;11;12;'
|
||||
|| '0;13;0;0;0;0;0;0;0;0;'
|
||||
|| '0;0;0;0;0;0',
|
||||
'Kostenplaats;Achternaam;Voorvoegsel;Voorletters;Roepnaam;E-Mail_werk;Omschrijving_Functie;Medewerker;Organisatorische_eenheid_omschrijving;Kostenplaats_2;Datum_in_dienst;Datum_uit_dienst;Soort_medewerker');
|
||||
*/
|
||||
-- AFASONLINE: "Kostenplaats";"Achternaam";"Voorvoegsel";"Voorletters";"Roepnaam";"E-Mail_werk";"Omschrijving_Functie";"Medewerker";"Organisatorische_eenheid_omschrijving";"Kostenplaats_2";"Datum_in_dienst";"Datum_uit_dienst";Soort_medewerker"
|
||||
-- 1 (7) 2 (8) 3 (9) 4 (11) 5 (10) 6 (18) 7 (21) 8(20) 9 (27) 10 (28) 11 (29) 12 (30) 13 (32)
|
||||
-- DEF: Kostenplaats;Achternaam;Voorvoegsel;Voorletters;Roepnaam;Mail werk;Functie;Medewerker;Organisatorische eenheid;Kostenplaats_oms;In dienst;Uit dienst;Soort medewerker
|
||||
|
||||
-- WORDT 2025-MRT
|
||||
prs.import_perslid (
|
||||
@@ -330,11 +431,11 @@ BEGIN
|
||||
'0;0;0;0;0;0;1;2;3;5;'
|
||||
|| '4;0;0;0;0;0;20;6;0;8;'
|
||||
|| '7;0;0;0;0;0;9;10;11;12;'
|
||||
|| '0;13;14;15;16;17;18;19;20;0;'
|
||||
|| '1;13;14;15;16;17;18;19;20;0;'
|
||||
|| '0;0;0;0;0;0',
|
||||
'Kostenplaats;Achternaam;Voorvoegsel;Voorletters;Roepnaam;E-Mail_werk;Omschrijving_Functie;Medewerker;Organisatorische_eenheid_omschrijving;Kostenplaats_2;Datum_in_dienst;Datum_uit_dienst;Soort_medewerker;Soort_medewerker__Code_obv_medewerkertaal_;Organisatorische_eenheid;Leidinggevende_pers_nr;Leidinggevende_Naam;Werkgever;Naam_werkgever;Mobiel_werk');
|
||||
-- AFASONLINE: "Kostenplaats";"Achternaam";"Voorvoegsel";"Voorletters";"Roepnaam";"E-Mail_werk";"Omschrijving_Functie";"Medewerker";"Organisatorische_eenheid_omschrijving";"Kostenplaats_2";"Datum_in_dienst";"Datum_uit_dienst";"Soort_medewerker";"Soort_medewerker__Code_obv_medewerkertaal_";"Organisatorische_eenheid";"Leidinggevende_pers_nr";"Leidinggevende_Naam";"Werkgever";"Naam_werkgever";"Mobiel_werk"
|
||||
-- 1 (7) 2 (8) 3 (9) 4 (11) 5 (10) 6 (18) 7 (21) 8(20) 9 (27) 10 (28) 11 (29) 12 (30) 13 (32) 14 (33) 15 (34) 16 (35) 17 (36) 18 (37) 19 (38) 20 (39)
|
||||
-- 1 (7) 2 (8) 3 (9) 4 (11) 5 (10) 6 (18) 7 (21) 8(20) 9 (27) 10 (28) 11 (29) 12 (30) 13 (32) 14 (33) 15 (34) 16 (35) 17 (36) 18 (37) 19 (38) 20 (39)
|
||||
-- DEF: Kostenplaats;Achternaam;Voorvoegsel;Voorletters;Roepnaam;Mail werk;Functie;Medewerker;Organisatorische eenheid;Kostenplaats_oms;In dienst;Uit dienst;Soort medewerker;Soort_medewerker__Code_obv_medewerkertaal_;Organisatorische_eenheid;Leidinggevende_pers_nr;Leidinggevende_Naam;Werkgever;Naam_werkgever;Mobiel_werk
|
||||
|
||||
|
||||
@@ -352,23 +453,31 @@ BEGIN
|
||||
v_errorhint := 'Uitfilteren records'; -- in afasonline-bestand zitten aantal zaken die niet mee hoeven naar Facilitor
|
||||
|
||||
---- functie gevuld met PROFIT dan record delete
|
||||
---- emailadres <leeg> en emailadres <> @impuls.nl dan record delete
|
||||
|
||||
DELETE fac_imp_perslid
|
||||
WHERE UPPER (prs_srtperslid_omschrijving) IN ('PROFIT');
|
||||
|
||||
---- we nemen uit afas alleen de bedrijven/domeinen mee van impuls, gmk, akros en combiwel
|
||||
DELETE fac_imp_perslid
|
||||
WHERE (
|
||||
UPPER (prs_perslid_email) NOT LIKE '%@IMPULS.NL'
|
||||
AND
|
||||
UPPER (prs_perslid_email) NOT LIKE '%@GMK.NL'
|
||||
)
|
||||
AND
|
||||
UPPER (prs_perslid_email) NOT LIKE '%@AKROS-AMSTERDAM.NL'
|
||||
AND
|
||||
UPPER (prs_perslid_email) NOT LIKE '%@COMBIWELVOORKINDEREN.NL'
|
||||
)
|
||||
;
|
||||
|
||||
v_errorhint := 'Afdeling bepalen en vullen';
|
||||
|
||||
-- Afdeling bepalen waar persoon onder komt te vallen.
|
||||
-- Voor locatiemanagers en regiomanagers geldt dat deze altijd op organisatie 'OPVANG' moeten komen (onder dit organisatieonderdeel zitten op niveau 2 de team/afdelingen/kostenplaatsen)
|
||||
-- Voor locatiemanagers, regiomanagers, teamleider en divisiemanager, geldt dat deze altijd op 'LOCATIE_MAN' moeten komen
|
||||
-- Voor de overige personen/accounts geldt:
|
||||
---- De mederwerkers komen uit AFAS en hebben een kostenplaats uit AFAS. Als in Facilitor er een afdeling is aangemaakt met dit gekoppelde kostenplaats_nr dan koppelen we de persoon ook aan die afdeling.
|
||||
------ indien er op de medewerker geen kostenplaats-afdeling gevonden is, dan wordt deze medewerker onder zijn bedrijf op standaard afdeling gezet: MEDEW_AKROS / MEDEW_COMBIW / MEDEW_GMK
|
||||
---- De teamaccounts lopen niet via de afas-koppeling. Voor volledigheid, deze komen op eigen TEAM_code onder Eigen bedrijf
|
||||
|
||||
FOR rec IN c_afd
|
||||
LOOP
|
||||
BEGIN
|
||||
@@ -384,6 +493,9 @@ BEGIN
|
||||
OR INSTR (UPPER (rec.prs_srtperslid_omschrijving),
|
||||
'TEAMLEIDER') >
|
||||
0
|
||||
OR INSTR (UPPER (rec.prs_srtperslid_omschrijving),
|
||||
'DIVISIEMANAGER') >
|
||||
0
|
||||
THEN
|
||||
UPDATE fac_imp_perslid
|
||||
SET prs_afdeling_naam =
|
||||
@@ -397,19 +509,16 @@ BEGIN
|
||||
FROM prs_v_afdeling a, prs_kostenplaats kp
|
||||
WHERE kp.prs_kostenplaats_upper =
|
||||
UPPER (rec.prs_afdeling_naam)
|
||||
AND a.prs_bedrijf_key = 21 -- bedrijf IMPULS
|
||||
AND a.prs_bedrijf_key IN (SELECT prs_link_key FROM prs_kenmerklink WHERE prs_kenmerk_key = 1040 AND prs_kenmerklink_niveau = 'B' AND prs_kenmerklink_verwijder IS NULL) -- bedrijven GMK
|
||||
AND a.prs_afdeling_verwijder IS NULL
|
||||
AND a.niveau = 1 -- kijken alleen naar afdelingen op niveau 1
|
||||
AND a.prs_kostenplaats_key = kp.prs_kostenplaats_key;
|
||||
|
||||
-- Als afdeling uit AFAS (nog) WEL bekend is in Facilitor dan medewerker op die afdeling zetten
|
||||
-- Als afdeling/kostenplaats uit AFAS bekend is in Facilitor dan medewerker op die afdeling zetten
|
||||
IF v_prs_afdeling_key IS NOT NULL
|
||||
THEN
|
||||
-- prs_kenmerk5 vullen zodat deze AFAS-kostenplaats-waarde wel in personenkaart kan landen
|
||||
UPDATE fac_imp_perslid
|
||||
SET prs_kenmerk5 = prs_afdeling_naam
|
||||
WHERE fac_imp_file_index = rec.fac_imp_file_index;
|
||||
|
||||
-- op de Facilitor-afdeling zetten
|
||||
-- op de Facilitor-kp-afdeling zetten
|
||||
UPDATE fac_imp_perslid
|
||||
SET prs_afdeling_naam =
|
||||
(SELECT prs_afdeling_upper
|
||||
@@ -418,21 +527,47 @@ BEGIN
|
||||
WHERE fac_imp_file_index = rec.fac_imp_file_index;
|
||||
END IF;
|
||||
|
||||
-- Als afdeling uit AFAS (nog) niet bekend is in Facilitor dan medewerker op afdeling OVERIG zetten
|
||||
-- Als afdeling uit AFAS (nog) niet bekend is in Facilitor dan medewerkers GMK, AKROS, COMBIWEL op hun algemene medewerkers-afdeling zetten
|
||||
IF v_prs_afdeling_key IS NULL
|
||||
THEN
|
||||
-- kenmerk5 vullen zodat deze AFAS-kostenplaats-waarde wel in personenkaart kan landen
|
||||
UPDATE fac_imp_perslid
|
||||
SET prs_kenmerk5 = prs_afdeling_naam
|
||||
WHERE fac_imp_file_index = rec.fac_imp_file_index;
|
||||
|
||||
-- op algemene medewerkers-afdeling zetten
|
||||
IF rec.bedrijf = 'GMK'
|
||||
THEN
|
||||
|
||||
-- op afdeling OVERIG zetten
|
||||
UPDATE fac_imp_perslid
|
||||
SET prs_afdeling_naam =
|
||||
(SELECT prs_afdeling_upper
|
||||
FROM prs_afdeling
|
||||
WHERE prs_afdeling_key = c_prs_afdeling_key)
|
||||
WHERE fac_imp_file_index = rec.fac_imp_file_index;
|
||||
WHERE prs_afdeling_key = c_prs_afdeling_key_gmk)
|
||||
WHERE fac_imp_file_index = rec.fac_imp_file_index;
|
||||
|
||||
END IF;
|
||||
|
||||
IF rec.bedrijf = 'AKROS'
|
||||
THEN
|
||||
|
||||
UPDATE fac_imp_perslid
|
||||
SET prs_afdeling_naam =
|
||||
(SELECT prs_afdeling_upper
|
||||
FROM prs_afdeling
|
||||
WHERE prs_afdeling_key = c_prs_afdeling_key_akros)
|
||||
WHERE fac_imp_file_index = rec.fac_imp_file_index;
|
||||
|
||||
END IF;
|
||||
|
||||
IF rec.bedrijf = 'COMBIWEL'
|
||||
THEN
|
||||
|
||||
UPDATE fac_imp_perslid
|
||||
SET prs_afdeling_naam =
|
||||
(SELECT prs_afdeling_upper
|
||||
FROM prs_afdeling
|
||||
WHERE prs_afdeling_key = c_prs_afdeling_key_combi)
|
||||
WHERE fac_imp_file_index = rec.fac_imp_file_index;
|
||||
|
||||
END IF;
|
||||
|
||||
END IF;
|
||||
END IF;
|
||||
END;
|
||||
@@ -459,8 +594,8 @@ BEGIN
|
||||
END LOOP;
|
||||
|
||||
v_errorhint := 'Locatie bepalen en vullen';
|
||||
-- Default Locatie / Standplaats bepalen voor persoon => ACTIE - Indien gewenst dan kan dit voor IMPULS nog netjes via de kostenplaatsen in de Locatiekaart ingepast worden
|
||||
/*
|
||||
-- Default Locatie / Standplaats bepalen voor persoon op basis AFAS-kostenplaats standplaats en de gekoppelde kostenplaatsen in de Locatiekaart
|
||||
|
||||
FOR rec IN c_loc
|
||||
LOOP
|
||||
BEGIN
|
||||
@@ -473,10 +608,9 @@ BEGIN
|
||||
|
||||
SELECT min(alg_locatie_key)
|
||||
INTO v_alg_locatie_key
|
||||
FROM alg_locatie
|
||||
WHERE UPPER(alg_locatie_omschrijving) = UPPER(rec.prs_kenmerk4)
|
||||
AND (TRUNC(alg_locatie_vervaldatum) > TRUNC(sysdate) OR alg_locatie_vervaldatum IS NULL )
|
||||
AND alg_locatie_verwijder IS NULL ;
|
||||
FROM impu_v_locaties_kp v
|
||||
WHERE UPPER(v.prs_kostenplaats_nr) = UPPER(rec.prs_kenmerk5)
|
||||
AND (TRUNC(v.prs_kostenplaats_eind) > TRUNC(sysdate) OR v.prs_kostenplaats_verwijder IS NULL ) ;
|
||||
|
||||
IF v_alg_locatie_key IS NOT NULL THEN
|
||||
|
||||
@@ -494,11 +628,6 @@ BEGIN
|
||||
AND alg_gebouw_verwijder IS NULL
|
||||
AND (TRUNC(alg_gebouw_vervaldatum) > TRUNC(sysdate) OR alg_gebouw_vervaldatum IS NULL ) ;
|
||||
|
||||
-- Om bij update dit kenmerkveld weg te kunnen schrijven naar kenmerkveld 'default standplaats'
|
||||
UPDATE fac_imp_perslid
|
||||
SET prs_kenmerk6 = (SELECT UPPER(alg_locatie_code) || alg_locatie_omschrijving FROM alg_locatie WHERE alg_locatie_key = v_alg_locatie_key)
|
||||
WHERE fac_imp_file_index = rec.fac_imp_file_index ;
|
||||
|
||||
IF v_alg_gebouw_key IS NOT NULL THEN
|
||||
|
||||
-- Gebouw_code ophalen
|
||||
@@ -553,16 +682,13 @@ BEGIN
|
||||
|
||||
ELSE
|
||||
-- Geen Locatie/Vastgoedketen kunnen vinden
|
||||
|
||||
UPDATE fac_imp_perslid
|
||||
SET prs_kenmerk6 = 'LOCATIE ONBEKEND'
|
||||
WHERE fac_imp_file_index = rec.fac_imp_file_index ;
|
||||
|
||||
NULL;
|
||||
|
||||
END IF;
|
||||
|
||||
END;
|
||||
END LOOP;
|
||||
*/
|
||||
|
||||
|
||||
COMMIT;
|
||||
@@ -587,6 +713,10 @@ IS
|
||||
-- Match bij IMPULS KINDEROPVANG kan via Email of Personeelsnummer.
|
||||
---- Zie ticket IMPU#84705 - ivm overgang GMK omzetting van email naar personeelsnummer
|
||||
-- Geen acties tenzij het aantal records in de importtabel meer dan 100 medewerkers betreft.
|
||||
|
||||
|
||||
-- NOG DOEN IN OVERLEG MET IRENE en ANNEKE!!!
|
||||
---- 2. Mandaten inregelen....
|
||||
|
||||
CURSOR c_del
|
||||
IS
|
||||
@@ -597,13 +727,17 @@ IS
|
||||
AND p.prs_afdeling_key = a.prs_afdeling_key AND a.prs_bedrijf_key = b.prs_bedrijf_key
|
||||
AND p.prs_srtperslid_key = sp.prs_srtperslid_key
|
||||
AND i.prs_perslid_nr IS NULL -- in Facilitor, met onderstaande voorwaarden, is er dus geen mapping op personeelsnummer en die personen gaan we verwijderen/inactief maken
|
||||
AND a.prs_bedrijf_key IN (21, 3503, 6662) -- Impuls/GMK Kinderopvang, Akros, Combiwell
|
||||
AND a.prs_bedrijf_key IN (SELECT prs_link_key FROM prs_kenmerklink WHERE prs_kenmerk_key = 1040 AND prs_kenmerklink_niveau = 'B' AND prs_kenmerklink_verwijder IS NULL) -- bedrijven GMK
|
||||
AND sp.prs_srtperslid_upper NOT IN 'TEAMACCOUNT'
|
||||
AND p.prs_perslid_nr IS NOT NULL
|
||||
AND (
|
||||
UPPER (p.prs_perslid_email) LIKE '%IMPULS.NL'
|
||||
OR
|
||||
UPPER (p.prs_perslid_email) LIKE '%GMK.NL'
|
||||
OR
|
||||
UPPER (p.prs_perslid_email) LIKE '%@AKROS-AMSTERDAM.NL'
|
||||
OR
|
||||
UPPER (p.prs_perslid_email) LIKE '%@COMBIWELVOORKINDEREN.NL'
|
||||
)
|
||||
ORDER BY 1 ;
|
||||
|
||||
@@ -650,6 +784,34 @@ IS
|
||||
ORDER BY v.prs_perslid_key, v.alg_locatie_key
|
||||
;
|
||||
|
||||
CURSOR c_verantw
|
||||
IS
|
||||
SELECT p.prs_perslid_key,
|
||||
p.prs_perslid_email,
|
||||
p.prs_perslid_nr,
|
||||
p.prs_perslid_oslogin,
|
||||
CASE WHEN p.prs_perslid_key_verantw IS NOT NULL
|
||||
THEN (SELECT prs_perslid_nr FROM prs_perslid WHERE prs_perslid_key = p.prs_perslid_key_verantw)
|
||||
ELSE NULL
|
||||
END
|
||||
prs_perslid_verantw_nr,
|
||||
p.prs_perslid_verantw_nr_afas
|
||||
FROM fac_imp_perslid i,
|
||||
(SELECT p.prs_perslid_key,
|
||||
p.prs_perslid_email,
|
||||
p.prs_perslid_nr,
|
||||
p.prs_perslid_oslogin,
|
||||
p.prs_perslid_key_verantw,
|
||||
(SELECT kw.prs_kenmerklink_waarde
|
||||
FROM prs_kenmerklink kw
|
||||
WHERE kw.prs_kenmerk_key = 1082
|
||||
AND kw.prs_kenmerklink_niveau = 'P'
|
||||
AND kw.prs_link_key = p.prs_perslid_key)
|
||||
prs_perslid_verantw_nr_afas
|
||||
FROM prs_perslid p) p
|
||||
WHERE p.prs_perslid_key = i.prs_perslid_key
|
||||
ORDER BY 1 ;
|
||||
|
||||
|
||||
v_count NUMBER;
|
||||
oracle_err_num NUMBER;
|
||||
@@ -660,6 +822,7 @@ IS
|
||||
v_fac_gebruikersgroep_key NUMBER(10);
|
||||
v_alg_ruimte_key NUMBER;
|
||||
v_prs_werkplek_key NUMBER;
|
||||
v_prs_perslid_key_verantw NUMBER(10);
|
||||
|
||||
|
||||
BEGIN
|
||||
@@ -798,6 +961,59 @@ BEGIN
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
-- En de verantwoordelijk manager updaten in de personenkaart indien nodig
|
||||
FOR rec IN c_verantw
|
||||
LOOP
|
||||
BEGIN
|
||||
v_errorhint:='Fout bijwerken verantwoordelijke';
|
||||
|
||||
-- als de aangeboden waarde uit afas anders is dan de huidige verantwoordelijke in de personenkaart dan gaan we personenkaart updaten
|
||||
IF COALESCE(rec.prs_perslid_verantw_nr_afas, '<leeg>') <> COALESCE(rec.prs_perslid_verantw_nr, '<leeg>')
|
||||
THEN
|
||||
|
||||
-- geen gevonden facilitor-manager dan gevulde verantwoordelijke verwijderen
|
||||
IF rec.prs_perslid_verantw_nr_afas IS NULL
|
||||
THEN
|
||||
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_key_verantw = ''
|
||||
WHERE prs_perslid_key = rec.prs_perslid_key ;
|
||||
|
||||
END IF;
|
||||
|
||||
-- wel gevonden facilitor-manager dan bijbehorende verantwoordelijke_key in personenkaart vullen
|
||||
IF rec.prs_perslid_verantw_nr_afas IS NOT NULL
|
||||
THEN
|
||||
|
||||
SELECT MIN(prs_perslid_key)
|
||||
INTO v_prs_perslid_key_verantw
|
||||
FROM prs_perslid
|
||||
WHERE prs_perslid_nr = rec.prs_perslid_verantw_nr_afas ;
|
||||
|
||||
IF v_prs_perslid_key_verantw IS NOT NULL
|
||||
THEN
|
||||
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_key_verantw = v_prs_perslid_key_verantw
|
||||
WHERE prs_perslid_key = rec.prs_perslid_key ;
|
||||
|
||||
ELSE
|
||||
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_key_verantw = ''
|
||||
WHERE prs_perslid_key = rec.prs_perslid_key ;
|
||||
|
||||
END IF;
|
||||
|
||||
END IF;
|
||||
|
||||
|
||||
END IF;
|
||||
|
||||
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
|
||||
ELSE
|
||||
fac.imp_writelog (p_import_key,
|
||||
|
||||
Reference in New Issue
Block a user