DLLG#66674 -- Koppeling bezoekersregistratie met Brivo.
svn path=/Customer/trunk/; revision=51216
This commit is contained in:
107
DLLG/DLLG.sql
107
DLLG/DLLG.sql
@@ -17,6 +17,113 @@ SET DEFINE OFF
|
||||
|
||||
------ payload begin ------
|
||||
|
||||
|
||||
CREATE OR REPLACE PACKAGE DLLG
|
||||
AS
|
||||
|
||||
FUNCTION res_presave (p_user_key IN NUMBER,
|
||||
p_rsv_ruimte_key IN NUMBER,
|
||||
p_activiteit_key IN NUMBER,
|
||||
p_res_deel_key IN NUMBER,
|
||||
p_datum_van IN DATE,
|
||||
p_datum_tot IN DATE,
|
||||
p_volgnr IN NUMBER)
|
||||
RETURN VARCHAR2;
|
||||
|
||||
PROCEDURE update_bezoeker (p_bezkey IN NUMBER);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PACKAGE BODY DLLG
|
||||
AS
|
||||
|
||||
FUNCTION res_presave (p_user_key IN NUMBER,
|
||||
p_rsv_ruimte_key IN NUMBER,
|
||||
p_activiteit_key IN NUMBER,
|
||||
p_res_deel_key IN NUMBER,
|
||||
p_datum_van IN DATE,
|
||||
p_datum_tot IN DATE,
|
||||
p_volgnr IN NUMBER)
|
||||
RETURN VARCHAR2
|
||||
AS
|
||||
v_result VARCHAR2 (300);
|
||||
v_date DATE;
|
||||
v_count NUMBER;
|
||||
v_discipline_key NUMBER;
|
||||
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_errormsg VARCHAR2 (200);
|
||||
v_errorhint VARCHAR2 (200);
|
||||
BEGIN
|
||||
v_result := 'OK';
|
||||
|
||||
v_errorhint := 'Controleer activiteit: ' || p_activiteit_key;
|
||||
IF p_activiteit_key = 30 AND p_rsv_ruimte_key = -1 -- workplace en alleen nieuwe reserveringen
|
||||
THEN
|
||||
v_errorhint := 'Kijk hoeveel reserveringen er al zijn voor die dag';
|
||||
SELECT count(*)
|
||||
INTO v_count
|
||||
FROM res_rsv_ruimte rrr
|
||||
WHERE rrr.res_rsv_ruimte_verwijder IS NULL
|
||||
AND rrr.res_activiteit_key = 30 -- 30 workplace
|
||||
AND TRUNC(res_rsv_ruimte_van) = TRUNC (p_datum_tot);
|
||||
|
||||
IF v_count > 3
|
||||
THEN
|
||||
v_result := 'Beste collega,' || CHR(10) ||
|
||||
'We hebben deze maand al vier reserveringen van je gevonden. Je maximaal aantal te reserveren werkplekken per maand is dus bereikt.' || CHR(10) ||
|
||||
'Hartelijke groet, KPN Facilities';
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
RETURN v_result;
|
||||
EXCEPTION WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
v_errormsg := 'OTHERS (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||||
RETURN v_result;
|
||||
END;
|
||||
|
||||
PROCEDURE update_bezoeker (p_bezkey IN NUMBER)
|
||||
AS
|
||||
|
||||
CURSOR c
|
||||
IS
|
||||
SELECT pf.prs_perslid_naam_full, prs_perslid_email, prs_perslid_mobiel
|
||||
FROM bez_bezoekers b, bez_afspraak a, prs_perslid p, prs_v_perslid_fullnames pf
|
||||
WHERE bez_bezoekers_key = p_bezkey
|
||||
AND b.bez_afspraak_key = a.bez_afspraak_key
|
||||
AND a.bez_afspraak_host_key = p.prs_perslid_key
|
||||
AND p.prs_perslid_key = pf.prs_perslid_key;
|
||||
|
||||
BEGIN
|
||||
FOR rec IN c
|
||||
LOOP
|
||||
-- Naam
|
||||
IF FLX.getflex ('BEZ', 1020, p_bezkey) IS NULL
|
||||
THEN
|
||||
FLX.setflex ('BEZ', 1020, p_bezkey, rec.prs_perslid_naam_full);
|
||||
END IF;
|
||||
-- Email
|
||||
IF FLX.getflex ('BEZ', 1021, p_bezkey) IS NULL
|
||||
THEN
|
||||
FLX.setflex ('BEZ', 1021, p_bezkey, rec.prs_perslid_email);
|
||||
END IF;
|
||||
-- Mobiel
|
||||
IF FLX.getflex ('BEZ', 1022, p_bezkey) IS NULL
|
||||
THEN
|
||||
FLX.setflex ('BEZ', 1022, p_bezkey, rec.prs_perslid_mobiel);
|
||||
END IF;
|
||||
END LOOP;
|
||||
END;
|
||||
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
-- Tijdelijk omdat de generieke import geen komma als scheidingsteken kent.
|
||||
CREATE OR REPLACE PROCEDURE DLLG_prs_import_perslid (
|
||||
p_import_key IN NUMBER,
|
||||
|
||||
Reference in New Issue
Block a user