AAIT#83954 -- Import wijziging: Leidinggevende inlezen in veld verantwoordelijke

svn path=/Customer/trunk/; revision=65342
This commit is contained in:
Jos Migo
2024-06-28 15:21:34 +00:00
parent 824d800c43
commit 2b869a2474

View File

@@ -276,6 +276,7 @@ AS
v_dienstverband VARCHAR2(100);
v_uurloon VARCHAR2(100);
v_kostenplaats VARCHAR2(100);
v_email_verantw VARCHAR2(200);
v_header VARCHAR2(1000);
v_newline VARCHAR2(1000);
header_is_valid NUMBER := 0;
@@ -330,11 +331,12 @@ BEGIN
fac.imp_getfield (v_newline, c_delim, v_dienstverband);
fac.imp_getfield (v_newline, c_delim, v_uurloon);
fac.imp_getfield (v_newline, c_delim, v_kostenplaats);
fac.imp_getfield (v_newline, c_delim, v_email_verantw);
IF (header_is_valid = 0)
THEN
IF LOWER (TRIM (v_header)) = 'afdelingscode;persoonachternaam;tussenvoegsel;voorletters;voornaam;titel aanhef;telefoonnummer;mobiel;email;functie;personeelsnummer;loginnaam;dienstverband;uurloon;kostenplaats'
OR LOWER (TRIM (v_header)) = '"afdelingscode";"persoonachternaam";"tussenvoegsel";"voorletters";"voornaam";"titel aanhef";"telefoonnummer";"mobiel";"email";"functie";"personeelsnummer";"loginnaam";"dienstverband";"uurloon";"kostenplaats"'
IF LOWER (TRIM (v_header)) = 'afdelingscode;persoonachternaam;tussenvoegsel;voorletters;voornaam;titel aanhef;telefoonnummer;mobiel;email;functie;personeelsnummer;loginnaam;dienstverband;uurloon;kostenplaats,email_verantwoordelijke'
OR LOWER (TRIM (v_header)) = '"afdelingscode";"persoonachternaam";"tussenvoegsel";"voorletters";"voornaam";"titel aanhef";"telefoonnummer";"mobiel";"email";"functie";"personeelsnummer";"loginnaam";"dienstverband";"uurloon";"kostenplaats";"email_verantwoordelijke"'
THEN
header_is_valid := 1;
END IF;
@@ -355,6 +357,7 @@ BEGIN
dienstverband,
uurloon,
kostenplaats,
email_verantw,
fac_import_key)
VALUES (
v_afdelingscode,
@@ -372,6 +375,7 @@ BEGIN
v_dienstverband,
v_uurloon,
to_char(fac.safe_to_number(v_kostenplaats), '00000000'),
v_email_verantw,
p_import_key);
END IF;
END;
@@ -471,7 +475,7 @@ SELECT prs_perslid_key,
-- cursor om extra velden toe te voegen die niet in de generiek import staan
CURSOR c_extra
IS
SELECT p.prs_perslid_key, prs_perslid_naam_full, kostenplaats, dienstverband, uurloon
SELECT p.prs_perslid_key, prs_perslid_naam_full, kostenplaats, dienstverband, uurloon, email_verantw
FROM aait_imp_perslid i, prs_perslid p, prs_v_perslid_fullnames pf
WHERE UPPER(i.loginnaam) = p.prs_perslid_oslogin
AND p.prs_perslid_key = pf.prs_perslid_key;
@@ -480,11 +484,12 @@ v_perslid_key NUMBER;
v_perslid_nr VARCHAR2(100);
v_kostenplaats_nr VARCHAR2(100);
v_fac_groep_key NUMBER;
v_prs_perslid_key_verantw NUMBER(10);
v_count NUMBER;
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_aanduiding VARCHAR2 (200);
v_aanduiding VARCHAR2 (1000);
BEGIN
SELECT count(*)
@@ -515,13 +520,29 @@ BEGIN
LOOP
BEGIN
v_aanduiding := rec.prs_perslid_naam_full||' ('
|| rec.kostenplaats||', '||rec.dienstverband||', '||rec.uurloon||')';
|| rec.kostenplaats||', '||rec.dienstverband||', '||rec.uurloon||', '||rec.email_verantw||')';
UPDATE prs_perslid p
SET prs_perslid_uurloon = fac.safe_to_number(replace(rec.uurloon,',','.')),
prs_perslid_dienstverband = fac.safe_to_number(replace(rec.dienstverband, ',','.'))
WHERE p.prs_perslid_key = rec.prs_perslid_key;
aaxx.set_prs_kenmerk (p_import_key, 'P', 2, rec.prs_perslid_key, rec.kostenplaats);
-- verantwoordelijke/leidinggevende koppelen aan personenkaart
SELECT MAX(p.prs_perslid_key)
INTO v_prs_perslid_key_verantw
FROM prs_perslid p
WHERE p.prs_perslid_verwijder IS NOT NULL
AND UPPER(p.prs_perslid_email) = UPPER(rec.email_verantw) ;
IF v_prs_perslid_key_verantw IS NOT NULL
THEN
UPDATE prs_perslid p
SET p.prs_perslid_key_verantw = v_prs_perslid_key_verantw
WHERE p.prs_perslid_key = rec.prs_perslid_key;
END IF;
-- voeg de persoon toe aan de groep AAFM-projecturen als deze al niet tot de groep behoort.
INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key)