ALLI#33108 Personenimport: aanpassen mobiele nummers
svn path=/Customer/trunk/; revision=25719
This commit is contained in:
132
ALLI/alli.sql
132
ALLI/alli.sql
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user