FSN#41632 usertelling rapportage gelijk trekken met 20171

svn path=/Customer/trunk/; revision=35281
This commit is contained in:
Ruud Lipper
2017-09-12 13:53:46 +00:00
parent 2736d9fd2f
commit a6a0d67295

View File

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