IMPU#89882 -- Inpassen INSTEMMING VOORAF in de meldingsstructuur van Impuls - INPASSEN OP TEAMACCOUNTS VIA AFAS_KOPPELING
svn path=/Customer/trunk/; revision=70136
This commit is contained in:
@@ -184,7 +184,7 @@ AS
|
||||
p.prs_perslid_verwijder
|
||||
FROM prs_perslid p, prs_srtperslid sp, alg_onrgoedkenmerk ok, alg_locatie l
|
||||
WHERE fac.safe_to_number(ok.alg_onrgoedkenmerk_waarde) = p.prs_perslid_key
|
||||
AND ok.alg_kenmerk_key IN (1016,1018, 1180, 1200) -- locatiemanagers en Regiomanagers en locatiemanager-2 en -3
|
||||
AND ok.alg_kenmerk_key IN (1016, 1018, 1180, 1200) -- locatiemanagers en Regiomanagers en locatiemanager-2 en -3
|
||||
AND ok.alg_onrgoedkenmerk_verwijder IS NULL
|
||||
AND ok.alg_onrgoed_niveau = 'L' AND ok.alg_onrgoed_key = l.alg_locatie_key
|
||||
AND (l.alg_locatie_verwijder IS NULL OR l.alg_locatie_vervaldatum > TRUNC(SYSDATE) )
|
||||
@@ -788,12 +788,14 @@ END impu_import_afasonline;
|
||||
CREATE OR REPLACE PROCEDURE impu_update_afasonline (p_import_key IN NUMBER)
|
||||
IS
|
||||
-- Alle personen verwijderen die niet meer in het import bestand voorkomen.
|
||||
-- Teamaccounts (functie 'Teamaccount' laten we ongemoeid)
|
||||
-- Personen in de juiste autorisatiegroep zetten.
|
||||
-- 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.
|
||||
-- Daarnaast in 2025-juni toegevoegd dat werkplekken van locatiemanager-2/3 + mandaten worden ingeregeld
|
||||
-- De verantwoordelijke (leidinggevende) koppelen in personenkaart
|
||||
-- Bij de Teamaccounts ook deze verantwoordelijke (leidinggevende) vullen met de eerste locatiemanager uit de locatiekaart
|
||||
|
||||
|
||||
CURSOR c_del
|
||||
IS
|
||||
@@ -925,7 +927,43 @@ IS
|
||||
prs_perslid_verantw_nr_afas
|
||||
FROM prs_perslid p) p
|
||||
WHERE p.prs_perslid_key = i.prs_perslid_key
|
||||
ORDER BY 1 ;
|
||||
ORDER BY 1 ;
|
||||
|
||||
-- Voor teamaccounts de verantwoordelijke vullen met 1e-locatiemanager
|
||||
CURSOR c_verantw_t
|
||||
IS
|
||||
SELECT p.prs_perslid_key, -- - teamaccount perslid_key
|
||||
p.prs_perslid_naam,
|
||||
p.prs_perslid_email,
|
||||
p.prs_perslid_key_verantw, -- huidige verantwoordelijke
|
||||
l.alg_locatie_key,
|
||||
-- eerste locatiemanager van die locatie
|
||||
(SELECT p.prs_perslid_key -- p.* -- min(p.alg_kenmerk_key)
|
||||
FROM ( SELECT ROWNUM volgnr, v.*, ok.alg_kenmerk_key
|
||||
FROM impu_v_locatiemanagers v, alg_onrgoedkenmerk ok
|
||||
WHERE ok.alg_onrgoed_niveau = 'L'
|
||||
AND ok.alg_onrgoed_key = v.alg_locatie_key
|
||||
AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) = v.prs_perslid_key
|
||||
AND v.prs_perslid_verwijder IS NULL
|
||||
AND INSTR (UPPER (locatiemanager), 'REGIOMANAGER') = 0
|
||||
AND v.alg_locatie_key = l.alg_locatie_key
|
||||
ORDER BY ok.alg_kenmerk_key) p
|
||||
WHERE p.volgnr = 1) locatiemanager_key
|
||||
FROM prs_perslid p,
|
||||
prs_srtperslid sp,
|
||||
prs_perslidwerkplek wp,
|
||||
prs_werkplek w,
|
||||
alg_ruimte r,
|
||||
alg_v_onrgoed_boom onr,
|
||||
alg_locatie l
|
||||
WHERE p.prs_srtperslid_key = sp.prs_srtperslid_key
|
||||
AND sp.prs_srtperslid_upper = 'TEAMACCOUNT'
|
||||
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;
|
||||
|
||||
|
||||
v_count NUMBER;
|
||||
@@ -1185,6 +1223,41 @@ BEGIN
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
-- En de verantwoordelijk manager updaten in de personenkaart van de teamaccounts
|
||||
FOR rec IN c_verantw_t
|
||||
LOOP
|
||||
BEGIN
|
||||
v_errorhint:='Fout bijwerken verantwoordelijke in teamaccount';
|
||||
|
||||
-- als de huidge gekoppelde verantwoordelijke in de teamaccount-personenkaart anders is dan de waarde/locatiemanager uit de gekoppelde locatiekaart dan zaken updaten in teamaccount
|
||||
IF COALESCE(rec.prs_perslid_key_verantw, '<leeg>') <> COALESCE(rec.locatiemanager_key, '<leeg>')
|
||||
THEN
|
||||
|
||||
-- geen gevonden locatiemanager in locatiekaart dan verantwoordelijke in teamaccount verwijderen
|
||||
IF rec.locatiemanager_key IS NULL
|
||||
THEN
|
||||
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_key_verantw = ''
|
||||
WHERE prs_perslid_key = rec.prs_perslid_key ;
|
||||
|
||||
END IF;
|
||||
|
||||
-- wel gevonden locatiemanager dan bijbehorende verantwoordelijke_key in teamaccount vullen
|
||||
IF rec.locatiemanager_key IS NOT NULL
|
||||
THEN
|
||||
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_key_verantw = rec.locatiemanager_key
|
||||
WHERE prs_perslid_key = rec.prs_perslid_key ;
|
||||
|
||||
END IF;
|
||||
|
||||
END IF;
|
||||
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
|
||||
ELSE
|
||||
fac.imp_writelog (p_import_key,
|
||||
|
||||
Reference in New Issue
Block a user