ALLI#33108 Personenimport: verbeteren logging

svn path=/Customer/trunk/; revision=25720
This commit is contained in:
Peter Koerhuis
2015-07-27 09:27:27 +00:00
parent 18a47b3dbd
commit 1c07491916

View File

@@ -1114,9 +1114,20 @@ BEGIN
FROM prs_perslid
WHERE prs_perslid_verwijder IS NULL
AND UPPER (prs_perslid_nr) = UPPER (recperslid.prs_perslid_nr);
IF (v_count = 0)
-- Meerdere personen met hetzelfde nummer; loggen en overslaan
IF (v_count > 1)
THEN
v_count_error := v_count_error + 1;
fac.imp_writelog (p_import_key,
'E',
v_aanduiding || 'Meerdere personen met nummer ['||recperslid.prs_perslid_nr||'] gevonden!',
v_errorhint
);
CONTINUE;
-- Nog niemand met dit nummer; voeg toe
ELSIF (v_count = 0)
THEN
v_errorhint := 'Fout bij toevoegen persoon';
@@ -1132,7 +1143,7 @@ BEGIN
v_count_error := v_count_error + 1;
fac.imp_writelog (p_import_key,
'E',
v_aanduiding || ' Er bestaat al een persoon met login ['||recperslid.prs_perslid_oslogin||']',
v_aanduiding || 'Er bestaat al een persoon met login ['||recperslid.prs_perslid_oslogin||']',
v_errorhint
);
CONTINUE;
@@ -1165,31 +1176,52 @@ BEGIN
END IF;
COMMIT;
-- E<>n persoon met dit nummer; werk bij
ELSE
v_errorhint := 'Fout bij wijzigen persoon';
-- Functie, Afdeling altijd bijwerken
-- Voorletters, Naam, Tussenvoegsels, Voornaam alleen indien gevuld wordt aangeboden, anders laten staan wat in DB stond.
-- Telefoonnr: alleen bijwerken indien uit AD-dump gevuld, anders niet bijwerken (dus gewoon laten staan zoals in Facilitor was gereigistreerd).
-- E-mail: alleen bijwerken indien uit AD-dump gevuld, anders niet bijwerken (dus gewoon laten staan zoals in Facilitor was gereigistreerd).
-- Personeelsnr: alleen bijwerken indien uit AD-dump gevuld, anders niet bijwerken (dus gewoon laten staan zoals in Facilitor was gereigistreerd).
-- Login: alleen bijwerken indien uit AD-dump gevuld, anders niet bijwerken (dus gewoon laten staan zoals in Facilitor was gereigistreerd).
-- Checken of er al een andere persoon met dezelfde oslogin bestaat
SELECT COUNT(*)
INTO v_count
FROM prs_perslid
WHERE UPPER(prs_perslid_oslogin) = UPPER(recperslid.prs_perslid_oslogin)
AND UPPER( COALESCE(prs_perslid_nr,'apekool') ) != UPPER(recperslid.prs_perslid_nr);
-- Er bestaat al iemand anders met deze oslogin. Loggen en overslaan.
IF (v_count != 0)
THEN
v_count_error := v_count_error + 1;
fac.imp_writelog (p_import_key,
'E',
v_aanduiding || 'Er bestaat al een persoon (met een ander personeelsnummer) met login ['||recperslid.prs_perslid_oslogin||']',
v_errorhint
);
CONTINUE;
ELSE
-- Functie, Afdeling altijd bijwerken
-- Voorletters, Naam, Tussenvoegsels, Voornaam alleen indien gevuld wordt aangeboden, anders laten staan wat in DB stond.
-- Telefoonnr: alleen bijwerken indien uit AD-dump gevuld, anders niet bijwerken (dus gewoon laten staan zoals in Facilitor was gereigistreerd).
-- E-mail: alleen bijwerken indien uit AD-dump gevuld, anders niet bijwerken (dus gewoon laten staan zoals in Facilitor was gereigistreerd).
-- Personeelsnr: alleen bijwerken indien uit AD-dump gevuld, anders niet bijwerken (dus gewoon laten staan zoals in Facilitor was gereigistreerd).
-- Login: alleen bijwerken indien uit AD-dump gevuld, anders niet bijwerken (dus gewoon laten staan zoals in Facilitor was gereigistreerd).
UPDATE prs_perslid
SET prs_srtperslid_key = v_srtperslid_key,
prs_afdeling_key = v_afdeling_key,
prs_perslid_naam = COALESCE(recperslid.prs_perslid_naam,prs_perslid_naam),
prs_perslid_voorletters = COALESCE(recperslid.prs_perslid_voorletters,prs_perslid_voorletters),
prs_perslid_tussenvoegsel = COALESCE(recperslid.prs_perslid_tussenvoegsel,prs_perslid_tussenvoegsel),
prs_perslid_voornaam = COALESCE(recperslid.prs_perslid_voornaam,prs_perslid_voornaam),
prs_perslid_telefoonnr = COALESCE (recperslid.prs_perslid_telefoonnr, prs_perslid_telefoonnr),
prs_perslid_mobiel = COALESCE (recperslid.prs_perslid_mobiel, prs_perslid_mobiel),
prs_perslid_email = COALESCE (recperslid.prs_perslid_email, prs_perslid_email),
prs_perslid_nr = COALESCE (recperslid.prs_perslid_nr, prs_perslid_nr),
prs_perslid_oslogin = COALESCE (recperslid.prs_perslid_oslogin, prs_perslid_oslogin)
WHERE prs_perslid_key = v_perslid_key;
COMMIT;
UPDATE prs_perslid
SET prs_srtperslid_key = v_srtperslid_key,
prs_afdeling_key = v_afdeling_key,
prs_perslid_naam = COALESCE(recperslid.prs_perslid_naam,prs_perslid_naam),
prs_perslid_voorletters = COALESCE(recperslid.prs_perslid_voorletters,prs_perslid_voorletters),
prs_perslid_tussenvoegsel = COALESCE(recperslid.prs_perslid_tussenvoegsel,prs_perslid_tussenvoegsel),
prs_perslid_voornaam = COALESCE(recperslid.prs_perslid_voornaam,prs_perslid_voornaam),
prs_perslid_telefoonnr = COALESCE (recperslid.prs_perslid_telefoonnr, prs_perslid_telefoonnr),
prs_perslid_mobiel = COALESCE (recperslid.prs_perslid_mobiel, prs_perslid_mobiel),
prs_perslid_email = COALESCE (recperslid.prs_perslid_email, prs_perslid_email),
prs_perslid_nr = COALESCE (recperslid.prs_perslid_nr, prs_perslid_nr),
prs_perslid_oslogin = COALESCE (recperslid.prs_perslid_oslogin, prs_perslid_oslogin)
WHERE prs_perslid_key = v_perslid_key;
COMMIT;
END IF;
END IF;
-- Bedrijfsonderdeel als flexprop inserten of updaten....