FCLT#56045 Implementatie Volksbank
svn path=/Customer/trunk/; revision=42176
This commit is contained in:
260
VOLK/volk.sql
260
VOLK/volk.sql
@@ -1,4 +1,3 @@
|
||||
/* Formatted on 4/4/2019 09:57:02 (QP5 v5.336) */
|
||||
--
|
||||
-- $Id$
|
||||
--
|
||||
@@ -578,132 +577,57 @@ AS
|
||||
|
||||
CREATE OR REPLACE VIEW VOLK_V_NOTI_BEZOEKERS
|
||||
(
|
||||
SRTNOTIFICATIE,
|
||||
SRTNOTIFICATIE_KEY,
|
||||
SENDER,
|
||||
RECEIVER,
|
||||
TEXT,
|
||||
AFSPRAAK_KEY,
|
||||
MAIL_TO,
|
||||
CONTACT,
|
||||
BEZOEK_VAN,
|
||||
BEZOEK_TOT,
|
||||
LOCATIE
|
||||
CODE,
|
||||
FAC_SRTNOTIFICATIE_KEY,
|
||||
KEY,
|
||||
XKEY,
|
||||
XEMAIL,
|
||||
XMOBILE
|
||||
)
|
||||
AS
|
||||
SELECT DISTINCT
|
||||
sn.fac_srtnotificatie_code,
|
||||
sn.fac_srtnotificatie_key,
|
||||
DECODE (
|
||||
sn.fac_srtnotificatie_key,
|
||||
NULL sender,
|
||||
NULL receiver,
|
||||
DECODE (
|
||||
t.fac_srtnotificatie_key,
|
||||
30, 'Nieuwe bezoekersregistratie, registratienummer: '
|
||||
|| b.afspraak_key,
|
||||
31, 'Wijziging in bezoekersregistratie ' || b.afspraak_key)
|
||||
TEXT,
|
||||
sn.fac_srtnotificatie_code,
|
||||
sn.fac_srtnotificatie_key,
|
||||
b.afspraak_key,
|
||||
fac_usrdata_omschr,
|
||||
b.contact,
|
||||
b.bezoek_van,
|
||||
b.bezoek_tot,
|
||||
l.alg_locatie_code
|
||||
null xkey,
|
||||
ud.fac_usrdata_omschr,
|
||||
null xmobile
|
||||
FROM fac_tracking t,
|
||||
bez_v_udr_bezoeker b,
|
||||
alg_locatie l,
|
||||
fac_usrdata ud,
|
||||
fac_srtnotificatie sn
|
||||
WHERE sn.fac_srtnotificatie_key IN (30, 31) --- BEZMUT, registreren nieuwe afspraak en BEZUPD, wijzigen afspraak
|
||||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||||
WHERE
|
||||
t.fac_tracking_refkey = b.afspraak_key
|
||||
AND t.fac_srtnotificatie_key in( 30 , 31) --- BEZMUT, registreren nieuwe afspraak en BEZUPD, wijzigen afspraak
|
||||
AND sn.fac_srtnotificatie_code = 'CUST01'
|
||||
AND t.fac_tracking_refkey = b.afspraak_key
|
||||
AND b.fclt_3d_locatie_key = l.alg_locatie_key
|
||||
AND ud.FAC_USRDATA_code = l.alg_locatie_code
|
||||
AND ud.fac_usrtab_key = 141 --- mailadressen worden uit een eigen tabel gehaald, 1/96 want: bezoekersmutaties van de afgelopen 15 minuten
|
||||
AND t.fac_tracking_datum > SYSDATE - (1 / 96);
|
||||
|
||||
COMMIT;
|
||||
|
||||
CREATE OR REPLACE PROCEDURE volk_export_noti_bezoekers (
|
||||
p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2,
|
||||
p_filedir IN VARCHAR2,
|
||||
p_filename IN VARCHAR2)
|
||||
AS
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_errorhint VARCHAR2 (100);
|
||||
|
||||
v_aanduiding VARCHAR2 (100);
|
||||
v_afspraak_key NUMBER (10);
|
||||
|
||||
CURSOR c IS SELECT * FROM VOLK_V_NOTI_BEZOEKERS;
|
||||
BEGIN
|
||||
v_errorhint := 'init';
|
||||
|
||||
DELETE imp_log
|
||||
WHERE imp_log_applicatie = p_applname;
|
||||
|
||||
FOR rec IN c
|
||||
LOOP
|
||||
BEGIN
|
||||
v_errorhint := 'Add mail';
|
||||
|
||||
INSERT INTO fac_notificatie (fac_srtnotificatie_key,
|
||||
fac_notificatie_status,
|
||||
fac_notificatie_receiver_email,
|
||||
fac_notificatie_oms,
|
||||
fac_notificatie_refkey,
|
||||
fac_notificatie_prioriteit,
|
||||
fac_notificatie_lang,
|
||||
prs_perslid_key_sender)
|
||||
SELECT fac_srtnotificatie_key,
|
||||
2,
|
||||
rec.mail_to,
|
||||
rec.text,
|
||||
rec.afspraak_key,
|
||||
2,
|
||||
'NL',
|
||||
3
|
||||
FROM fac_srtnotificatie
|
||||
WHERE fac_srtnotificatie_code = 'CUST01';
|
||||
|
||||
|
||||
fac.imp_writelog (p_applname,
|
||||
'I',
|
||||
'Bezoekers bij afspraak ' || rec.afspraak_key,
|
||||
'Per mail verzonden naar: ' || rec.mail_to);
|
||||
|
||||
|
||||
COMMIT;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
fac.writelog (
|
||||
p_applname,
|
||||
'E',
|
||||
'Error '
|
||||
|| v_aanduiding
|
||||
|| oracle_err_num
|
||||
|| '/'
|
||||
|| oracle_err_mes,
|
||||
v_errorhint);
|
||||
END;
|
||||
END LOOP;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
fac.writelog (p_applname,
|
||||
'E',
|
||||
'Error ' || oracle_err_num || '/' || oracle_err_mes,
|
||||
v_errorhint);
|
||||
END volk_export_noti_bezoekers;
|
||||
/
|
||||
|
||||
BEGIN
|
||||
DBMS_UTILITY.COMPILE_SCHEMA (USER, FALSE);
|
||||
END;
|
||||
/
|
||||
|
||||
AND ud.fac_usrdata_code = l.alg_locatie_code
|
||||
AND ud.fac_usrtab_key = 141 --- bezoekersmutaties van het afgelopen uur
|
||||
AND t.fac_tracking_datum >
|
||||
(SELECT fac_notificatie_job_nextrun
|
||||
- fac_notificatie_job_interval / 24
|
||||
FROM fac_notificatie_job
|
||||
WHERE UPPER (fac_notificatie_job_view) =
|
||||
'VOLK_V_NOTI_BEZOEKERS')
|
||||
AND t.fac_tracking_datum <
|
||||
(SELECT fac_notificatie_job_nextrun
|
||||
FROM fac_notificatie_job
|
||||
WHERE UPPER (fac_notificatie_job_view) =
|
||||
'VOLK_V_NOTI_BEZOEKERS');
|
||||
|
||||
CREATE OR REPLACE VIEW VOLK_V_RAPP_BEDRIJF_DIENST
|
||||
(
|
||||
bedrijf_naam,
|
||||
@@ -730,7 +654,6 @@ AS
|
||||
WHERE b.prs_bedrijf_key = scope.prs_bedrijf_key;
|
||||
|
||||
-- De bron view met gegevens over bezoekers die een parkeerplaats moeten krijgen vandaag of morgen
|
||||
|
||||
CREATE OR REPLACE VIEW VOLK_V_EXP_FIRMBASE
|
||||
(
|
||||
BEZ_BEZOEKER_KEY,
|
||||
@@ -739,8 +662,10 @@ CREATE OR REPLACE VIEW VOLK_V_EXP_FIRMBASE
|
||||
BEZ_EINDDATUM,
|
||||
FIRMBASE_RESPONSE,
|
||||
KENTEKEN,
|
||||
LANDCODE,
|
||||
VISITOR_PROFILE,
|
||||
VISITOR_ID
|
||||
VISITOR_ID,
|
||||
BEZOEKER_NAAM
|
||||
)
|
||||
AS
|
||||
SELECT b.bez_bezoekers_key,
|
||||
@@ -749,10 +674,13 @@ AS
|
||||
a.bez_afspraak_eind,
|
||||
firmb.bez_kenmerkwaarde_waarde AS firmbase_resp, --- KOMT ER EEN KEY TERUG OF KAN IK HIER RESPONS CODE IN TERUGZETTEN?
|
||||
kenteken.bez_kenmerkwaarde_waarde AS kenteken,
|
||||
'NL' AS landcode,
|
||||
'VBank',
|
||||
guid.bez_kenmerkwaarde_waarde AS guid
|
||||
guid.bez_kenmerkwaarde_waarde AS guid,
|
||||
b.bez_afspraak_naam AS bezoeker_naam
|
||||
FROM bez_afspraak a,
|
||||
bez_bezoekers b,
|
||||
alg_locatie l,
|
||||
(SELECT rd.bez_bezoekers_key, d.*
|
||||
FROM res_rsv_deel rd, res_v_ins_deel d, ins_srtdeel o
|
||||
WHERE rd.res_deel_key = d.res_deel_key
|
||||
@@ -769,17 +697,18 @@ AS
|
||||
(SELECT kw.bez_bezoekers_key, bez_kenmerkwaarde_waarde
|
||||
FROM bez_kenmerkwaarde kw, bez_kenmerk k
|
||||
WHERE k.bez_kenmerk_key = kw.bez_kenmerk_key
|
||||
AND k.bez_kenmerk_upper = 'VISITORID') guid
|
||||
AND k.bez_kenmerk_upper = 'VISITORID') guid
|
||||
WHERE b.bez_afspraak_key = a.bez_afspraak_key
|
||||
AND b.bez_bezoekers_key = park.bez_bezoekers_key --- alleen als er een parkeerplaats bij zit
|
||||
AND b.bez_bezoekers_key = park.bez_bezoekers_key
|
||||
AND a.alg_locatie_key = l.alg_locatie_key
|
||||
AND l.alg_locatie_key = 104 --- alleen Utrecht groot kantoor
|
||||
AND firmb.bez_bezoekers_key(+) = b.bez_bezoekers_key
|
||||
AND kenteken.bez_bezoekers_key(+) = b.bez_bezoekers_key
|
||||
AND guid.bez_bezoekers_key(+) = b.bez_bezoekers_key
|
||||
AND guid.bez_bezoekers_key(+) = b.bez_bezoekers_key
|
||||
AND a.bez_afspraak_datum < TRUNC (SYSDATE) + 2
|
||||
AND a.bez_afspraak_datum > SYSDATE;
|
||||
|
||||
-- Procedure om de bezoekers met een parkeerplaats klaar te zetten voor de export
|
||||
|
||||
CREATE OR REPLACE PROCEDURE VOLK_SELECT_FIRMBASE (p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2)
|
||||
AS
|
||||
@@ -799,7 +728,7 @@ AS
|
||||
|
||||
-- Stap 1: Insert Visitor
|
||||
-- Selectcriteria: alle bezoekers uit volk_v_exp_firmbase die nog niet in de tabel mey Firmbase registraties staan
|
||||
-- of eigenlijk ook: nog geen visitor_id hebben
|
||||
-- Of eigenlijk ook: nog geen visitor_id hebben
|
||||
CURSOR IV IS
|
||||
SELECT p.*
|
||||
FROM volk_v_exp_firmbase p
|
||||
@@ -816,12 +745,13 @@ AS
|
||||
CURSOR UV IS
|
||||
SELECT p.*
|
||||
FROM volk_v_exp_firmbase p, volk_registraties_firmbase f
|
||||
WHERE p.bez_bezoeker_key = f.bez_bezoeker_key
|
||||
WHERE p.bez_bezoeker_key = f.bez_bezoeker_key
|
||||
AND NVL (p.kenteken, 'KL') <> NVL (f.kenteken, 'KL');
|
||||
|
||||
|
||||
-- Stap 3: Cancel Visitor
|
||||
-- De bezoekersregistratie staat wel in de eigen tabel maar niet in de bez. tabel (bezoeker (en evt ook afspraak) is verwijderd)
|
||||
-- Bezoekers uit het verleden kijken we niet naar, die staan sowieso niet in de view
|
||||
-- LET OP: ook bij het wijzigen van datum/tijd van de afspraak moet eerst een delete en dan een nieuwe insert gedaan worden
|
||||
-- Selectcriteria: alle bezoekers uit VOLK eigen tabel die niet meer voorkomen in volk_v_exp_firmbase
|
||||
-- Of bezoekers uit VOLK eigen tabel waarbij begin en/of eindtijd afwijkt van de informatie uit de standaard tabel
|
||||
@@ -829,7 +759,8 @@ AS
|
||||
CURSOR CV IS
|
||||
SELECT f.*
|
||||
FROM volk_registraties_firmbase f
|
||||
WHERE f.visitor_id NOT IN (SELECT v.visitor_id
|
||||
WHERE f.bez_startdatum > SYSDATE
|
||||
AND f.visitor_id NOT IN (SELECT v.visitor_id
|
||||
FROM volk_v_exp_firmbase v)
|
||||
UNION ALL
|
||||
SELECT f.*
|
||||
@@ -874,8 +805,16 @@ BEGIN
|
||||
|| rec.visitor_id
|
||||
|| '"'
|
||||
|| ' "'
|
||||
|| rec.kenteken
|
||||
|| '"',
|
||||
|| NVL (
|
||||
rec.kenteken,
|
||||
'KL-'
|
||||
|| TO_CHAR (rec.bez_bezoeker_key, 'FM000000'))
|
||||
|| '"'
|
||||
|| ' "'
|
||||
|| NVL (
|
||||
rec.landcode, 'NL')
|
||||
|| '" >>%0.log 2>>&1'
|
||||
,
|
||||
0);
|
||||
|
||||
-- dan ook het kenteken in de eigen tabel aanpassen
|
||||
@@ -903,7 +842,7 @@ BEGIN
|
||||
fac_rapport_soort)
|
||||
VALUES (p_applname,
|
||||
v_rap_count,
|
||||
'node cancel.js' || ' "' || rec.visitor_id || '"',
|
||||
'node cancel.js' || ' "' || rec.visitor_id || '" >>%0.log 2>>&1',
|
||||
0);
|
||||
|
||||
--- Registratie verwijderen uit logtabel
|
||||
@@ -931,15 +870,7 @@ BEGIN
|
||||
v_errormsg := 'Exportregel insert visitor Firmbase aanmaken';
|
||||
|
||||
|
||||
SELECT ( DBMS_RANDOM.STRING ('X', 8)
|
||||
|| '-'
|
||||
|| DBMS_RANDOM.STRING ('X', 4)
|
||||
|| '-'
|
||||
|| DBMS_RANDOM.STRING ('X', 4)
|
||||
|| '-'
|
||||
|| DBMS_RANDOM.STRING ('X', 4)
|
||||
|| '-'
|
||||
|| TO_CHAR (p.bez_bezoeker_key, 'FM000000000000'))
|
||||
SELECT substr(sys_guid(), 1, 26) || TO_CHAR (p.bez_bezoeker_key, 'FM000000')
|
||||
INTO v_visitor_id
|
||||
FROM volk_v_exp_firmbase p
|
||||
WHERE p.bez_bezoeker_key = rec.bez_bezoeker_key;
|
||||
@@ -963,12 +894,19 @@ BEGIN
|
||||
'KL-'
|
||||
|| TO_CHAR (rec.bez_bezoeker_key, 'FM000000'))
|
||||
|| '"'
|
||||
|| ' "'
|
||||
|| rec.bez_startdatum
|
||||
|| ' "'
|
||||
|| NVL (
|
||||
rec.landcode, 'NL')
|
||||
|| '"'
|
||||
|| ' "'
|
||||
|| rec.bez_einddatum
|
||||
|| '"',
|
||||
|| replace (rec.bez_startdatum, ' ', 'T')
|
||||
|| '"'
|
||||
|| ' "'
|
||||
|| replace (rec.bez_einddatum, ' ', 'T')
|
||||
|| '"'
|
||||
|| ' "'
|
||||
|| rec.bezoeker_naam
|
||||
|| '" >>%0.log 2>>&1',
|
||||
0);
|
||||
|
||||
-- registratie ook in eigen tabel toevoegen
|
||||
@@ -993,11 +931,11 @@ BEGIN
|
||||
COMMIT;
|
||||
END LOOP;
|
||||
|
||||
|
||||
COMMIT;
|
||||
END volk_SELECT_firmbase;
|
||||
/
|
||||
|
||||
|
||||
--- genereert het export bestand voor Firmbase
|
||||
|
||||
CREATE OR REPLACE VIEW VOLK_V_EXPORT_FIRMBASE
|
||||
@@ -1011,9 +949,55 @@ AS
|
||||
WHERE fac_rapport_node = 'FIRMBASE';
|
||||
|
||||
|
||||
CREATE OR REPLACE PACKAGE VOLK
|
||||
AS
|
||||
PROCEDURE mld_after_insert (p_melding_key IN NUMBER);
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
CREATE OR REPLACE PACKAGE BODY VOLK
|
||||
AS
|
||||
PROCEDURE mld_after_insert (p_melding_key IN NUMBER)
|
||||
AS
|
||||
CURSOR c IS
|
||||
SELECT m.mld_melding_key
|
||||
FROM mld_stdmelding sm,
|
||||
ins_tab_discipline vg,
|
||||
ins_srtdiscipline vgt,
|
||||
mld_disc_params vgp,
|
||||
mld_melding m
|
||||
WHERE sm.mld_ins_discipline_key = vg.ins_discipline_key
|
||||
AND vg.ins_srtdiscipline_key = vgt.ins_srtdiscipline_key
|
||||
AND UPPER (ins_srtdiscipline_omschrijving) LIKE '%WINKEL%'
|
||||
AND sm.mld_ins_discipline_key = vgp.mld_ins_discipline_key
|
||||
AND vgp.mld_disc_params_kanpubliek = 1
|
||||
AND m.mld_melding_publiek = 0
|
||||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key;
|
||||
|
||||
v_count NUMBER;
|
||||
v_stdmelding_key NUMBER;
|
||||
BEGIN
|
||||
FOR rec IN C
|
||||
LOOP
|
||||
UPDATE mld_melding m
|
||||
SET m.mld_melding_publiek = 1
|
||||
WHERE m.mld_melding_key = rec.mld_melding_key;
|
||||
END LOOP;
|
||||
END;
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
COMMIT;
|
||||
------ payload end ------
|
||||
|
||||
BEGIN
|
||||
DBMS_UTILITY.COMPILE_SCHEMA (USER, FALSE);
|
||||
END;
|
||||
/
|
||||
|
||||
SET DEFINE OFF
|
||||
|
||||
BEGIN
|
||||
|
||||
Reference in New Issue
Block a user