FCLT#59548 Scope level in autorisatierapporten beter leesbaar
svn path=/Database/trunk/; revision=55307
This commit is contained in:
@@ -61,6 +61,7 @@ CREATE OR REPLACE PACKAGE fac
|
||||
FUNCTION safe_To_Date ( pchar IN VARCHAR2, pfmt IN VARCHAR2 ) RETURN DATE;
|
||||
FUNCTION getweekdaynum (d IN DATE) RETURN NUMBER;
|
||||
FUNCTION getdomeinwaarde (dkey IN NUMBER, waarde IN VARCHAR2, ignorewhenxmlnode IN NUMBER DEFAULT 0) RETURN VARCHAR2;
|
||||
FUNCTION getscopeleveltext (plevel IN NUMBER, ptype IN VARCHAR) RETURN VARCHAR;
|
||||
FUNCTION count_Work_Days ( pdate1 IN DATE , pdate2 IN DATE ) RETURN NUMBER;
|
||||
FUNCTION count_Work_Days_InclTime ( pdate1 IN DATE , pdate2 IN DATE ) RETURN NUMBER;
|
||||
FUNCTION iswerkdag (begindatum IN DATE) RETURN NUMBER;
|
||||
@@ -331,6 +332,67 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
RETURN MOD (TO_CHAR (d, 'J') + 1, 7) + 1;
|
||||
END;
|
||||
|
||||
-- Vertaalt het autorisatielevel (-1..9) voor het type ('ALG', 'PRS') naar een tekst
|
||||
FUNCTION getscopeleveltext (plevel IN NUMBER, ptype IN VARCHAR) RETURN VARCHAR
|
||||
IS
|
||||
BEGIN
|
||||
IF plevel = -1
|
||||
THEN
|
||||
RETURN lcl.l ('lcl_all');
|
||||
ELSIF plevel = 9
|
||||
THEN
|
||||
RETURN lcl.l ('fac_functie_auth_none');
|
||||
ELSIF ptype = 'ALG'
|
||||
THEN
|
||||
IF plevel = 0
|
||||
THEN
|
||||
RETURN lcl.l ('lcl_region');
|
||||
ELSIF plevel = 1
|
||||
THEN
|
||||
RETURN lcl.l ('lcl_district');
|
||||
ELSIF plevel = 2
|
||||
THEN
|
||||
RETURN lcl.l ('lcl_location');
|
||||
ELSIF plevel = 3
|
||||
THEN
|
||||
RETURN lcl.l ('lcl_building');
|
||||
ELSIF plevel = 4
|
||||
THEN
|
||||
RETURN lcl.l ('lcl_floor');
|
||||
ELSIF plevel = 5
|
||||
THEN
|
||||
RETURN lcl.l ('lcl_room');
|
||||
ELSE
|
||||
RETURN TO_CHAR (plevel);
|
||||
END IF;
|
||||
ELSIF ptype = 'PRS'
|
||||
THEN
|
||||
IF plevel = 0
|
||||
THEN
|
||||
RETURN lcl.l ('lcl_company');
|
||||
ELSIF plevel = 1
|
||||
THEN
|
||||
RETURN lcl.l ('lcl_dep_name_level1');
|
||||
ELSIF plevel = 2
|
||||
THEN
|
||||
RETURN lcl.l ('lcl_dep_name_level2');
|
||||
ELSIF plevel = 3
|
||||
THEN
|
||||
RETURN lcl.l ('lcl_dep_name_level3');
|
||||
ELSIF plevel = 4
|
||||
THEN
|
||||
RETURN lcl.l ('lcl_dep_name_level4');
|
||||
ELSIF plevel = 5
|
||||
THEN
|
||||
RETURN lcl.l ('lcl_dep_name_level5');
|
||||
ELSE
|
||||
RETURN TO_CHAR (plevel);
|
||||
END IF;
|
||||
ELSE
|
||||
RETURN TO_CHAR (plevel);
|
||||
END IF;
|
||||
END;
|
||||
|
||||
/*
|
||||
* Deprecated. Gebruik de flx versie.
|
||||
*/
|
||||
|
||||
102
FAC/FAC_VIE.SRC
102
FAC/FAC_VIE.SRC
@@ -29,30 +29,43 @@ CREATE_VIEW(fac_v_rap_groeprechten, 0)
|
||||
fclt_f_login,
|
||||
email,
|
||||
last_login,
|
||||
fclt_f_module,
|
||||
fclt_f_funcode,
|
||||
fclt_f_functie,
|
||||
fclt_f_aspect,
|
||||
fclt_f_groep,
|
||||
or_ow_ar_aw
|
||||
orglevelread,
|
||||
orglevelwrite,
|
||||
alglevelread,
|
||||
alglevelwrite
|
||||
)
|
||||
AS
|
||||
SELECT -- GROEPEN MET DISCIPLINES
|
||||
p.prs_perslid_naam, p.prs_perslid_oslogin, prs_perslid_email, prs_perslid_login,
|
||||
f.fac_functie_module,
|
||||
f.fac_functie_code,
|
||||
COALESCE(fac_locale_xsl_cust, fac_locale_xsl_tekst, f.fac_functie_omschrijving),
|
||||
(CASE WHEN ins_srtdiscipline_prefix IS NULL THEN '' ELSE ins_srtdiscipline_prefix||'-' END) ||
|
||||
decode(a.ins_discipline_module, 'BES', 'Categorie ',
|
||||
'INS', 'Discipline ',
|
||||
'MLD', 'Vakgroep ',
|
||||
'RES', 'Catalogus ',
|
||||
ins_discipline_module || ' '
|
||||
)
|
||||
|| ins_discipline_omschrijving omschrijving,
|
||||
DECODE (
|
||||
a.ins_discipline_module,
|
||||
'BES', lcl.l ('bes_discipline') || ' ',
|
||||
'CHT', lcl.l ('cht_discipline') || ' ',
|
||||
'CNT', lcl.l ('cnt_discipline') || ' ',
|
||||
'CTR', lcl.l ('ctr_discipline') || ' ',
|
||||
'FAQ', lcl.l ('faq_discipline') || ' ',
|
||||
'INS', lcl.l ('ins_discipline') || ' ',
|
||||
'MLD', lcl.l ('mld_discipline')
|
||||
|| (CASE
|
||||
WHEN ins_srtdiscipline_prefix IS NULL THEN ''
|
||||
ELSE ' ' || ins_srtdiscipline_prefix || '-'
|
||||
END),
|
||||
'RES', lcl.l ('res_discipline') || ' ',
|
||||
ins_discipline_module || ' ')
|
||||
|| ins_discipline_omschrijving omschrijving,
|
||||
gr.fac_groep_omschrijving,
|
||||
'(' || TO_CHAR(g.fac_gebruiker_prs_level_read) || ', '
|
||||
|| TO_CHAR(g.fac_gebruiker_prs_level_write) || ', '
|
||||
|| TO_CHAR(g.fac_gebruiker_alg_level_read) || ', '
|
||||
|| TO_CHAR(g.fac_gebruiker_alg_level_write) || ')' or_ow_ar_aw
|
||||
fac.getscopeleveltext (g.fac_gebruiker_prs_level_read, 'PRS'),
|
||||
fac.getscopeleveltext (g.fac_gebruiker_prs_level_write, 'PRS'),
|
||||
fac.getscopeleveltext (g.fac_gebruiker_alg_level_read, 'ALG'),
|
||||
fac.getscopeleveltext (g.fac_gebruiker_alg_level_write, 'ALG')
|
||||
FROM fac_groeprechten g,
|
||||
fac_gebruikersgroep gg,
|
||||
prs_v_aanwezigperslid p,
|
||||
@@ -74,22 +87,22 @@ AS
|
||||
AND flx.fac_locale_xsl_module (+)= 'ASP'
|
||||
UNION ALL -- GROEPEN ZONDER DISCIPLINES
|
||||
SELECT p.prs_perslid_naam, p.prs_perslid_oslogin, prs_perslid_email, prs_perslid_login,
|
||||
f.fac_functie_module,
|
||||
f.fac_functie_code,
|
||||
COALESCE(fac_locale_xsl_cust, fac_locale_xsl_tekst, f.fac_functie_omschrijving),
|
||||
NULL omschrijving,
|
||||
gr.fac_groep_omschrijving,
|
||||
'(' || TO_CHAR(g.fac_gebruiker_prs_level_read) || ', '
|
||||
|| TO_CHAR(g.fac_gebruiker_prs_level_write) || ', '
|
||||
|| TO_CHAR(g.fac_gebruiker_alg_level_read) || ', '
|
||||
|| TO_CHAR(g.fac_gebruiker_alg_level_write) || ')' or_ow_ar_aw
|
||||
fac.getscopeleveltext (g.fac_gebruiker_prs_level_read, 'PRS'),
|
||||
fac.getscopeleveltext (g.fac_gebruiker_prs_level_write, 'PRS'),
|
||||
fac.getscopeleveltext (g.fac_gebruiker_alg_level_read, 'ALG'),
|
||||
fac.getscopeleveltext (g.fac_gebruiker_alg_level_write, 'ALG')
|
||||
FROM fac_groeprechten g,
|
||||
fac_functie f,
|
||||
fac_gebruikersgroep gg,
|
||||
prs_v_aanwezigperslid p,
|
||||
fac_groep gr,
|
||||
fac_locale_xsl flx -- lcl.l gebruik was extreem traag dus maar hardcoded
|
||||
WHERE fac_functie_module <> 'LAN'
|
||||
AND fac_functie_discipline = 0
|
||||
WHERE fac_functie_discipline = 0
|
||||
AND g.fac_functie_key = f.fac_functie_key
|
||||
AND g.fac_groep_key = gg.fac_groep_key
|
||||
AND gg.fac_groep_key = gr.fac_groep_key
|
||||
@@ -100,28 +113,41 @@ AS
|
||||
|
||||
CREATE_VIEW(fac_v_rap_groeprechten2, 0)
|
||||
(fclt_f_groep,
|
||||
fclt_f_module,
|
||||
fclt_f_funcode,
|
||||
fclt_f_functie,
|
||||
fclt_f_aspect,
|
||||
or_ow_ar_aw
|
||||
orglevelread,
|
||||
orglevelwrite,
|
||||
alglevelread,
|
||||
alglevelwrite
|
||||
)
|
||||
AS
|
||||
SELECT -- GROEPEN MET DISCIPLINES
|
||||
gr.fac_groep_omschrijving,
|
||||
f.fac_functie_module,
|
||||
f.fac_functie_code,
|
||||
COALESCE(fac_locale_xsl_cust, fac_locale_xsl_tekst, f.fac_functie_omschrijving),
|
||||
(CASE WHEN ins_srtdiscipline_prefix IS NULL THEN '' ELSE ins_srtdiscipline_prefix||'-' END) ||
|
||||
DECODE( a.ins_discipline_module , 'BES' , 'Categorie ' ,
|
||||
'INS' , 'Discipline ' ,
|
||||
'MLD' , 'Vakgroep ' ,
|
||||
'RES' , 'Catalogus ' ,
|
||||
ins_discipline_module || ' '
|
||||
)
|
||||
|| ins_discipline_omschrijving omschrijving,
|
||||
'(' || TO_CHAR(g.fac_gebruiker_prs_level_read) || ', '
|
||||
|| TO_CHAR(g.fac_gebruiker_prs_level_write) || ', '
|
||||
|| TO_CHAR(g.fac_gebruiker_alg_level_read) || ', '
|
||||
|| TO_CHAR(g.fac_gebruiker_alg_level_write) || ')' or_ow_ar_aw
|
||||
DECODE (
|
||||
a.ins_discipline_module,
|
||||
'BES', lcl.l ('bes_discipline') || ' ',
|
||||
'CHT', lcl.l ('cht_discipline') || ' ',
|
||||
'CNT', lcl.l ('cnt_discipline') || ' ',
|
||||
'CTR', lcl.l ('ctr_discipline') || ' ',
|
||||
'FAQ', lcl.l ('faq_discipline') || ' ',
|
||||
'INS', lcl.l ('ins_discipline') || ' ',
|
||||
'MLD', lcl.l ('mld_discipline')
|
||||
|| (CASE
|
||||
WHEN ins_srtdiscipline_prefix IS NULL THEN ''
|
||||
ELSE ' ' || ins_srtdiscipline_prefix || '-'
|
||||
END),
|
||||
'RES', lcl.l ('res_discipline') || ' ',
|
||||
ins_discipline_module || ' ')
|
||||
|| ins_discipline_omschrijving omschrijving,
|
||||
fac.getscopeleveltext (g.fac_gebruiker_prs_level_read, 'PRS'),
|
||||
fac.getscopeleveltext (g.fac_gebruiker_prs_level_write, 'PRS'),
|
||||
fac.getscopeleveltext (g.fac_gebruiker_alg_level_read, 'ALG'),
|
||||
fac.getscopeleveltext (g.fac_gebruiker_alg_level_write, 'ALG')
|
||||
FROM FAC_GROEPRECHTEN g,
|
||||
FAC_FUNCTIE f,
|
||||
INS_TAB_DISCIPLINE a,
|
||||
@@ -139,19 +165,19 @@ SELECT -- GROEPEN MET DISCIPLINES
|
||||
AND flx.fac_locale_xsl_module (+)= 'ASP'
|
||||
UNION ALL -- GROEPEN ZONDER DISCIPLINES
|
||||
SELECT gr.fac_groep_omschrijving,
|
||||
f.fac_functie_module,
|
||||
f.fac_functie_code,
|
||||
COALESCE(fac_locale_xsl_cust, fac_locale_xsl_tekst, f.fac_functie_omschrijving),
|
||||
NULL omschrijving,
|
||||
'(' || TO_CHAR(g.fac_gebruiker_prs_level_read) || ', '
|
||||
|| TO_CHAR(g.fac_gebruiker_prs_level_write) || ', '
|
||||
|| TO_CHAR(g.fac_gebruiker_alg_level_read) || ', '
|
||||
|| TO_CHAR(g.fac_gebruiker_alg_level_write) || ')' or_ow_ar_aw
|
||||
fac.getscopeleveltext (g.fac_gebruiker_prs_level_read, 'PRS'),
|
||||
fac.getscopeleveltext (g.fac_gebruiker_prs_level_write, 'PRS'),
|
||||
fac.getscopeleveltext (g.fac_gebruiker_alg_level_read, 'ALG'),
|
||||
fac.getscopeleveltext (g.fac_gebruiker_alg_level_write, 'ALG')
|
||||
FROM FAC_GROEPRECHTEN g,
|
||||
FAC_FUNCTIE f,
|
||||
FAC_GROEP gr,
|
||||
fac_locale_xsl flx
|
||||
WHERE fac_functie_module <> 'LAN'
|
||||
AND g.fac_groep_key = gr.fac_groep_key
|
||||
WHERE g.fac_groep_key = gr.fac_groep_key
|
||||
AND fac_functie_discipline = 0
|
||||
AND g.fac_functie_key = f.fac_functie_key
|
||||
AND flx.fac_locale_xsl_label (+)= f.fac_functie_omschrijving
|
||||
|
||||
Reference in New Issue
Block a user