CSUN#84005 Werkplekken importeren

svn path=/Customer/trunk/; revision=65548
This commit is contained in:
Sander Schepers
2024-07-11 21:37:05 +00:00
parent 46b35ade19
commit 44fd6829e4

View File

@@ -7660,6 +7660,140 @@ AS
AND m.prs_perslid_key = 39281 -- API-user tbv Mulesoft
AND l.alg_locatie_key = m.mld_alg_locatie_key;
CREATE OR REPLACE PROCEDURE csun_import_perslid (p_import_key IN NUMBER)
AS
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_errormsg VARCHAR2 (400);
v_errorhint VARCHAR2 (400);
BEGIN
v_errorhint := 'Generieke import';
-- de sequence array staat beschreven in PRS_PAC.SRC bij de prs.import_perslid proc
prs.import_perslid (
p_import_key,
'1;2;3;4;0;0;5;6;7;9;'
|| '8;0;0;0;0;12;0;10;0;0;'
|| '11;13;0;0;0;0;0;0;0;0;'
|| '0;0;0;0;0;0;0;0;0;0;'
|| '0;0;0;0;0;0',
'Locatiecode;Gebouwcode;Bouwlaagvolgnummer;Ruimtenummer;Afdelingscode;PersoonAchternaam;Tussenvoegsel;Voorletters;Voornaam;Email;Functie;Klantautorisatie;Loginnaam');
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
v_errormsg := 'Error ' || oracle_err_num || '/' || oracle_err_mes;
fac.imp_writelog (p_import_key,
'E',
v_errormsg,
v_errorhint);
END csun_import_perslid;
/
CREATE OR REPLACE PROCEDURE csun_update_perslid (p_import_key IN NUMBER)
IS
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_errormsg VARCHAR2 (400);
v_errorhint VARCHAR2 (400);
BEGIN
v_errorhint := 'Toevoegen personen';
prs.update_perslid (p_import_key, 'LOGIN', NULL);
-- Klantspecifieke aanpassingen
v_errorhint := 'Klantspecifieke aanpassingen update';
csun_post_update_perslid (p_import_key);
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
v_errormsg := 'Error ' || oracle_err_num || '/' || oracle_err_mes;
fac.imp_writelog (p_import_key,
'E',
v_errormsg,
v_errorhint);
END csun_update_perslid;
/
CREATE OR REPLACE PROCEDURE csun_post_update_perslid (p_import_key IN NUMBER)
IS
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_errormsg VARCHAR2 (400);
v_errorhint VARCHAR2 (400);
CURSOR cperslid IS
SELECT i.prs_perslid_key,
i.prs_perslid_naam,
i.prs_perslid_tussenvoegsel,
i.prs_perslid_voornaam,
i.prs_perslid_voorletters,
i.prs_perslid_email,
i.prs_perslid_oslogin,
i.prs_srtperslid_omschrijving,
i.prs_afdeling_naam,
i.prs_perslid_telefoonnr,
TO_NUMBER (
DECODE (i.prs_perslid_telefoonnr,
'1', 61,
'2', 601,
'3', 761)) AS fac_groep_key
FROM fac_imp_perslid i
WHERE i.prs_perslid_oslogin IS NOT NULL
GROUP BY i.prs_perslid_key,
i.prs_perslid_naam,
i.prs_perslid_tussenvoegsel,
i.prs_perslid_voornaam,
i.prs_perslid_voorletters,
i.prs_perslid_email,
i.prs_perslid_oslogin,
i.prs_srtperslid_omschrijving,
i.prs_afdeling_naam,
i.prs_perslid_telefoonnr,
TO_NUMBER (
DECODE (i.prs_perslid_telefoonnr,
'1', 61,
'2', 601,
'3', 761));
BEGIN
FOR rec IN cperslid
LOOP
BEGIN
v_errorhint :=
'Toevoegen autorisaties ' || rec.prs_perslid_oslogin;
IF rec.prs_perslid_key IS NOT NULL
THEN
INSERT INTO fac_gebruikersgroep (prs_perslid_key,
fac_groep_key)
VALUES (rec.prs_perslid_key, rec.fac_groep_key);
v_errorhint :=
'Opschonen telefoonnr ' || rec.prs_perslid_oslogin;
UPDATE prs_perslid
SET prs_perslid_telefoonnr = NULL
WHERE prs_perslid_key = rec.prs_perslid_key;
END IF;
END;
END LOOP;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
v_errormsg := 'Error ' || oracle_err_num || '/' || oracle_err_mes;
fac.imp_writelog (p_import_key,
'E',
v_errormsg,
v_errorhint);
END csun_post_update_perslid;
/
------ payload end ------
SET DEFINE OFF