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

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