764 lines
30 KiB
SQL
764 lines
30 KiB
SQL
--
|
|
-- $Id$
|
|
--
|
|
-- Script containing customer specific sql statements for the FACILITOR database
|
|
|
|
DEFINE thisfile = 'VOLK.SQL'
|
|
DEFINE dbuser = '^VOLK'
|
|
DEFINE custid = 'VOLK'
|
|
|
|
SET ECHO ON
|
|
SET DEFINE ON
|
|
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
|
WHENEVER SQLERROR EXIT;
|
|
|
|
SELECT adm.scriptspoolfile ('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
|
|
|
|
WHENEVER SQLERROR CONTINUE;
|
|
SPOOL &fcltlogfile
|
|
SET DEFINE OFF
|
|
|
|
------ payload begin ------
|
|
|
|
CREATE OR REPLACE PROCEDURE volk_import_perslid (p_import_key IN NUMBER)
|
|
AS
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
v_errormsg VARCHAR2 (400);
|
|
v_errorhint VARCHAR2 (400);
|
|
v_aantal_in_FCLT NUMBER;
|
|
BEGIN
|
|
v_errorhint := 'Generieke update';
|
|
-- de sequence array staat beschreven in PRS_PAC.SRC bij de prs.import_perslid proc
|
|
prs.import_perslid (
|
|
p_import_key,
|
|
'0;0;0;0;0;0;9;4;10;3;'
|
|
|| '8;0;0;0;0;5;0;12;0;1;'
|
|
|| '7;0;0;0;0;0;2;6;11;0;'
|
|
|| '0;0;0;0;0;0;0;0;0;0;'
|
|
|| '0;0;0;0;0;0',
|
|
'%;"CostCenter";"FirstName";"LastName";"TelephoneNumber";"UserPrincipalName";"DepartmentName";"Initials";"DepartmentCode";"NameAddOn";"Rights";"Email"%');
|
|
-- "CentralAccount(20)";"CostCenter(27)";"FirstName(10)";"LastName(8)";"TelephoneNumber(16)";"UserPrincipalName(28)";"DepartmentName(21)";"Initials(11)";"DepartmentCode(7)";"NameAddOn(9)";"Rights(29)";"Email(18)"
|
|
-- Kenmerk 1: CostCenter. Kan eventueel later gebruikt worden om de OE te bepalen als alleen hoofdgroepen gebruikt gaan worden
|
|
-- Kenmerk 2: UserPrincipalName wordt nog niet gebruikt
|
|
-- Kenmerk 3: Rights. Dit zijn de rollen die iemand moet krijgen
|
|
|
|
COMMIT;
|
|
|
|
-- Beleid bij de Volksbank: in cloud applicaties moet gekoppeld worden op UserPrincipalName
|
|
-- Personen zonder UserPrincipalName nemen we dus niet mee
|
|
DELETE fac_imp_perslid
|
|
WHERE prs_kenmerk2 IS NULL;
|
|
|
|
-- prs oslogin hier nemen we het eerste gedeelte van de UPN, volledig UserPrincipalName is te lang
|
|
-- kan tot maximaal 30 posities
|
|
UPDATE fac_imp_perslid
|
|
SET prs_perslid_oslogin =
|
|
SUBSTR (
|
|
(SUBSTR (prs_kenmerk2,
|
|
1,
|
|
(INSTR (prs_kenmerk2, '@') - 1))),
|
|
1,
|
|
30);
|
|
|
|
-- functie wordt niet gebruikt, dus deze wordt altijd 'onbekend'
|
|
UPDATE fac_imp_perslid
|
|
SET prs_srtperslid_omschrijving = 'onbekend';
|
|
|
|
-- De rollen die in kenmerk3 zijn gezet splitsen we uit, aanname is dat iemand max. 5 rollen heeft
|
|
-- We vullen de kenmerken 10 tm 14 met de rollen
|
|
UPDATE fac_imp_perslid p
|
|
SET p.PRS_KENMERK10 =
|
|
DECODE (NULLIF (INSTR (p.PRS_KENMERK3,
|
|
',',
|
|
1,
|
|
1),
|
|
0),
|
|
NULL, p.prs_kenmerk3,
|
|
SUBSTR (prs_kenmerk3,
|
|
1,
|
|
(INSTR (p.PRS_KENMERK3,
|
|
',',
|
|
1,
|
|
1))
|
|
- 1)),
|
|
p.PRS_KENMERK11 =
|
|
CASE
|
|
WHEN NULLIF (INSTR (p.PRS_KENMERK3,
|
|
',',
|
|
1,
|
|
1),
|
|
0)
|
|
IS NOT NULL
|
|
THEN
|
|
DECODE (
|
|
NULLIF (INSTR (p.PRS_KENMERK3,
|
|
',',
|
|
1,
|
|
2),
|
|
0),
|
|
NULL, SUBSTR (prs_kenmerk3,
|
|
INSTR (p.PRS_KENMERK3, ',', 2) + 1),
|
|
SUBSTR (prs_kenmerk3,
|
|
( INSTR (p.PRS_KENMERK3,
|
|
',',
|
|
1,
|
|
1)
|
|
+ 1),
|
|
( INSTR (p.PRS_KENMERK3,
|
|
',',
|
|
1,
|
|
2)
|
|
- INSTR (p.PRS_KENMERK3,
|
|
',',
|
|
1,
|
|
1)
|
|
- 1)))
|
|
END,
|
|
p.PRS_KENMERK12 =
|
|
CASE
|
|
WHEN NULLIF (INSTR (p.PRS_KENMERK3,
|
|
',',
|
|
1,
|
|
2),
|
|
0)
|
|
IS NOT NULL
|
|
THEN
|
|
DECODE (NULLIF (INSTR (p.PRS_KENMERK3,
|
|
',',
|
|
1,
|
|
3),
|
|
0),
|
|
NULL, SUBSTR (prs_kenmerk3,
|
|
INSTR (p.PRS_KENMERK3,
|
|
',',
|
|
1,
|
|
2)
|
|
+ 1),
|
|
SUBSTR (prs_kenmerk3,
|
|
( INSTR (p.PRS_KENMERK3,
|
|
',',
|
|
1,
|
|
2)
|
|
+ 1),
|
|
( INSTR (p.PRS_KENMERK3,
|
|
',',
|
|
1,
|
|
3)
|
|
- INSTR (p.PRS_KENMERK3,
|
|
',',
|
|
1,
|
|
2)
|
|
- 1)))
|
|
END,
|
|
p.PRS_KENMERK13 =
|
|
CASE
|
|
WHEN NULLIF (INSTR (p.PRS_KENMERK3,
|
|
',',
|
|
1,
|
|
3),
|
|
0)
|
|
IS NOT NULL
|
|
THEN
|
|
DECODE (NULLIF (INSTR (p.PRS_KENMERK3,
|
|
',',
|
|
1,
|
|
4),
|
|
0),
|
|
NULL, SUBSTR (prs_kenmerk3,
|
|
INSTR (p.PRS_KENMERK3,
|
|
',',
|
|
1,
|
|
3)
|
|
+ 1),
|
|
SUBSTR (prs_kenmerk3,
|
|
( INSTR (p.PRS_KENMERK3,
|
|
',',
|
|
1,
|
|
3)
|
|
+ 1),
|
|
( INSTR (p.PRS_KENMERK3,
|
|
',',
|
|
1,
|
|
4)
|
|
- INSTR (p.PRS_KENMERK3,
|
|
',',
|
|
1,
|
|
3)
|
|
- 1)))
|
|
END,
|
|
p.PRS_KENMERK14 =
|
|
CASE
|
|
WHEN NULLIF (INSTR (p.PRS_KENMERK3,
|
|
',',
|
|
1,
|
|
4),
|
|
0)
|
|
IS NOT NULL
|
|
THEN
|
|
DECODE (NULLIF (INSTR (p.PRS_KENMERK3,
|
|
',',
|
|
1,
|
|
5),
|
|
0),
|
|
NULL, SUBSTR (prs_kenmerk3,
|
|
INSTR (p.PRS_KENMERK3,
|
|
',',
|
|
1,
|
|
4)
|
|
+ 1),
|
|
SUBSTR (prs_kenmerk3,
|
|
( INSTR (p.PRS_KENMERK3,
|
|
',',
|
|
1,
|
|
4)
|
|
+ 1),
|
|
( INSTR (p.PRS_KENMERK3,
|
|
',',
|
|
1,
|
|
5)
|
|
- INSTR (p.PRS_KENMERK3,
|
|
',',
|
|
1,
|
|
4)
|
|
- 1)))
|
|
END;
|
|
|
|
COMMIT;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
|
v_errormsg := 'Error ' || oracle_err_num || '/' || oracle_err_mes;
|
|
fac.imp_writelog (p_import_key,
|
|
'E',
|
|
v_errormsg,
|
|
v_errorhint);
|
|
END volk_import_perslid;
|
|
/
|
|
|
|
CREATE OR REPLACE PROCEDURE volk_update_autorisaties (p_import_key IN NUMBER)
|
|
AS
|
|
-- Gebruikers met rechten anders dan de bijzondere groepen die met _ gemarkeerd zijn
|
|
-- Maar die in de import niet meer die rechten mee krijgen
|
|
-- Dan moeten die rechten weer verwijderd worden
|
|
CURSOR c_perslid_autorisatie_verw IS
|
|
SELECT oud.*
|
|
FROM (SELECT gg.fac_groep_key,
|
|
fac_groep_omschrijving,
|
|
p.prs_perslid_key,
|
|
pf.prs_perslid_naam_full
|
|
FROM fac_gebruikersgroep gg,
|
|
fac_groep g,
|
|
prs_perslid p,
|
|
prs_v_perslid_fullnames_all pf
|
|
WHERE gg.fac_groep_key = g.fac_groep_key
|
|
AND gg.prs_perslid_key = p.prs_perslid_key
|
|
AND p.prs_perslid_key = pf.prs_perslid_key
|
|
AND UPPER (g.fac_groep_omschrijving) <> '_DEFAULT'
|
|
AND p.prs_perslid_oslogin NOT LIKE '%\_%' ESCAPE '\')
|
|
oud
|
|
LEFT OUTER JOIN
|
|
(SELECT groep.*
|
|
FROM (SELECT i.prs_perslid_key,
|
|
groep1.fac_groep_key,
|
|
groep1.fac_groep_omschrijving
|
|
FROM fac_imp_perslid i,
|
|
(SELECT *
|
|
FROM fac_groep g) groep1
|
|
WHERE UPPER (i.PRS_KENMERK10) =
|
|
groep1.fac_groep_upper(+)
|
|
UNION ALL
|
|
SELECT i.prs_perslid_key,
|
|
groep2.fac_groep_key,
|
|
groep2.fac_groep_omschrijving
|
|
FROM fac_imp_perslid i,
|
|
(SELECT *
|
|
FROM fac_groep g) groep2
|
|
WHERE UPPER (i.PRS_KENMERK11) =
|
|
groep2.fac_groep_upper(+)
|
|
UNION ALL
|
|
SELECT i.prs_perslid_key,
|
|
groep3.fac_groep_key,
|
|
groep3.fac_groep_omschrijving
|
|
FROM fac_imp_perslid i,
|
|
(SELECT *
|
|
FROM fac_groep g) groep3
|
|
WHERE UPPER (i.PRS_KENMERK12) =
|
|
groep3.fac_groep_upper(+)
|
|
UNION ALL
|
|
SELECT i.prs_perslid_key,
|
|
groep4.fac_groep_key,
|
|
groep4.fac_groep_omschrijving
|
|
FROM fac_imp_perslid i,
|
|
(SELECT *
|
|
FROM fac_groep g) groep4
|
|
WHERE UPPER (i.PRS_KENMERK13) =
|
|
groep4.fac_groep_upper(+)
|
|
UNION ALL
|
|
SELECT i.prs_perslid_key,
|
|
groep5.fac_groep_key,
|
|
groep5.fac_groep_omschrijving
|
|
FROM fac_imp_perslid i,
|
|
(SELECT *
|
|
FROM fac_groep g) groep5
|
|
WHERE UPPER (i.PRS_KENMERK14) =
|
|
groep5.fac_groep_upper(+)) groep
|
|
WHERE groep.prs_perslid_key IS NOT NULL
|
|
AND groep.fac_groep_key IS NOT NULL
|
|
AND UPPER (groep.fac_groep_omschrijving) <> '_DEFAULT')
|
|
nieuw
|
|
ON oud.prs_perslid_key = nieuw.prs_perslid_key
|
|
AND oud.fac_groep_key = nieuw.fac_groep_key
|
|
WHERE nieuw.fac_groep_key IS NULL;
|
|
|
|
CURSOR c_persid_autorisatiegroep IS
|
|
SELECT prs.prs_perslid_naam_full, groep.*
|
|
FROM (SELECT i.prs_perslid_key,
|
|
groep1.fac_groep_key,
|
|
groep1.fac_groep_omschrijving
|
|
FROM fac_imp_perslid i,
|
|
(SELECT *
|
|
FROM fac_groep g) groep1
|
|
WHERE UPPER (i.PRS_KENMERK10) = groep1.fac_groep_upper(+)
|
|
UNION ALL
|
|
SELECT i.prs_perslid_key,
|
|
groep2.fac_groep_key,
|
|
groep2.fac_groep_omschrijving
|
|
FROM fac_imp_perslid i,
|
|
(SELECT *
|
|
FROM fac_groep g) groep2
|
|
WHERE UPPER (i.PRS_KENMERK11) = groep2.fac_groep_upper(+)
|
|
UNION ALL
|
|
SELECT i.prs_perslid_key,
|
|
groep3.fac_groep_key,
|
|
groep3.fac_groep_omschrijving
|
|
FROM fac_imp_perslid i,
|
|
(SELECT *
|
|
FROM fac_groep g) groep3
|
|
WHERE UPPER (i.PRS_KENMERK12) = groep3.fac_groep_upper(+)
|
|
UNION ALL
|
|
SELECT i.prs_perslid_key,
|
|
groep4.fac_groep_key,
|
|
groep4.fac_groep_omschrijving
|
|
FROM fac_imp_perslid i,
|
|
(SELECT *
|
|
FROM fac_groep g) groep4
|
|
WHERE UPPER (i.PRS_KENMERK13) = groep4.fac_groep_upper(+)
|
|
UNION ALL
|
|
SELECT i.prs_perslid_key,
|
|
groep5.fac_groep_key,
|
|
groep5.fac_groep_omschrijving
|
|
FROM fac_imp_perslid i,
|
|
(SELECT *
|
|
FROM fac_groep g) groep5
|
|
WHERE UPPER (i.PRS_KENMERK14) = groep5.fac_groep_upper(+))
|
|
groep,
|
|
PRS_V_PERSLID_FULLNAMES_ALL prs
|
|
WHERE prs.prs_perslid_key = groep.prs_perslid_key
|
|
AND groep.prs_perslid_key IS NOT NULL
|
|
AND groep.fac_groep_key IS NOT NULL
|
|
AND UPPER (groep.fac_groep_omschrijving) <> '_DEFAULT'
|
|
AND NOT EXISTS
|
|
(SELECT fac_gebruikersgroep_key
|
|
FROM fac_gebruikersgroep gg
|
|
WHERE gg.prs_perslid_key = groep.prs_perslid_key
|
|
AND fac_groep_key = groep.fac_groep_key);
|
|
BEGIN
|
|
FOR rc IN c_perslid_autorisatie_verw
|
|
LOOP
|
|
BEGIN
|
|
DELETE fac_gebruikersgroep gg
|
|
WHERE gg.fac_groep_key = rc.fac_groep_key
|
|
AND gg.prs_perslid_key = rc.prs_perslid_key;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
fac.imp_writelog (
|
|
p_import_key,
|
|
'W',
|
|
'Post update autorisaties bij persoon: '
|
|
|| rc.fac_groep_omschrijving
|
|
|| ' is NIET verwijderd,',
|
|
'Naam:' || rc.prs_perslid_naam_full);
|
|
END;
|
|
|
|
COMMIT;
|
|
END LOOP;
|
|
|
|
FOR rc IN c_persid_autorisatiegroep
|
|
LOOP
|
|
BEGIN
|
|
INSERT INTO fac_gebruikersgroep (prs_perslid_key, fac_groep_key)
|
|
VALUES (rc.prs_perslid_key, rc.fac_groep_key);
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
fac.imp_writelog (
|
|
p_import_key,
|
|
'W',
|
|
'Post update autorisaties bij persoon'
|
|
|| rc.prs_perslid_key
|
|
|| ' is NIET volledig uitgevoerd',
|
|
'Naam:' || rc.prs_perslid_naam_full);
|
|
END;
|
|
|
|
COMMIT;
|
|
END LOOP;
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE PROCEDURE volk_update_perslid (p_import_key IN NUMBER)
|
|
IS
|
|
v_ruimte_key NUMBER;
|
|
v_virtual NUMBER;
|
|
v_alg_type VARCHAR2 (20);
|
|
v_count NUMBER;
|
|
|
|
CURSOR c_perslid IS
|
|
SELECT *
|
|
FROM fac_imp_perslid
|
|
WHERE prs_perslid_key IS NOT NULL;
|
|
|
|
-- Alle medewerkers van de Volksbank verwijderen die niet meer in import bestand voorkomen.
|
|
CURSOR c_del IS
|
|
SELECT p.prs_perslid_key,
|
|
p.prs_perslid_oslogin,
|
|
pf.prs_perslid_naam_full
|
|
FROM prs_perslid p, prs_v_perslid_fullnames_all pf
|
|
WHERE pf.prs_perslid_key = p.prs_perslid_key
|
|
AND p.prs_perslid_oslogin IS NOT NULL
|
|
AND p.prs_perslid_verwijder IS NULL
|
|
AND p.prs_perslid_oslogin NOT LIKE '%\_%' ESCAPE '\'
|
|
AND NOT EXISTS
|
|
(SELECT *
|
|
FROM fac_imp_perslid i
|
|
WHERE UPPER (i.prs_perslid_oslogin) =
|
|
UPPER (p.prs_perslid_oslogin));
|
|
BEGIN
|
|
-- generic update
|
|
SELECT COUNT (*) INTO v_count FROM fac_imp_perslid;
|
|
|
|
IF v_count < 1000
|
|
THEN
|
|
fac.imp_writelog (
|
|
p_import_key,
|
|
'E',
|
|
'Het aantal te importeren personen is te klein ('
|
|
|| TO_CHAR (v_count)
|
|
|| ')',
|
|
'Zie Specificatie');
|
|
RETURN;
|
|
END IF;
|
|
|
|
-- 'LOGIN' betekent dat op basis van Login wordt gematched.
|
|
prs.update_perslid (p_import_key, 'LOGIN', NULL);
|
|
|
|
volk_update_autorisaties (p_import_key);
|
|
|
|
COMMIT;
|
|
|
|
-- Verwijder personen die niet meer in de import voorkomen.
|
|
FOR rec IN c_del
|
|
LOOP
|
|
BEGIN
|
|
prs.delete_perslid (p_import_key, rec.prs_perslid_key);
|
|
END;
|
|
END LOOP;
|
|
|
|
COMMIT;
|
|
|
|
-- er is een virtuele default werkplek waar alle medewerkers opgezet moeten worden
|
|
-- dit ivm een autorisatiescope op locaties
|
|
SELECT alg_ruimte_key
|
|
INTO v_ruimte_key
|
|
FROM ALG_RUIMTE
|
|
WHERE UPPER (alg_ruimte_omschrijving) LIKE 'VIRTUELE WERKPLEK%';
|
|
|
|
v_virtual := 1;
|
|
v_alg_type := '';
|
|
|
|
FOR rec IN c_persLid
|
|
LOOP
|
|
BEGIN
|
|
prs.movetoruimte (rec.prs_perslid_key,
|
|
v_ruimte_key,
|
|
v_alg_type,
|
|
v_virtual);
|
|
END;
|
|
END LOOP;
|
|
END volk_update_perslid;
|
|
/
|
|
|
|
CREATE OR REPLACE VIEW VOLK_V_RAPP_MLD_WINKELS
|
|
(
|
|
DATUM,
|
|
HTML_AANVRAAG_NR,
|
|
MELDINGNR,
|
|
LOCATIE,
|
|
GEBOUW,
|
|
MELDER,
|
|
MELDING,
|
|
STATUS,
|
|
ONDERWERP,
|
|
OMSCHRIJVING
|
|
)
|
|
AS
|
|
SELECT melding_datum,
|
|
'<a class="details" onclick=''FcltMgr.openDetail("'
|
|
|| 'appl/mld/mld_melding.asp?urole=fe&'
|
|
|| 'mld_key='
|
|
|| MELDING_KEY
|
|
|| '")''>'
|
|
|| HTF.escape_sc (meldingnummer)
|
|
|| '</a>' meldingnummer,
|
|
melding_key,
|
|
melding_locatie,
|
|
melding_gebouw,
|
|
melder,
|
|
subproductgroep,
|
|
melding_status,
|
|
onderwerp,
|
|
vomschrijving
|
|
FROM MLD_V_UDR_MELDING m
|
|
WHERE UPPER (soortmelding) LIKE '%WINKEL%';
|
|
|
|
-- View met bezoekers met een parkeerplek die al dan niet een een firmbase key hebben
|
|
-- Op basis hiervan kan bepaald worden of een insert,update of delete nodig is
|
|
|
|
CREATE OR REPLACE VIEW VOLK_V_EXPORT_FIRMBASE
|
|
(
|
|
bez_bezoeker_key,
|
|
bez_afspraak_key,
|
|
bez_startdatum,
|
|
bez_einddatum,
|
|
firmbase_key,
|
|
kenteken,
|
|
visitor_profile
|
|
)
|
|
AS
|
|
SELECT b.bez_bezoekers_key,
|
|
a.bez_afspraak_key,
|
|
a.bez_afspraak_datum,
|
|
a.bez_afspraak_eind,
|
|
firmb.bez_kenmerkwaarde_waarde AS firmbase_key, --- KOMT ER EEN KEY TERUG OF KAN IK HIER RESPONS CODE IN TERUGZETTEN?
|
|
kenteken.bez_kenmerkwaarde_waarde AS kenteken,
|
|
''
|
|
FROM bez_afspraak a,
|
|
bez_bezoekers b,
|
|
(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
|
|
AND d.ins_srtdeel_key = o.ins_srtdeel_key
|
|
AND ins_srtdeel_upper LIKE 'PARKEERPLAATS%') 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_KEY') firmb,
|
|
(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 = 'KENTEKEN') kenteken
|
|
WHERE b.bez_afspraak_key = a.bez_afspraak_key
|
|
AND b.bez_bezoekers_key = park.bez_bezoekers_key
|
|
AND firmb.bez_bezoekers_key(+) = b.bez_bezoekers_key
|
|
AND kenteken.bez_bezoekers_key(+) = b.bez_bezoekers_key
|
|
AND a.bez_afspraak_datum < TRUNC (SYSDATE) + 2
|
|
AND a.bez_afspraak_datum > SYSDATE;
|
|
|
|
|
|
CREATE OR REPLACE VIEW VOLK_V_RAPP_TRACKING_UITLEEN
|
|
(
|
|
ins_deel_key,
|
|
object_omschrijving,
|
|
datum,
|
|
datum_tijd,
|
|
tracking,
|
|
omschrijving,
|
|
door
|
|
)
|
|
AS
|
|
SELECT d.ins_deel_key,
|
|
d.ins_deel_omschrijving,
|
|
TRUNC (t.fac_tracking_datum) periode,
|
|
t.fac_tracking_datum,
|
|
DECODE (t.fac_srtnotificatie_key,
|
|
124, 'Uitgegeven',
|
|
125, 'Ingenomen') tracking,
|
|
t.fac_tracking_oms,
|
|
p.prs_perslid_naam_full
|
|
FROM fac_tracking t, ins_deel d, prs_v_perslid_fullnames_all p
|
|
WHERE fac_tracking_refkey = d.ins_deel_key
|
|
AND t.prs_perslid_key = p.prs_perslid_key
|
|
AND d.ins_srtdeel_key IN (24, 22) -- passen en sleutels
|
|
AND fac_srtnotificatie_key IN (124, 125) -- uitgifte (insout) en inname (insinn)
|
|
ORDER BY ins_deel_key, fac_tracking_datum;
|
|
|
|
|
|
CREATE OR REPLACE VIEW VOLK_V_NOTI_BEZOEKERS
|
|
(
|
|
SRTNOTIFICATIE,
|
|
SRTNOTIFICATIE_KEY,
|
|
TEXT,
|
|
AFSPRAAK_KEY,
|
|
MAIL_TO,
|
|
CONTACT,
|
|
BEZOEK_VAN,
|
|
BEZOEK_TOT,
|
|
LOCATIE
|
|
)
|
|
AS
|
|
SELECT DISTINCT
|
|
sn.fac_srtnotificatie_code,
|
|
sn.fac_srtnotificatie_key,
|
|
DECODE (
|
|
sn.fac_srtnotificatie_key,
|
|
30, 'Nieuwe bezoekersregistratie, registratienummer: '
|
|
|| b.afspraak_key,
|
|
31, 'Wijziging in bezoekersregistratie ' || b.afspraak_key)
|
|
TEXT,
|
|
b.afspraak_key,
|
|
fac_usrdata_omschr,
|
|
b.contact,
|
|
b.bezoek_van,
|
|
b.bezoek_tot,
|
|
l.alg_locatie_code
|
|
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
|
|
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 = 101 --- 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;
|
|
/
|
|
|
|
CREATE OR REPLACE VIEW VOLK_V_RAPP_BEDRIJF_DIENST
|
|
(
|
|
bedrijf_naam,
|
|
prs_bedrijf_key,
|
|
dienst,
|
|
locatie
|
|
)
|
|
AS
|
|
SELECT b.prs_bedrijf_naam, scope.*
|
|
FROM prs_bedrijf b,
|
|
(SELECT bdl.prs_bedrijf_key,
|
|
d.prs_dienst_omschrijving,
|
|
NVL ( NVL (l.alg_locatie_omschrijving,
|
|
g.ALG_GEBOUW_OMSCHRIJVING), 'Alle locaties') locatie
|
|
FROM prs_bedrijfdienstlocatie bdl,
|
|
prs_dienst d,
|
|
alg_locatie l,
|
|
alg_gebouw g
|
|
WHERE bdl.prs_dienst_key = d.prs_dienst_key(+)
|
|
AND bdl.alg_gebouw_key = g.alg_gebouw_key(+)
|
|
AND bdl.alg_locatie_key = l.alg_locatie_key(+)) scope
|
|
WHERE b.prs_bedrijf_key = scope.prs_bedrijf_key;
|
|
|
|
------ payload end ------
|
|
|
|
SET DEFINE OFF
|
|
|
|
BEGIN
|
|
adm.systrackscriptId (
|
|
'$Id$',
|
|
0);
|
|
END;
|
|
/
|
|
|
|
COMMIT;
|
|
SET ECHO OFF
|
|
SPOOL OFF
|
|
SET DEFINE ON
|
|
PROMPT Logfile of this upgrade is: &fcltlogfile |