INLO#83800 -- Landmark INLO en zelfregistratie - hookfunctie tbv afdeling en werkplekken

svn path=/Customer/trunk/; revision=65269
This commit is contained in:
Jos Migo
2024-06-25 05:17:58 +00:00
parent 7de79bfdda
commit 72571c7676

View File

@@ -6318,6 +6318,101 @@ SELECT v.mld_melding_key,
-- moet fotobestand zijn:
AND REGEXP_INSTR(UPPER(v.foto),'.JPEG|.JPG|.PNG|.GIF|.BMP',1,1)>0 ;
-- Voor zelfregistratie Landmark - eindgebruikers / huurderspartijen
CREATE OR REPLACE PROCEDURE inlo_self_register_hook (p_perslid_key IN NUMBER)
AS
CURSOR c IS
SELECT *
FROM inlo_v_persoon_klanten_wp_1
WHERE klantnaam = 'GELREPARK B.V.';
v_errorhint VARCHAR2 (1000);
v_afdeling_key NUMBER;
v_perslid_email PRS_PERSLID.PRS_PERSLID_EMAIL%TYPE;
v_alg_ruimte_key NUMBER;
v_datum_sync VARCHAR2 (30);
BEGIN
v_datum_sync := TO_CHAR (SYSDATE, 'dd-mm-yyyy hh24:mi:ss');
SELECT MAX (kl.prs_link_key)
INTO v_afdeling_key
FROM prs_perslid p, prs_kenmerklink kl
WHERE kl.prs_kenmerk_key = 1520 -- Domeinnaam huurderspartij
AND kl.prs_kenmerklink_verwijder IS NULL
AND LOWER (kl.prs_kenmerklink_waarde) =
SUBSTR (LOWER (p.prs_perslid_email),
INSTR (LOWER (p.prs_perslid_email), '@') + 1,
100)
AND p.prs_perslid_key = p_perslid_key;
-- Als we de afdeling niet kennen dan blijft de persoon op de self_register_afdeling_key (= 3441 Afdeling fallback voor mensen via zelfregistratie)
IF v_afdeling_key IS NOT NULL
THEN
UPDATE prs_perslid
SET prs_afdeling_key = v_afdeling_key
WHERE prs_perslid_key = p_perslid_key;
END IF;
-- De landmark-gebouwen koppelen als werkplek onder deze persoon
---- Gaan eerst kenmerk zetten voor werkplek-synchronistatie en datum-sync
v_errorhint := 'Persoon in blok Tbv klant-scoping koppelen aan Landmark';
INSERT INTO prs_kenmerklink (prs_link_key,
prs_kenmerk_key,
prs_kenmerklink_waarde,
prs_kenmerklink_niveau)
VALUES (p_perslid_key,
1281,
'1102',
'P');
v_errorhint :=
'Bijwerken kenmerkveld datum laatste verwerking werkplekkoppelingen';
PRS.upsertkenmerk (1341, p_perslid_key, v_datum_sync);
---- Dan met cursor van de actuele Landmark-gebouwen de werkplekkoppelingen zetten
FOR rec IN c
LOOP
v_errorhint :=
'Fout bepalen MIN(ruimte_key) bij perslid_key:'
|| TO_CHAR (p_perslid_key)
|| ' , gebouw-key: '
|| TO_CHAR (rec.alg_gebouw_key);
BEGIN
SELECT MIN (r.alg_ruimte_key)
INTO v_alg_ruimte_key
FROM alg_ruimte r, alg_verdieping v, alg_gebouw g
WHERE r.alg_verdieping_key = v.alg_verdieping_key
AND v.alg_gebouw_key = g.alg_gebouw_key
AND r.alg_ruimte_verwijder IS NULL
AND v.alg_verdieping_verwijder IS NULL
AND g.alg_gebouw_verwijder IS NULL
AND g.alg_gebouw_key = rec.alg_gebouw_key;
IF v_alg_ruimte_key IS NOT NULL
THEN
-- PROCEDURE movetoruimte (p_prs_key IN NUMBER, p_ruimte_key IN NUMBER, p_alg_type IN VARCHAR2, p_virtual IN NUMBER DEFAULT 0);
v_errorhint :=
'Fout prs.movetoruimte bij perslid_key: '
|| TO_CHAR (p_perslid_key)
|| ' , ruimte_key: '
|| TO_CHAR (v_alg_ruimte_key);
BEGIN
PRS.movetoruimte (p_perslid_key,
v_alg_ruimte_key,
'G',
1);
END;
END IF;
END;
END LOOP;
END inlo_self_register_hook;
/
CREATE OR REPLACE PROCEDURE inlo_daily
AS