ALLI#33108 Personenimport: aanpassen mobiele nummers

svn path=/Customer/trunk/; revision=25719
This commit is contained in:
Peter Koerhuis
2015-07-27 09:04:55 +00:00
parent 39b6c2ebc9
commit 18a47b3dbd

View File

@@ -751,22 +751,7 @@ BEGIN
THEN
-- Geldig importbestand wat betreft aantal personen
-- ALLI#33108: telefoonnummers opmaken voor de visitekaartjes
-- (moet worden 0612345678)
UPDATE alli_imp_prs
SET prs_perslid_mobiel =
REPLACE(
REPLACE(
REPLACE(
REPLACE(prs_perslid_mobiel,
'-', ''),
'.', ''),
' ', ''),
'+31', '0')
WHERE prs_perslid_mobiel IS NOT NULL;
COMMIT;
-- Personen verwijderen/inactiveren
FOR recdelprs IN cdelprs
LOOP
BEGIN
@@ -876,6 +861,7 @@ BEGIN
v_count_tot := 0;
v_count_error := 0;
-- Functies aanmaken
FOR recsperslid IN csperslid
LOOP
BEGIN
@@ -937,6 +923,7 @@ BEGIN
v_count_tot := 0;
v_count_error := 0;
-- Afdelingen aanmaken
FOR recafdeling IN cprsafd
LOOP
BEGIN
@@ -1008,6 +995,7 @@ BEGIN
v_count_tot := 0;
v_count_error := 0;
-- Bedrijfsonderdeel aanmaken (usrdata)
FOR recbedrijf IN c_bedrijf
LOOP
BEGIN
@@ -1069,6 +1057,7 @@ BEGIN
v_count_tot := 0;
v_count_error := 0;
-- Persoon toevoegen/bijwerken
FOR recperslid IN cperslid
LOOP
BEGIN
@@ -1117,18 +1106,6 @@ BEGIN
AND fac_usrtab_key= 121
AND fac_usrdata_verwijder IS NULL;
-- TODO: leidinggevende in aparte lus? Iig eerst bepalen of leidingg. en kpn 1-op-1 relatie hebben
-- v_errorhint :=
-- 'Fout bij bepalen leidinggevende ['
-- || recperslid.prs_perslid_leidinggevende
-- || ']';
--
-- SELECT prs_perslid_key
-- INTO v_leidinggevende_key
-- FROM prs_perslid
-- WHERE UPPER (prs_perslid_oslogin) = UPPER (recperslid.prs_perslid_leidinggevende)
-- AND prs_perslid_verwijder IS NULL;
v_errorhint := 'Fout bij bepalen persoon';
@@ -1142,31 +1119,51 @@ BEGIN
IF (v_count = 0)
THEN
v_errorhint := 'Fout bij toevoegen persoon';
-- Nieuwe persoon uit importbestand, wordt toegevoegd in Facilitor.
INSERT INTO prs_perslid
(prs_perslid_module, prs_srtperslid_key,
prs_afdeling_key, prs_perslid_naam,
prs_perslid_voorletters,
prs_perslid_tussenvoegsel,
prs_perslid_voornaam,
prs_perslid_telefoonnr,
prs_perslid_mobiel,
prs_perslid_email,
prs_perslid_nr,
prs_perslid_oslogin
)
VALUES ('PRS', v_srtperslid_key,
v_afdeling_key, recperslid.prs_perslid_naam,
recperslid.prs_perslid_voorletters,
recperslid.prs_perslid_tussenvoegsel,
recperslid.prs_perslid_voornaam,
recperslid.prs_perslid_telefoonnr,
recperslid.prs_perslid_mobiel,
recperslid.prs_perslid_email,
recperslid.prs_perslid_nr,
recperslid.prs_perslid_oslogin
)
RETURNING prs_perslid_key INTO v_perslid_key;
-- Checken of er al een persoon met dezelfde oslogin bestaat
SELECT COUNT(*)
INTO v_count
FROM prs_perslid
WHERE UPPER(prs_perslid_oslogin) = UPPER(recperslid.prs_perslid_oslogin);
-- Er bestaat al iemand 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 login ['||recperslid.prs_perslid_oslogin||']',
v_errorhint
);
CONTINUE;
ELSE
-- Nieuwe persoon uit importbestand, wordt toegevoegd in Facilitor.
INSERT INTO prs_perslid
(prs_perslid_module, prs_srtperslid_key,
prs_afdeling_key, prs_perslid_naam,
prs_perslid_voorletters,
prs_perslid_tussenvoegsel,
prs_perslid_voornaam,
prs_perslid_telefoonnr,
prs_perslid_mobiel,
prs_perslid_email,
prs_perslid_nr,
prs_perslid_oslogin
)
VALUES ('PRS', v_srtperslid_key,
v_afdeling_key, recperslid.prs_perslid_naam,
recperslid.prs_perslid_voorletters,
recperslid.prs_perslid_tussenvoegsel,
recperslid.prs_perslid_voornaam,
recperslid.prs_perslid_telefoonnr,
recperslid.prs_perslid_mobiel,
recperslid.prs_perslid_email,
recperslid.prs_perslid_nr,
recperslid.prs_perslid_oslogin
)
RETURNING prs_perslid_key INTO v_perslid_key;
END IF;
COMMIT;
ELSE
@@ -1260,15 +1257,32 @@ BEGIN
''
);
-- ALLI#33108: telefoonnummers opmaken voor de visitekaartjes
-- (moet worden 0612345678)
UPDATE prs_perslid
SET prs_perslid_mobiel =
REPLACE(
REPLACE(
REPLACE(
REPLACE(prs_perslid_mobiel,
'-', ''),
'.', ''),
' ', ''),
'+31', '0')
WHERE prs_perslid_verwijder IS NULL
AND prs_perslid_mobiel IS NOT NULL;
-- In Visma wordt "0" ingevuld als iemand geen 06 heeft; lege waarde van maken.
UPDATE prs_perslid
SET prs_perslid_mobiel = NULL
WHERE prs_perslid_mobiel = '0';
-- Ongeldige nummers rapporteren
FOR rectel IN (
SELECT prs_perslid_nr, prs_perslid_naam, prs_perslid_voornaam, prs_perslid_mobiel
SELECT prs_perslid_key, prs_perslid_nr, prs_perslid_naam, prs_perslid_voornaam, prs_perslid_mobiel
FROM prs_v_aanwezigperslid
WHERE prs_perslid_mobiel IS NOT NULL
AND prs_perslid_nr IS NOT NULL
AND prs_perslid_naam NOT LIKE 'INACTIEF%'
AND ( prs_perslid_mobiel NOT LIKE '06%'
OR prs_perslid_mobiel NOT LIKE '__________') )
AND ( prs_perslid_mobiel NOT LIKE '06________') )
LOOP
fac.imp_writelog (p_import_key,
'W',
@@ -1286,6 +1300,7 @@ BEGIN
v_count_tot := 0;
v_count_error := 0;
-- Werkplekken
FOR recwp IN cwp
LOOP
BEGIN
@@ -1492,6 +1507,7 @@ BEGIN
);
COMMIT;
-- Rapporteer personen zonder werkplek
FOR recnowp IN cnowp
LOOP
BEGIN
@@ -1527,7 +1543,7 @@ BEGIN
END;
END LOOP;
-- Iedereen krijgt _default-rol die nog geen groep heeft.
-- Iedereen krijgt _Default-rol die nog geen groep heeft.
FOR recnogroup IN cnogroup
LOOP
BEGIN