FSN#41632 usertelling rapportage gelijk trekken met 20171
svn path=/Customer/trunk/; revision=35281
This commit is contained in:
192
GDZW/gdzw.sql
192
GDZW/gdzw.sql
@@ -1,12 +1,21 @@
|
||||
-- Script containing customer specific configuration sql statements for GDZW
|
||||
-- (c) 2011 SG|facilitor bv
|
||||
-- $Revision$
|
||||
--
|
||||
-- $Id$
|
||||
--
|
||||
-- Support: +31 53 4800700
|
||||
-- Script containing customer specific configuration sql statements for GDZW
|
||||
|
||||
SET ECHO ON;
|
||||
SPOOL xgdzw.lst
|
||||
DEFINE thisfile = 'GDZW.SQL'
|
||||
DEFINE dbuser = '^GDZW'
|
||||
|
||||
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 VIEW gdzw_v_import_log
|
||||
AS
|
||||
@@ -1512,100 +1521,87 @@ CREATE OR REPLACE VIEW gdzw_v_rap_keyvsfe
|
||||
laatste_login
|
||||
)
|
||||
AS
|
||||
SELECT DECODE (key_user, 1, 'KEY', 'FE'),
|
||||
pf.prs_perslid_naam_full,
|
||||
oslogin,
|
||||
prs_perslid_login
|
||||
FROM (SELECT *
|
||||
FROM (SELECT p.prs_perslid_key prs_key,
|
||||
COALESCE (p.prs_perslid_oslogin,
|
||||
p.prs_perslid_oslogin2)
|
||||
oslogin,
|
||||
1 login,
|
||||
-- 1=user heeft login + groep + rechten
|
||||
DECODE (
|
||||
SIGN(TRUNC(COALESCE (
|
||||
p.prs_perslid_login
|
||||
+ 92,
|
||||
SYSDATE - 1
|
||||
))
|
||||
- TRUNC (SYSDATE)),
|
||||
-1,
|
||||
0,
|
||||
1
|
||||
) -- 1=user heeft laatste 92 dagen ingelogd
|
||||
recent_login
|
||||
FROM prs_v_aanwezigperslid p
|
||||
WHERE EXISTS
|
||||
-- op basis van login + groep + rechten
|
||||
(SELECT 1
|
||||
FROM fac_v_rap_groeprechten
|
||||
WHERE fclt_f_login =
|
||||
COALESCE (
|
||||
p.prs_perslid_oslogin,
|
||||
p.prs_perslid_oslogin2
|
||||
))
|
||||
UNION ALL
|
||||
-- FSN#24029: Soms ook personen zonder login meetellen!
|
||||
SELECT p.prs_perslid_key,
|
||||
NULL oslogin,
|
||||
1 login,
|
||||
-- 1=user telt mee, want allow_for_others!
|
||||
0 recent_login
|
||||
-- geen login, dus nooit recent ingelogd
|
||||
FROM prs_v_aanwezigperslid p
|
||||
WHERE COALESCE (p.prs_perslid_oslogin,
|
||||
p.prs_perslid_oslogin2) IS NULL
|
||||
AND (fac.getSetting (
|
||||
'mld_allow_for_others'
|
||||
) = 1
|
||||
OR EXISTS
|
||||
(SELECT 1
|
||||
FROM bes_disc_params dp
|
||||
WHERE dp.bes_disc_params_for_others =
|
||||
1))
|
||||
UNION ALL
|
||||
-- FSN#27315: En ook eventuele "sensorusers" meetellen!
|
||||
SELECT NULL prs_perslid_key,
|
||||
NULL oslogin,
|
||||
COUNT ( * ) login,
|
||||
-- elke sensoruser telt mee als FE!
|
||||
1 recent_login
|
||||
-- recent actief dus tellen als recent
|
||||
FROM ins_v_aanwezigdeel d
|
||||
WHERE ins_deel_statedate >
|
||||
TRUNC (SYSDATE - 30)) x
|
||||
LEFT JOIN
|
||||
-- 1=user heeft rechten op key-codes=notFE-codes
|
||||
(SELECT DISTINCT fclt_f_login, 1 key_user
|
||||
FROM fac_v_rap_groeprechten gr,
|
||||
fac_functie f
|
||||
WHERE gr.fclt_f_funcode = f.fac_functie_code
|
||||
AND f.fac_functie_groep IN (1, 2)) a
|
||||
ON x.oslogin = a.fclt_f_login
|
||||
LEFT JOIN -- FSN#30404: 1=user is cross-domain (xd) user
|
||||
(SELECT p.prs_perslid_key, 1 xd_user
|
||||
FROM prs_v_aanwezigperslid p,
|
||||
prs_v_afdeling_boom ab
|
||||
WHERE p.prs_afdeling_key = ab.prs_afdeling_key
|
||||
AND p.prs_perslid_apikey IS NOT NULL
|
||||
AND ab.prs_bedrijf_key =
|
||||
fac.safe_to_number(fac.getSetting('xd_primary_bedrijfkey')))
|
||||
b
|
||||
ON x.prs_key = b.prs_perslid_key) st,
|
||||
prs_perslid p,
|
||||
prs_v_perslid_fullnames pf
|
||||
WHERE login = 1
|
||||
AND UPPER (oslogin) != '_FACILITOR'
|
||||
AND p.prs_perslid_key = st.prs_key
|
||||
AND pf.prs_perslid_key = p.prs_perslid_key;
|
||||
SELECT DECODE (key_user, 1, 'KEY', 'FE'),
|
||||
pf.prs_perslid_naam_full,
|
||||
oslogin,
|
||||
prs_perslid_login
|
||||
FROM (SELECT *
|
||||
FROM (SELECT p.prs_perslid_key prs_key,
|
||||
COALESCE (p.prs_perslid_oslogin,
|
||||
p.prs_perslid_oslogin2)
|
||||
oslogin,
|
||||
1 login, -- 1=user heeft login + groep + rechten
|
||||
DECODE (
|
||||
SIGN(TRUNC(COALESCE (p.prs_perslid_login + 92,
|
||||
SYSDATE - 1))
|
||||
- TRUNC (SYSDATE)),
|
||||
-1,
|
||||
0,
|
||||
1) -- 1=user heeft laatste 92 dagen ingelogd
|
||||
recent_login
|
||||
FROM prs_v_aanwezigperslid p
|
||||
WHERE EXISTS -- op basis van login + groep + rechten
|
||||
(SELECT 1
|
||||
FROM fac_v_webgebruiker gg
|
||||
WHERE gg.prs_perslid_key = p.prs_perslid_key)
|
||||
AND NOT EXISTS -- FSN#36597: WEB_FACFAC-users niet meetellen!
|
||||
(SELECT 1
|
||||
FROM fac_v_webgebruiker gg, fac_functie f
|
||||
WHERE gg.prs_perslid_key =
|
||||
p.prs_perslid_key
|
||||
AND gg.fac_functie_key =
|
||||
f.fac_functie_key
|
||||
AND fac_functie_code = 'WEB_FACFAC')
|
||||
UNION ALL -- FSN#24029: Soms ook personen zonder login meetellen!
|
||||
SELECT p.prs_perslid_key,
|
||||
NULL oslogin,
|
||||
1 login, -- 1=user telt mee, want allow_for_others!
|
||||
0 recent_login -- geen login, dus nooit recent ingelogd
|
||||
FROM prs_v_aanwezigperslid p
|
||||
WHERE COALESCE (p.prs_perslid_oslogin,
|
||||
p.prs_perslid_oslogin2) IS NULL
|
||||
AND (fac.getSetting ('mld_allow_for_others') = 1
|
||||
OR EXISTS
|
||||
(SELECT 1
|
||||
FROM bes_disc_params dp
|
||||
WHERE dp.bes_disc_params_for_others = 1))
|
||||
UNION ALL -- FSN#27315: En ook eventuele "sensorusers" meetellen!
|
||||
SELECT NULL prs_perslid_key,
|
||||
NULL oslogin,
|
||||
COUNT ( * ) login, -- elke sensoruser telt mee als FE!
|
||||
1 recent_login -- recent actief dus tellen als recent
|
||||
FROM ins_v_aanwezigdeel d
|
||||
WHERE ins_deel_statedate > TRUNC (SYSDATE - 30)) x
|
||||
LEFT JOIN -- 1=user heeft rechten op key-codes=notFE-codes
|
||||
(SELECT DISTINCT fclt_f_login, 1 key_user
|
||||
FROM fac_v_rap_groeprechten gr, fac_functie f
|
||||
WHERE gr.fclt_f_funcode = f.fac_functie_code
|
||||
AND f.fac_functie_groep IN (1, 2)) a
|
||||
ON x.oslogin = a.fclt_f_login
|
||||
LEFT JOIN -- FSN#30404: 1=user is cross-domain (xd) user
|
||||
(SELECT p.prs_perslid_key, 1 xd_user
|
||||
FROM prs_v_aanwezigperslid p,
|
||||
prs_v_afdeling_boom ab
|
||||
WHERE p.prs_afdeling_key = ab.prs_afdeling_key
|
||||
AND p.prs_perslid_apikey IS NOT NULL
|
||||
AND ab.prs_bedrijf_key =
|
||||
fac.safe_to_number(fac.getSetting('xd_primary_bedrijfkey')))
|
||||
b
|
||||
ON x.prs_key = b.prs_perslid_key) st,
|
||||
prs_perslid p,
|
||||
prs_v_perslid_fullnames pf
|
||||
WHERE login = 1
|
||||
AND p.prs_perslid_key = st.prs_key
|
||||
AND pf.prs_perslid_key = p.prs_perslid_key;
|
||||
|
||||
------ payload end ------
|
||||
|
||||
BEGIN adm.systrackscriptId('$Id$', 0); END;
|
||||
/
|
||||
BEGIN fac.registercustversion ('GDZW', 6); END;
|
||||
SET DEFINE OFF
|
||||
BEGIN adm.systrackscriptId ('$Id$', 0); END;
|
||||
/
|
||||
|
||||
COMMIT;
|
||||
|
||||
spool off
|
||||
SET ECHO OFF
|
||||
SPOOL OFF
|
||||
SET DEFINE ON
|
||||
PROMPT Logfile of this upgrade is: &fcltlogfile
|
||||
Reference in New Issue
Block a user