DLLG#66674 -- Koppeling met Brivo
svn path=/Customer/trunk/; revision=52372
This commit is contained in:
@@ -17,7 +17,6 @@ SET DEFINE OFF
|
||||
|
||||
------ payload begin ------
|
||||
|
||||
|
||||
CREATE OR REPLACE PACKAGE DLLG
|
||||
AS
|
||||
FUNCTION res_presave (p_user_key IN NUMBER,
|
||||
@@ -41,6 +40,8 @@ AS
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
|
||||
CREATE OR REPLACE PACKAGE BODY DLLG
|
||||
AS
|
||||
FUNCTION res_presave (p_user_key IN NUMBER,
|
||||
@@ -307,7 +308,7 @@ AS
|
||||
v_result := FourBin2Hex (v_bin_str) || v_result;
|
||||
END LOOP;
|
||||
|
||||
RETURN v_result;
|
||||
RETURN LOWER(LTRIM(v_result, '0'));
|
||||
END;
|
||||
|
||||
|
||||
@@ -334,6 +335,7 @@ AS
|
||||
v_card_number_key NUMBER;
|
||||
v_facility_code_key NUMBER;
|
||||
v_hex_code_key NUMBER;
|
||||
v_dec_code_key NUMBER;
|
||||
v_date DATE;
|
||||
BEGIN
|
||||
FOR rec IN c
|
||||
@@ -388,6 +390,11 @@ AS
|
||||
FROM bez_kenmerk
|
||||
WHERE bez_kenmerk_upper = 'HEX CODE';
|
||||
|
||||
SELECT bez_kenmerk_key
|
||||
INTO v_dec_code_key
|
||||
FROM bez_kenmerk
|
||||
WHERE bez_kenmerk_upper = 'DEC CODE';
|
||||
|
||||
DBMS_OUTPUT.put_line ('v_date');
|
||||
|
||||
SELECT bez_afspraak_datum
|
||||
@@ -404,35 +411,16 @@ AS
|
||||
WHERE kw.bez_bezoekers_key = p_bezkey
|
||||
AND kw.bez_kenmerk_key = v_card_number_key;
|
||||
|
||||
WHILE v_found = 0 AND v_count < 1000
|
||||
LOOP
|
||||
--DBMS_OUTPUT.put_line (COALESCE (v_code, '-1'));
|
||||
|
||||
SELECT COUNT (*)
|
||||
INTO v_exists
|
||||
FROM bez_bezoekers b, bez_kenmerkwaarde kw, bez_afspraak a
|
||||
WHERE a.bez_afspraak_key = b.bez_afspraak_key
|
||||
AND kw.bez_bezoekers_key = b.bez_bezoekers_key
|
||||
AND b.bez_bezoekers_key <> p_bezkey
|
||||
AND kw.bez_kenmerk_key = v_card_number_key
|
||||
AND kw.bez_kenmerkwaarde_waarde = COALESCE (v_code, '-1')
|
||||
AND bez_afspraak_datum BETWEEN v_date - 1 AND v_date + 2;
|
||||
|
||||
IF v_exists > 0 OR v_code IS NULL
|
||||
IF v_code IS NULL OR SUBSTR(v_code, 2, 4) <> SUBSTR(p_bezkey, 2, 4)
|
||||
THEN
|
||||
v_code := TRUNC (DBMS_RANDOM.VALUE (9999, 50000));
|
||||
--DBMS_OUTPUT.put_line ('Nieuwe code:' || v_code);
|
||||
ELSE
|
||||
v_found := 1;
|
||||
v_code := ROUND(DBMS_RANDOM.value(0,4)) || SUBSTR(p_bezkey, LENGTH(p_bezkey)-3, LENGTH(p_bezkey));
|
||||
|
||||
FLX.setflex ('BEZ',
|
||||
v_card_number_key,
|
||||
p_bezkey,
|
||||
v_code);
|
||||
END IF;
|
||||
|
||||
v_count := v_count + 1;
|
||||
END LOOP;
|
||||
|
||||
FLX.setflex ('BEZ',
|
||||
v_facility_code_key,
|
||||
p_bezkey,
|
||||
@@ -440,6 +428,7 @@ AS
|
||||
|
||||
-- Vul het flexveld hex code met de hex waarde die gescant moet worden.
|
||||
-- We gebruiken hiervoor 'The Standard 26-Bit Format'
|
||||
|
||||
FLX.setflex (
|
||||
'BEZ',
|
||||
v_hex_code_key,
|
||||
@@ -447,6 +436,13 @@ AS
|
||||
DLLG.get_hex_card_data (
|
||||
LPAD (TRIM (TO_CHAR (v_code, 'XXXXXX')), 4, '0'),
|
||||
LPAD (TRIM (TO_CHAR (123, 'XXXXXX')), 2, '0')));
|
||||
|
||||
FLX.setflex (
|
||||
'BEZ',
|
||||
v_dec_code_key,
|
||||
p_bezkey,
|
||||
'123' || LPAD(TRIM(v_code), 5, '0'));
|
||||
|
||||
END;
|
||||
|
||||
PROCEDURE set_bezoeker_syncdate (p_bezkey IN NUMBER,
|
||||
@@ -489,7 +485,7 @@ AS
|
||||
FLX.setflex ('BEZ',
|
||||
v_sync_timestamp_key,
|
||||
p_bezkey,
|
||||
TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SSS'));
|
||||
TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS'));
|
||||
|
||||
END;
|
||||
END;
|
||||
@@ -1819,6 +1815,7 @@ CREATE OR REPLACE VIEW dllg_v_bezoeker_brivo
|
||||
bezoeker_email,
|
||||
card_number,
|
||||
facility_code,
|
||||
hex_code,
|
||||
afspraak_van,
|
||||
afspraak_tot,
|
||||
meeting_id
|
||||
@@ -1834,6 +1831,7 @@ SELECT 'POST',
|
||||
b.bez_bezoekers_email,
|
||||
c.card,
|
||||
f.facility,
|
||||
h.hex_code,
|
||||
TRUNC(a.bez_afspraak_datum),
|
||||
TRUNC(a.bez_afspraak_datum)+1,
|
||||
''
|
||||
@@ -1846,11 +1844,16 @@ SELECT 'POST',
|
||||
(SELECT kw.bez_bezoekers_key, bez_kenmerkwaarde_waarde facility
|
||||
FROM bez_kenmerk k, bez_kenmerkwaarde kw
|
||||
WHERE k.bez_kenmerk_upper LIKE 'FACILITY CODE%'
|
||||
AND kw.bez_kenmerk_key = k.bez_kenmerk_key) f
|
||||
AND kw.bez_kenmerk_key = k.bez_kenmerk_key) f,
|
||||
(SELECT kw.bez_bezoekers_key, bez_kenmerkwaarde_waarde hex_code
|
||||
FROM bez_kenmerk k, bez_kenmerkwaarde kw
|
||||
WHERE k.bez_kenmerk_upper LIKE 'HEX CODE%'
|
||||
AND kw.bez_kenmerk_key = k.bez_kenmerk_key) h
|
||||
WHERE b.bez_afspraak_key = a.bez_afspraak_key
|
||||
AND TRUNC(a.bez_afspraak_datum) = TRUNC (SYSDATE) -- Alleen afspraken nu
|
||||
AND b.bez_bezoekers_key = c.bez_bezoekers_key
|
||||
AND b.bez_bezoekers_key = f.bez_bezoekers_key
|
||||
AND b.bez_bezoekers_key = h.bez_bezoekers_key
|
||||
AND NOT EXISTS
|
||||
(SELECT kw.bez_bezoekers_key, bez_kenmerkwaarde_waarde
|
||||
FROM bez_kenmerk k, bez_kenmerkwaarde kw
|
||||
@@ -1858,6 +1861,29 @@ SELECT 'POST',
|
||||
AND kw.bez_kenmerk_key = k.bez_kenmerk_key
|
||||
AND kw.bez_bezoekers_key = b.bez_bezoekers_key);
|
||||
|
||||
-- Notificatie naar bezoekers
|
||||
CREATE OR REPLACE VIEW dllg_v_noti_visitor
|
||||
AS
|
||||
SELECT NULL sender,
|
||||
NULL receiver,
|
||||
'Bezoekafspraak op ' || TO_CHAR('bez_afspraak_datum', 'DD-MM-YYYY') || ' om ' || TO_CHAR('bez_afspraak_datum', 'HH24:MI') || ' uur bij DLL' text,
|
||||
'CUST01' code,
|
||||
a.bez_afspraak_key key,
|
||||
bez_bezoekers_key xkey,
|
||||
bez_bezoekers_email xemail,
|
||||
NULL xmobile
|
||||
FROM bez_afspraak a, bez_bezoekers b
|
||||
WHERE a.bez_afspraak_key = b.bez_afspraak_key
|
||||
AND a.bez_afspraak_datum < fac.datumtijdplusuitvoertijd (SYSDATE, 3, 'D')
|
||||
AND a.bez_afspraak_datum > SYSDATE
|
||||
AND NOT EXISTS
|
||||
(SELECT 1
|
||||
FROM fac_tracking t, fac_srtnotificatie sn
|
||||
WHERE t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||||
AND t.fac_tracking_refkey = a.bez_afspraak_key
|
||||
AND b.bez_bezoekers_aanmaak < fac_tracking_datum);
|
||||
|
||||
|
||||
|
||||
------ payload end ------
|
||||
|
||||
|
||||
Reference in New Issue
Block a user