FCLT#66178 openbare core-labelthema's (voor wp-reservering) houden rekening met visibility-setting van personen

Tevens beetje onderhoud qua naam_friendly en i18n

svn path=/Database/trunk/; revision=50708
This commit is contained in:
Peter Feij
2021-04-08 14:23:56 +00:00
parent e23bd05e18
commit b37bcd35fa

View File

@@ -50,23 +50,20 @@ SELECT
CREATE_VIEW(cad_v_label_bewoner, 0) CREATE_VIEW(cad_v_label_bewoner, 0)
(alg_ruimte_key, waarde) (alg_ruimte_key, waarde)
AS AS
SELECT prs_w.prs_alg_ruimte_key, SELECT prs_w.prs_alg_ruimte_key,
prs_p.prs_perslid_naam prs_p.prs_perslid_naam_friendly
|| DECODE (prs_p.prs_perslid_voorletters, NULL, '', ', ' || prs_p.prs_perslid_voorletters) FROM prs_werkplek prs_w, prs_perslidwerkplek prs_pw, prs_v_perslid_fullnames prs_p
|| DECODE (prs_p.prs_perslid_voornaam, NULL, '', ' (' || prs_p.prs_perslid_voornaam || ')')
FROM prs_werkplek prs_w, prs_perslidwerkplek prs_pw, prs_perslid prs_p
WHERE prs_w.prs_werkplek_key = prs_pw.prs_werkplek_key WHERE prs_w.prs_werkplek_key = prs_pw.prs_werkplek_key
AND prs_pw.prs_perslid_key IS NOT NULL AND prs_pw.prs_perslid_key IS NOT NULL
AND prs_pw.prs_perslid_key = prs_p.prs_perslid_key AND prs_pw.prs_perslid_key = prs_p.prs_perslid_key
AND prs_w.prs_werkplek_virtueel = 0 AND prs_w.prs_werkplek_virtueel = 0
UNION UNION
SELECT prs_w.prs_alg_ruimte_key, '[Vrij]' SELECT prs_w.prs_alg_ruimte_key, '['||lcl.l('lcl_free')||']'
FROM prs_werkplek prs_w, prs_v_werkplek_bezetting prs_wb FROM prs_werkplek prs_w, prs_v_werkplek_bezetting prs_wb
WHERE prs_w.prs_werkplek_key = prs_wb.prs_werkplek_key WHERE prs_w.prs_werkplek_key = prs_wb.prs_werkplek_key
AND prs_w.prs_werkplek_virtueel = 0 AND prs_w.prs_werkplek_virtueel = 0
AND prs_wb.prs_werkplek_bezetting < 100; AND prs_wb.prs_werkplek_bezetting < 100;
-- Toont alle afdelingen die aan een ruimte gekoppeld zijn -- Toont alle afdelingen die aan een ruimte gekoppeld zijn
CREATE_VIEW(cad_v_label_afdelingen, 0) CREATE_VIEW(cad_v_label_afdelingen, 0)
(alg_ruimte_key, waarde) (alg_ruimte_key, waarde)
@@ -133,15 +130,12 @@ AS
CHR (1) CHR (1)
|| prs_w.prs_werkplek_volgnr || prs_w.prs_werkplek_volgnr
|| ' ' || ' '
|| prs_p.prs_perslid_naam || prs_p.prs_perslid_naam_friendly
|| DECODE (prs_p.prs_perslid_voorletters, NULL, '', ', ' || prs_p.prs_perslid_voorletters) || ' '
|| DECODE (prs_p.prs_perslid_voornaam, NULL, '', ' (' || prs_p.prs_perslid_voornaam || ')')
|| ': '
|| TO_CHAR (NVL (prs_pw.prs_perslidwerkplek_bezetting, 0)) || TO_CHAR (NVL (prs_pw.prs_perslidwerkplek_bezetting, 0))
|| '%' waarde || '%'
FROM prs_werkplek prs_w, waarde
prs_perslidwerkplek prs_pw, FROM prs_werkplek prs_w, prs_perslidwerkplek prs_pw, prs_v_perslid_fullnames prs_p
prs_perslid prs_p
WHERE prs_w.prs_werkplek_key = prs_pw.prs_werkplek_key WHERE prs_w.prs_werkplek_key = prs_pw.prs_werkplek_key
AND prs_pw.prs_perslid_key IS NOT NULL AND prs_pw.prs_perslid_key IS NOT NULL
AND prs_pw.prs_perslid_key = prs_p.prs_perslid_key AND prs_pw.prs_perslid_key = prs_p.prs_perslid_key
@@ -149,16 +143,13 @@ AS
SELECT prs_w.prs_alg_ruimte_key, SELECT prs_w.prs_alg_ruimte_key,
CHR (1) CHR (1)
|| prs_w.prs_werkplek_volgnr || prs_w.prs_werkplek_volgnr
|| ' Vrij: ' || ' '|| initcap(lcl.l('lcl_free'))||' '
|| TO_CHAR (100 - NVL (SUM (prs_wb.prs_perslidwerkplek_bezetting), 0)) || TO_CHAR (100 - NVL (SUM (prs_wb.prs_perslidwerkplek_bezetting), 0))
|| '%' || '%'
FROM prs_werkplek prs_w, FROM prs_werkplek prs_w, prs_perslidwerkplek prs_wb
prs_perslidwerkplek prs_wb
WHERE prs_w.prs_werkplek_key = prs_wb.prs_werkplek_key(+) WHERE prs_w.prs_werkplek_key = prs_wb.prs_werkplek_key(+)
GROUP BY prs_w.prs_alg_ruimte_key, prs_w.prs_werkplek_key, prs_w.prs_werkplek_volgnr GROUP BY prs_w.prs_alg_ruimte_key, prs_w.prs_werkplek_key, prs_w.prs_werkplek_volgnr
HAVING SUM (NVL (prs_wb.prs_perslidwerkplek_bezetting, 0)) < 100) DATA HAVING SUM (NVL (prs_wb.prs_perslidwerkplek_bezetting, 0)) < 100) data;
/
CREATE_VIEW(CAD_V_THEMA_AANTALWP, 0) (ALG_RUIMTE_KEY, WAARDE) CREATE_VIEW(CAD_V_THEMA_AANTALWP, 0) (ALG_RUIMTE_KEY, WAARDE)
AS AS
@@ -275,25 +266,23 @@ AS
CREATE_VIEW(cad_v_label_bewoner2,0) (alg_ruimte_key, waarde) CREATE_VIEW(cad_v_label_bewoner2,0) (alg_ruimte_key, waarde)
AS AS
SELECT alg_ruimte_key, SELECT alg_ruimte_key,
prs_p.prs_perslid_naam pf.prs_perslid_naam_friendly
|| DECODE (prs_p.prs_perslid_voorletters,
NULL, '',
', ' || prs_p.prs_perslid_voorletters
)
|| DECODE (prs_p.prs_perslid_voornaam,
NULL, '',
' (' || prs_p.prs_perslid_voornaam || ')'
)
|| '-' || '-'
|| CASE || CASE
WHEN aantalwp > 1 WHEN aantalwp > 1 AND norm_verband IS NOT NULL THEN norm_verband || '/'
THEN norm_verband || '/'
ELSE '' ELSE ''
END END
|| prs_p.prs_perslid_dienstverband || CASE
|| ' FTE' WHEN p.prs_perslid_dienstverband IS NOT NULL
FROM prs_perslid prs_p, prs_v_norm_verband pnv THEN
WHERE pnv.prs_perslid_key = prs_p.prs_perslid_key; p.prs_perslid_dienstverband || '%'
ELSE
''
END
FROM prs_v_perslid_fullnames pf, prs_perslid p, prs_v_norm_verband pnv
WHERE pf.prs_perslid_key = p.prs_perslid_key
AND pnv.prs_perslid_key = p.prs_perslid_key
AND p.prs_perslid_verwijder IS NULL;
CREATE OR REPLACE FORCE VIEW PRJ_V_CAD_LABEL_BEWONERWPE CREATE OR REPLACE FORCE VIEW PRJ_V_CAD_LABEL_BEWONERWPE
( (
@@ -302,29 +291,24 @@ CREATE OR REPLACE FORCE VIEW PRJ_V_CAD_LABEL_BEWONERWPE
HIGHLIGHT HIGHLIGHT
) )
AS AS
SELECT DISTINCT SELECT DISTINCT prj_werkplek_key, waarde, DECODE (prj_selectie_key, NULL, 0, 1)
prj_werkplek_key, waarde, DECODE (prj_selectie_key, NULL, 0, 1)
FROM (SELECT prj_r.prj_scenario_key, FROM (SELECT prj_r.prj_scenario_key,
prs_w.prj_werkplek_key, prs_w.prj_werkplek_key,
prs_p.prs_perslid_naam prs_p.prs_perslid_naam_friendly
|| DECODE (prs_p.prs_perslid_voorletters,
NULL, '',
', ' || prs_p.prs_perslid_voorletters)
|| DECODE (prs_p.prs_perslid_voornaam,
NULL, '',
' (' || prs_p.prs_perslid_voornaam || ')')
|| ': ' || ': '
|| TO_CHAR (NVL (prs_pw.prj_perslidwerkplek_bezetting, 0)) || TO_CHAR (NVL (prs_pw.prj_perslidwerkplek_bezetting, 0))
|| '%' || '%'
waarde, waarde,
'PRJ_WERKPLEK' label_soort, 'PRJ_WERKPLEK'
prs_pw.prj_werkplek_key label_key label_soort,
FROM PRJ_RUIMTE prj_r, prs_pw.prj_werkplek_key
PRJ_WERKPLEK prs_w, label_key
FROM prj_ruimte prj_r,
prj_werkplek prs_w,
(SELECT * (SELECT *
FROM PRJ_PERSLIDWERKPLEK FROM prj_perslidwerkplek
WHERE prj_perslidwerkplek_verwijder IS NULL) prs_pw, WHERE prj_perslidwerkplek_verwijder IS NULL) prs_pw,
PRS_PERSLID prs_p prs_v_perslid_fullnames prs_p
WHERE prs_w.prj_werkplek_key = prs_pw.prj_werkplek_key WHERE prs_w.prj_werkplek_key = prs_pw.prj_werkplek_key
AND prs_pw.prs_perslid_key IS NOT NULL AND prs_pw.prs_perslid_key IS NOT NULL
AND prs_pw.prs_perslid_key = prs_p.prs_perslid_key AND prs_pw.prs_perslid_key = prs_p.prs_perslid_key
@@ -333,26 +317,20 @@ AS
SELECT -1, SELECT -1,
prs_w.prj_werkplek_key, prs_w.prj_werkplek_key,
' Vrij: ' ' Vrij: '
|| TO_CHAR(100 || TO_CHAR (100 - NVL (SUM (prs_wb.prj_perslidwerkplek_bezetting), 0))
- NVL (
SUM (prs_wb.prj_perslidwerkplek_bezetting),
0))
|| '%', || '%',
'PRJ_WERKPLEK', 'PRJ_WERKPLEK',
prs_w.prj_werkplek_key prs_w.prj_werkplek_key
FROM PRJ_WERKPLEK prs_w, FROM prj_werkplek prs_w,
(SELECT * (SELECT *
FROM PRJ_PERSLIDWERKPLEK FROM prj_perslidwerkplek
WHERE prj_perslidwerkplek_verwijder IS NULL) prs_wb WHERE prj_perslidwerkplek_verwijder IS NULL) prs_wb
WHERE prs_w.prj_werkplek_key = prs_wb.prj_werkplek_key(+) WHERE prs_w.prj_werkplek_key = prs_wb.prj_werkplek_key(+)
AND prj_werkplek_verwijder IS NULL AND prj_werkplek_verwijder IS NULL
GROUP BY prs_w.prj_werkplek_key, GROUP BY prs_w.prj_werkplek_key, prs_w.prj_werkplek_key, prs_w.prj_werkplek_volgnr
prs_w.prj_werkplek_key, HAVING SUM (NVL (prs_wb.prj_perslidwerkplek_bezetting, 0)) < 100) data,
prs_w.prj_werkplek_volgnr prj_selectie ps
HAVING SUM (NVL (prs_wb.prj_perslidwerkplek_bezetting, 0)) < 100) WHERE ps.prj_scenario_key(+) = data.prj_scenario_key
DATA,
PRJ_SELECTIE ps
WHERE ps.prj_scenario_key(+) = DATA.prj_scenario_key
AND ps.prj_selectie_tabelnaam(+) = label_soort AND ps.prj_selectie_tabelnaam(+) = label_soort
AND ps.prj_selectie_tabelkey(+) = label_key; AND ps.prj_selectie_tabelkey(+) = label_key;
@@ -443,26 +421,14 @@ CREATE_VIEW(cad_v_label_wp_bewoner, 0)
AS AS
SELECT DISTINCT SELECT DISTINCT
prs_w.prs_werkplek_key, prs_w.prs_werkplek_key,
DECODE ( prs_p.prs_perslid_naam_friendly
prs_p.prs_perslid_voornaam,
NULL,
DECODE (prs_p.prs_perslid_voorletters,
NULL, '',
prs_p.prs_perslid_voorletters || ' '),
prs_p.prs_perslid_voornaam || ' ')
|| DECODE (prs_p.prs_perslid_tussenvoegsel,
NULL, '',
prs_p.prs_perslid_tussenvoegsel || ' ')
|| prs_p.prs_perslid_naam
|| CASE || CASE
WHEN prs_pw.prs_perslidwerkplek_bezetting < 100 WHEN prs_pw.prs_perslidwerkplek_bezetting < 100
THEN THEN
' (' || TO_CHAR (NVL (prs_pw.prs_perslidwerkplek_bezetting, 0)) || '%)' ' (' || TO_CHAR (NVL (prs_pw.prs_perslidwerkplek_bezetting, 0)) || '%)'
END END
waarde waarde
FROM prs_werkplek prs_w, FROM prs_werkplek prs_w, prs_perslidwerkplek prs_pw, prs_v_perslid_fullnames prs_p
prs_perslidwerkplek prs_pw,
prs_perslid prs_p
WHERE prs_w.prs_werkplek_key = prs_pw.prs_werkplek_key WHERE prs_w.prs_werkplek_key = prs_pw.prs_werkplek_key
AND prs_pw.prs_perslid_key IS NOT NULL AND prs_pw.prs_perslid_key IS NOT NULL
AND prs_pw.prs_perslid_key = prs_p.prs_perslid_key; AND prs_pw.prs_perslid_key = prs_p.prs_perslid_key;
@@ -629,10 +595,10 @@ AS
CHR (10) CHR (10)
|| LISTAGG ( || LISTAGG (
DECODE ( DECODE (
prs_perslid_naam_friendly, naam,
NULL, '', NULL, '',
'[s40]' '[s40]'
|| prs_perslid_naam_friendly || naam
|| ' (' || ' ('
|| TO_CHAR (res_rsv_deel_van, 'HH24:MI') || TO_CHAR (res_rsv_deel_van, 'HH24:MI')
|| '-' || '-'
@@ -645,65 +611,59 @@ AS
waarde1, waarde1,
CHR (10) CHR (10)
|| LISTAGG ( || LISTAGG (
DECODE ( DECODE (naam,
prs_perslid_naam_friendly,
NULL, '', NULL, '',
'[s40]' '[s40]' || TO_CHAR (res_rsv_deel_van, 'HH24:MI') || ' ' || naam),
|| TO_CHAR (res_rsv_deel_van, 'HH24:MI')
|| ' '
|| prs_perslid_naam_friendly),
CHR (10)) CHR (10))
WITHIN GROUP (ORDER BY res_rsv_deel_van) WITHIN GROUP (ORDER BY res_rsv_deel_van)
waarde2, waarde2,
CHR (10) CHR (10)
|| LISTAGG ( || LISTAGG (DECODE (naam, NULL, '', '[s40]' || naam), CHR (10))
DECODE (prs_perslid_naam_friendly,
NULL, '',
'[s40]' || prs_perslid_naam_friendly),
CHR (10))
WITHIN GROUP (ORDER BY res_rsv_deel_van) WITHIN GROUP (ORDER BY res_rsv_deel_van)
waarde3, waarde3,
LISTAGG ( LISTAGG (
DECODE ( DECODE (
prs_perslid_naam_friendly, naam,
NULL, '', NULL, '',
'<span class="body">' '<span class="body">'
|| TO_CHAR (res_rsv_deel_van, 'HH24:MI') || TO_CHAR (res_rsv_deel_van, 'HH24:MI')
|| ' ' || ' '
|| prs_perslid_naam_friendly || naam
|| '</span>'), || '</span>'),
'<br>') '<br>')
WITHIN GROUP (ORDER BY res_rsv_deel_van) WITHIN GROUP (ORDER BY res_rsv_deel_van)
waarde_html, waarde_html,
LISTAGG ( LISTAGG (DECODE (naam, NULL, '', '<span class="body">' || naam || '</span>'), '<br>')
DECODE (prs_perslid_naam_friendly,
NULL, '',
'<span class="body">' || prs_perslid_naam_friendly || '</span>'),
'<br>')
WITHIN GROUP (ORDER BY res_rsv_deel_van) WITHIN GROUP (ORDER BY res_rsv_deel_van)
waarde_html2 waarde_html2
FROM res_v_aanwezigdeel isd, FROM res_v_aanwezigdeel isd,
datums, datums,
(SELECT datum, (SELECT datum,
res_ins_deel_key, res_ins_deel_key,
prs_perslid_naam_friendly, DECODE (p.prs_perslid_visibility,
1, pf.prs_perslid_naam_friendly,
a.prs_afdeling_omschrijving)
naam,
res_rsv_deel_van, res_rsv_deel_van,
res_rsv_deel_tot res_rsv_deel_tot
FROM res_v_aanwezigdeel r, FROM res_v_aanwezigdeel r,
res_v_aanwezigrsv_deel rrd, res_v_aanwezigrsv_deel rrd,
res_rsv_ruimte rrr, res_rsv_ruimte rrr,
prs_v_perslid_fullnames p, prs_v_perslid_fullnames pf,
prs_perslid p,
prs_afdeling a,
datums datums
WHERE r.res_deel_key = rrd.res_deel_key WHERE r.res_deel_key = rrd.res_deel_key
AND rrd.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key AND rrd.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key AND rrr.res_rsv_ruimte_host_key = pf.prs_perslid_key
AND pf.prs_perslid_key = p.prs_perslid_key
AND p.prs_afdeling_key = a.prs_afdeling_key
AND datum >= TRUNC (res_rsv_deel_van) AND datum >= TRUNC (res_rsv_deel_van)
AND datum < TRUNC (res_rsv_deel_tot + 1)) res -- Bezet AND datum < TRUNC (res_rsv_deel_tot + 1)) res -- Bezet
WHERE isd.res_ins_deel_key = res.res_ins_deel_key(+) AND datums.datum = res.datum(+) WHERE isd.res_ins_deel_key = res.res_ins_deel_key(+) AND datums.datum = res.datum(+)
GROUP BY datums.datum, isd.res_ins_deel_key, res_deel_omschrijving; GROUP BY datums.datum, isd.res_ins_deel_key, res_deel_omschrijving;
-- --
-- Thema's gebaseerd op objectstatus van objecten binnen ruimte/werkplek (typisch sensoren) -- Thema's gebaseerd op objectstatus van objecten binnen ruimte/werkplek (typisch sensoren)
-- --