VOLK#63956: Export firmbase sinds vannacht extreem traag

svn path=/Customer/trunk/; revision=48231
This commit is contained in:
Suzan Wiegerinck
2020-09-21 10:14:55 +00:00
parent 61f9024dbd
commit f4b61ceb1f

View File

@@ -59,7 +59,7 @@ BEGIN
(SUBSTR (prs_kenmerk2, 1, (INSTR (prs_kenmerk2, '@') - 1))),
1,
30);
*/
*/
-- functie wordt niet gebruikt, dus deze wordt altijd 'onbekend'
UPDATE fac_imp_perslid
@@ -591,49 +591,51 @@ CREATE OR REPLACE VIEW VOLK_V_NOTI_BEZOEKERS
)
AS
SELECT DISTINCT
NULL sender,
NULL receiver,
DECODE (
t.fac_srtnotificatie_key,
30, 'Nieuwe bezoekersregistratie voor '
|| b.BEZOEK_VAN
|| ', nummer: '
|| b.afspraak_key
|| ', gastheer: '
|| b.HOST,
31, 'Wijziging in bezoekersregistratie voor '
|| b.BEZOEK_VAN
|| ', nummer: '
|| b.afspraak_key
|| ', gastheer: '
|| b.HOST) TEXT,
sn.fac_srtnotificatie_code,
sn.fac_srtnotificatie_key,
b.afspraak_key,
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 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 --- 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');
NULL sender,
NULL receiver,
DECODE (
t.fac_srtnotificatie_key,
30, 'Nieuwe bezoekersregistratie voor '
|| b.BEZOEK_VAN
|| ', nummer: '
|| b.afspraak_key
|| ', gastheer: '
|| b.HOST,
31, 'Wijziging in bezoekersregistratie voor '
|| b.BEZOEK_VAN
|| ', nummer: '
|| b.afspraak_key
|| ', gastheer: '
|| b.HOST) TEXT,
sn.fac_srtnotificatie_code,
sn.fac_srtnotificatie_key,
b.afspraak_key,
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 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 --- 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
(
@@ -661,6 +663,7 @@ 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,
@@ -676,66 +679,70 @@ CREATE OR REPLACE VIEW VOLK_V_EXP_FIRMBASE
)
AS
SELECT b.bez_bezoekers_key,
a.bez_afspraak_key,
a.bez_afspraak_datum,
a.bez_afspraak_eind,
firmb.bez_kenmerkwaarde_waarde
AS firmbase_resp, --- KOMT ER EEN KEY TERUG OF KAN IK HIER RESPONS CODE IN TERUGZETTEN?
REPLACE (
REPLACE (COALESCE (b.bez_bezoekers_kenteken, kenteken.kenteken),
'-',
''),
' ',
''),
'NL'
AS landcode,
'VBank',
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
FROM ins_v_aanwezigdeel ins_de,
ins_srtdeel ins_sd,
res_v_aanwezigdeel res_de,
res_rsv_deel rd
WHERE ins_de.ins_deel_key = res_de.res_ins_deel_key
AND ins_de.ins_deel_module = 'INS'
AND ins_de.ins_deel_parent_key IS NULL
AND ins_sd.ins_srtdeel_key = ins_de.ins_srtdeel_key
AND ins_sd.ins_srtdeel_code = 'PARK'
AND rd.res_deel_key = res_de.res_deel_key) park,
(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 = 'FIRMBASE RESPONSE') firmb,
(SELECT kw.bez_bezoekers_key,
UPPER (bez_kenmerkwaarde_waarde) kenteken
FROM bez_kenmerkwaarde kw, bez_kenmerk k
WHERE k.bez_kenmerk_key = kw.bez_kenmerk_key
AND k.bez_kenmerk_upper = 'KENTEKEN') kenteken,
(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
WHERE b.bez_afspraak_key = a.bez_afspraak_key
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 a.bez_afspraak_datum < TRUNC (SYSDATE) + 2
AND a.bez_afspraak_datum > TRUNC (SYSDATE) - 1;
a.bez_afspraak_key,
a.bez_afspraak_datum,
a.bez_afspraak_eind,
firmb.bez_kenmerkwaarde_waarde
AS firmbase_resp, --- KOMT ER EEN KEY TERUG OF KAN IK HIER RESPONS CODE IN TERUGZETTEN?
REPLACE (
REPLACE (
COALESCE (b.bez_bezoekers_kenteken, kenteken.kenteken),
'-',
''),
' ',
''),
'NL'
AS landcode,
'VBank',
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
FROM ins_v_aanwezigdeel ins_de,
ins_srtdeel ins_sd,
res_v_aanwezigdeel res_de,
res_rsv_deel rd
WHERE ins_de.ins_deel_key = res_de.res_ins_deel_key
AND ins_de.ins_deel_module = 'INS'
AND ins_de.ins_deel_parent_key IS NULL
AND ins_sd.ins_srtdeel_key = ins_de.ins_srtdeel_key
AND ins_sd.ins_srtdeel_code = 'PARK'
AND rd.res_deel_key = res_de.res_deel_key) park,
(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 = 'FIRMBASE RESPONSE') firmb,
(SELECT kw.bez_bezoekers_key,
UPPER (bez_kenmerkwaarde_waarde) kenteken
FROM bez_kenmerkwaarde kw, bez_kenmerk k
WHERE k.bez_kenmerk_key = kw.bez_kenmerk_key
AND k.bez_kenmerk_upper = 'KENTEKEN') kenteken,
(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
WHERE b.bez_afspraak_key = a.bez_afspraak_key
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 a.bez_afspraak_datum < TRUNC (SYSDATE) + 2
AND a.bez_afspraak_datum > TRUNC (SYSDATE) - 1;
-- !!!!!!!!!!!!!!!!!! tijdelijke view omdat de mail uitgevallen is. !!!!!!!!!!!!!!!!!!!!!!
CREATE OR REPLACE VIEW volk_v_rap_bezoekers_mutatie
AS
SELECT DISTINCT
DECODE (t.fac_srtnotificatie_key, 30, 'Nieuw', 31, 'Wijziging')
DECODE (t.fac_srtnotificatie_key,
30, 'Nieuw',
31, 'Wijziging')
status,
a.bez_afspraak_key
nummer,
@@ -789,6 +796,7 @@ AS
TO_DATE ('20190423 16:00', 'yyyymmdd hh24:mi');
-- 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
@@ -839,9 +847,9 @@ AS
CURSOR CV IS
SELECT f.*
FROM volk_registraties_firmbase f
WHERE f.bez_startdatum > TRUNC(SYSDATE - 1)
AND f.visitor_id NOT IN (SELECT v.visitor_id
FROM volk_v_exp_firmbase v)
WHERE f.bez_startdatum > TRUNC (SYSDATE - 1)
AND f.visitor_id NOT IN (SELECT v.visitor_id
FROM volk_v_exp_firmbase v)
UNION ALL
SELECT f.*
FROM volk_registraties_firmbase f, volk_v_exp_firmbase v
@@ -891,10 +899,8 @@ BEGIN
|| TO_CHAR (rec.bez_bezoeker_key, 'FM000000'))
|| '"'
|| ' "'
|| NVL (
rec.landcode, 'NL')
|| '" >>%0.log 2>>&1'
,
|| NVL (rec.landcode, 'NL')
|| '" >>%0.log 2>>&1',
0);
-- dan ook het kenteken in de eigen tabel aanpassen
@@ -920,9 +926,13 @@ BEGIN
fac_rapport_volgnr,
fac_rapport_regel,
fac_rapport_soort)
VALUES (p_applname,
VALUES (
p_applname,
v_rap_count,
'node cancel.js' || ' "' || rec.visitor_id || '" >>%0.log 2>>&1',
'node cancel.js'
|| ' "'
|| rec.visitor_id
|| '" >>%0.log 2>>&1',
0);
--- Registratie verwijderen uit logtabel
@@ -950,7 +960,8 @@ BEGIN
v_errormsg := 'Exportregel insert visitor Firmbase aanmaken';
SELECT substr(sys_guid(), 1, 26) || TO_CHAR (p.bez_bezoeker_key, 'FM000000')
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;
@@ -975,14 +986,13 @@ BEGIN
|| TO_CHAR (rec.bez_bezoeker_key, 'FM000000'))
|| '"'
|| ' "'
|| NVL (
rec.landcode, 'NL')
|| NVL (rec.landcode, 'NL')
|| '"'
|| ' "'
|| replace (rec.bez_startdatum, ' ', 'T')
|| REPLACE (rec.bez_startdatum, ' ', 'T')
|| '"'
|| ' "'
|| replace (rec.bez_einddatum, ' ', 'T')
|| REPLACE (rec.bez_einddatum, ' ', 'T')
|| '"'
|| ' "'
|| rec.bezoeker_naam
@@ -1038,34 +1048,33 @@ 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;
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;
/
@@ -1079,56 +1088,60 @@ CREATE OR REPLACE VIEW VOLK_V_RAPP_AANT_BEZ_INTERN
HTML_DETAILS
)
AS
SELECT TRUNC (afs.bez_afspraak_datum),
l.alg_locatie_key,
l.alg_locatie_omschrijving,
COALESCE (bo.fac_usrdata_omschr, 'Onbekend') bedrijfsonderdeel,
COUNT (b.bez_bezoekers_key),
'<a class="details" onclick=''FcltMgr.openDetail("appl/fac/fac_report.asp?usrrap_key=121&'
|| 'mode=list&'
|| 'fclt_datum_afspraak='
|| fac.safe_to_number (TO_CHAR (afs.bez_afspraak_datum, 'yyyymmdd'))
|| '&'
|| 'fclt_bedrijfsonderdeel='
|| COALESCE (replace(bo.fac_usrdata_omschr,'&','%26'), 'Onbekend')
|| '&'
|| 'fclt_locatie_key='
|| l.alg_locatie_key
|| '")''>'
|| 'Klik hier voor de details'
|| '</a>' AS html_details
FROM bez_bezoekers b,
bez_afspraak afs,
prs_perslid HOST,
alg_locatie l,
prs_afdeling a,
(SELECT *
FROM fac_usrtab tb, fac_usrdata ud
WHERE ud.fac_usrtab_key = tb.fac_usrtab_key
AND UPPER (tb.fac_usrtab_omschrijving) = 'BEDRIJFSONDERDEEL')
bo
WHERE b.bez_afspraak_key = afs.bez_afspraak_key
AND afs.alg_locatie_key = l.alg_locatie_key
AND afs.bez_afspraak_host_key = HOST.prs_perslid_key
AND HOST.prs_afdeling_key = a.prs_afdeling_key
AND bo.fac_usrdata_code(+) = a.prs_afdeling_naam --- op basis van afdelingscode wordt het bedrijfsonderdeel gekoppeld
GROUP BY trunc(afs.bez_afspraak_datum),
l.alg_locatie_key,
l.alg_locatie_omschrijving,
COALESCE (bo.fac_usrdata_omschr, 'Onbekend'),
'<a class="details" onclick=''FcltMgr.openDetail("appl/fac/fac_report.asp?usrrap_key=121&'
|| 'mode=list&'
|| 'fclt_datum_afspraak='
|| fac.safe_to_number (TO_CHAR (afs.bez_afspraak_datum, 'yyyymmdd'))
|| '&'
|| 'fclt_bedrijfsonderdeel='
|| COALESCE (replace(bo.fac_usrdata_omschr,'&','%26'), 'Onbekend')
|| '&'
|| 'fclt_locatie_key='
|| l.alg_locatie_key
|| '")''>'
|| 'Klik hier voor de details'
|| '</a>';
SELECT TRUNC (afs.bez_afspraak_datum),
l.alg_locatie_key,
l.alg_locatie_omschrijving,
COALESCE (bo.fac_usrdata_omschr, 'Onbekend') bedrijfsonderdeel,
COUNT (b.bez_bezoekers_key),
'<a class="details" onclick=''FcltMgr.openDetail("appl/fac/fac_report.asp?usrrap_key=121&'
|| 'mode=list&'
|| 'fclt_datum_afspraak='
|| fac.safe_to_number (
TO_CHAR (afs.bez_afspraak_datum, 'yyyymmdd'))
|| '&'
|| 'fclt_bedrijfsonderdeel='
|| COALESCE (REPLACE (bo.fac_usrdata_omschr, '&', '%26'),
'Onbekend')
|| '&'
|| 'fclt_locatie_key='
|| l.alg_locatie_key
|| '")''>'
|| 'Klik hier voor de details'
|| '</a>' AS html_details
FROM bez_bezoekers b,
bez_afspraak afs,
prs_perslid HOST,
alg_locatie l,
prs_afdeling a,
(SELECT *
FROM fac_usrtab tb, fac_usrdata ud
WHERE ud.fac_usrtab_key = tb.fac_usrtab_key
AND UPPER (tb.fac_usrtab_omschrijving) =
'BEDRIJFSONDERDEEL') bo
WHERE b.bez_afspraak_key = afs.bez_afspraak_key
AND afs.alg_locatie_key = l.alg_locatie_key
AND afs.bez_afspraak_host_key = HOST.prs_perslid_key
AND HOST.prs_afdeling_key = a.prs_afdeling_key
AND bo.fac_usrdata_code(+) = a.prs_afdeling_naam --- op basis van afdelingscode wordt het bedrijfsonderdeel gekoppeld
GROUP BY TRUNC (afs.bez_afspraak_datum),
l.alg_locatie_key,
l.alg_locatie_omschrijving,
COALESCE (bo.fac_usrdata_omschr, 'Onbekend'),
'<a class="details" onclick=''FcltMgr.openDetail("appl/fac/fac_report.asp?usrrap_key=121&'
|| 'mode=list&'
|| 'fclt_datum_afspraak='
|| fac.safe_to_number (
TO_CHAR (afs.bez_afspraak_datum, 'yyyymmdd'))
|| '&'
|| 'fclt_bedrijfsonderdeel='
|| COALESCE (REPLACE (bo.fac_usrdata_omschr, '&', '%26'),
'Onbekend')
|| '&'
|| 'fclt_locatie_key='
|| l.alg_locatie_key
|| '")''>'
|| 'Klik hier voor de details'
|| '</a>';
CREATE OR REPLACE VIEW VOLK_V_RAPP_BEZ_INTERN_DETAIL
(
@@ -1180,9 +1193,56 @@ AS
AND bo.fac_usrdata_code(+) = a.prs_afdeling_naam --- op basis van afdelingscode wordt het bedrijfsonderdeel gekoppeld
AND afs.bez_actie_key = ac.bez_actie_key
AND afs.bez_afspraak_host_key = bez_voor.prs_perslid_key
ORDER BY afs.bez_afspraak_datum;
ORDER BY afs.bez_afspraak_datum;
CREATE OR REPLACE PACKAGE VOLK
AS
PROCEDURE opschonen_registraties_fb;
END;
/
CREATE OR REPLACE PACKAGE BODY VOLK
AS
PROCEDURE opschonen_registraties_fb
AS
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_errormsg VARCHAR2 (200);
BEGIN
DELETE volk_registraties_firmbase fb
WHERE fb.bez_einddatum < TRUNC (SYSDATE - 7);
COMMIT;
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
|| ')';
fac.writelog ('Opschonen registraties Firmbase',
'E',
v_errormsg,
'');
END;
END;
/
CREATE OR REPLACE PROCEDURE VOLK_DAILY
AS
BEGIN
-- Opschonenen Firmbase registraties
volk.opschonen_registraties_fb ();
END;
/
COMMIT;
------ payload end ------
BEGIN