IMPU#89882 Inpassen INSTEMMING VOORAF - Budgethouders kostenplaatsen vullen vanuit AFAS_ONLINE

svn path=/Customer/trunk/; revision=70235
This commit is contained in:
Jos Migo
2025-09-08 10:37:59 +00:00
parent 3237e7912c
commit c060be732c

View File

@@ -794,7 +794,8 @@ IS
-- 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
-- Bij de Teamaccounts ook deze verantwoordelijke (leidinggevende) vullen met de eerste locatiemanager uit de locatiekaart
--- + de eerste locatiemanager ook opvoeren als budgethouder bij de kostenplaatsen
CURSOR c_del
@@ -929,14 +930,21 @@ IS
WHERE p.prs_perslid_key = i.prs_perslid_key
ORDER BY 1 ;
-- Voor teamaccounts de verantwoordelijke vullen met 1e-locatiemanager
-- Voor teamaccounts de verantwoordelijke vullen met 1e-locatiemanager en gekoppelde opvang-kostenplaats met dezelfde 1e-locatiemanager
CURSOR c_verantw_t
IS
SELECT p.prs_perslid_key, -- - teamaccount perslid_key
SELECT p.prs_perslid_key, -- teamaccount perslid_key
p.prs_perslid_naam,
p.prs_perslid_email,
p.prs_perslid_key_verantw, -- huidige verantwoordelijke
p.prs_perslid_key_verantw, -- huidige verantwoordelijke teamaccount
(SELECT prs_perslid_naam_friendly FROM prs_v_perslid_fullnames_all WHERE prs_perslid_key = p.prs_perslid_key_verantw)
prs_perslid_verantwoordelijke,
l.alg_locatie_key,
k.prs_kostenplaats_key,
k.prs_kostenplaats_nr || ' - ' || k.prs_kostenplaats_omschrijving
prs_kostenplaats_teamaccount,
k.prs_perslid_key
prs_perslid_key_budget, -- huidige budgetverantwoordelijke opvang-kostenplaats
-- eerste locatiemanager van die locatie
(SELECT p.prs_perslid_key
FROM ( SELECT ROWNUM volgnr, v.*, ok.alg_kenmerk_key
@@ -955,7 +963,8 @@ IS
prs_werkplek w,
alg_ruimte r,
alg_v_onrgoed_boom onr,
alg_locatie l
alg_locatie l,
prs_kostenplaats k
WHERE p.prs_srtperslid_key = sp.prs_srtperslid_key
AND sp.prs_srtperslid_upper = 'TEAMACCOUNT'
AND p.prs_perslid_key = wp.prs_perslid_key
@@ -963,6 +972,7 @@ IS
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
AND p.prs_kostenplaats_key = k.prs_kostenplaats_key
ORDER BY wp.prs_perslid_key;
@@ -977,6 +987,7 @@ IS
v_prs_werkplek_key NUMBER;
v_prs_perslid_key_verantw NUMBER(10);
v_teller_mandaat NUMBER(10);
v_locatiemanager VARCHAR2 (200);
BEGIN
@@ -1223,12 +1234,14 @@ BEGIN
END;
END LOOP;
-- En de verantwoordelijk manager updaten in de personenkaart van de teamaccounts
-- En de verantwoordelijk manager updaten in de personenkaart van de teamaccounts en bij de opvang-kostenplaats dezelfde manager als budgetverantwoordelijke toevoegen
FOR rec IN c_verantw_t
LOOP
BEGIN
v_errorhint:='Fout bijwerken verantwoordelijke in teamaccount';
v_errorhint:='Fout bijwerken verantwoordelijke en budgetverantwoordelijke in/voor teamaccount';
v_locatiemanager := '' ;
-- 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, -1) <> COALESCE(rec.locatiemanager_key, -1)
THEN
@@ -1240,6 +1253,8 @@ BEGIN
UPDATE prs_perslid
SET prs_perslid_key_verantw = ''
WHERE prs_perslid_key = rec.prs_perslid_key ;
BEGIN fac.trackaction('PRSUPD', rec.prs_perslid_key, 3, NULL, 'Verantwoordelijke: ' || rec.prs_perslid_verantwoordelijke || ' --> (leeg) (uit afas-koppeling)'); END;
END IF;
@@ -1247,14 +1262,51 @@ BEGIN
IF rec.locatiemanager_key IS NOT NULL
THEN
SELECT prs_perslid_naam_friendly
INTO v_locatiemanager
FROM prs_v_perslid_fullnames_all
WHERE prs_perslid_key = rec.locatiemanager_key ;
UPDATE prs_perslid
SET prs_perslid_key_verantw = rec.locatiemanager_key
WHERE prs_perslid_key = rec.prs_perslid_key ;
BEGIN fac.trackaction('PRSUPD', rec.prs_perslid_key, 3, NULL, 'Verantwoordelijke: ' || rec.prs_perslid_verantwoordelijke || ' --> ' || v_locatiemanager || '(uit afas-koppeling)'); END;
END IF;
END IF;
-- als de huidge gekoppelde budgethouder in de opvang-kostenplaats anders is dan de waarde/locatiemanager uit de gekoppelde locatiekaart dan zaken updaten in kostenplaats
IF COALESCE(rec.prs_perslid_key_budget, -1) <> COALESCE(rec.locatiemanager_key, -1)
THEN
-- geen gevonden locatiemanager in locatiekaart dan budgetverantwoordelijke in kostenplaats verwijderen
IF rec.locatiemanager_key IS NULL
THEN
UPDATE prs_kostenplaats
SET prs_perslid_key = ''
WHERE prs_kostenplaats_key = rec.prs_kostenplaats_key ;
-- logging op kostenplaats wordt al automatisch via audit gedaan..
END IF;
-- wel gevonden locatiemanager dan bijbehorende verantwoordelijke_key in teamaccount vullen
IF rec.locatiemanager_key IS NOT NULL
THEN
UPDATE prs_kostenplaats
SET prs_perslid_key = rec.locatiemanager_key
WHERE prs_kostenplaats_key = rec.prs_kostenplaats_key ;
-- logging op kostenplaats wordt al automatisch via audit gedaan..
END IF;
END IF;
END;
END LOOP;