INLO#83800 -- Landmark INLO en zelfregistratie - hookfunctie tbv afdeling en werkplekken
svn path=/Customer/trunk/; revision=65269
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user