From a6a0d67295136f2206bf087b4a7d1882e022c910 Mon Sep 17 00:00:00 2001 From: Ruud Lipper Date: Tue, 12 Sep 2017 13:53:46 +0000 Subject: [PATCH] FSN#41632 usertelling rapportage gelijk trekken met 20171 svn path=/Customer/trunk/; revision=35281 --- GDZW/gdzw.sql | 192 ++++++++++++++++++++++++-------------------------- 1 file changed, 94 insertions(+), 98 deletions(-) diff --git a/GDZW/gdzw.sql b/GDZW/gdzw.sql index 004a084ef..f597e8e71 100644 --- a/GDZW/gdzw.sql +++ b/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 \ No newline at end of file +SET ECHO OFF +SPOOL OFF +SET DEFINE ON +PROMPT Logfile of this upgrade is: &fcltlogfile \ No newline at end of file