2166 lines
82 KiB
SQL
2166 lines
82 KiB
SQL
-- Script containing customer specific configuration sql statements for DEMO
|
||
-- ***** SINCE 01-01-2009 *****
|
||
-- (c) 2012 SG|facilitor bv
|
||
-- $Revision$
|
||
-- $Id$
|
||
--
|
||
-- Support: +31 53 4800700
|
||
|
||
set echo on
|
||
|
||
spool xdemo.lst
|
||
|
||
CREATE OR REPLACE VIEW curs_v_rap_infobord (
|
||
item_type,
|
||
item_key,
|
||
aktief,
|
||
bezoek_status,
|
||
offset,
|
||
dag,
|
||
tijd_van,
|
||
tijd_tot,
|
||
ruimte,
|
||
catalogus,
|
||
aanvrager,
|
||
gastheer,
|
||
omschrijving,
|
||
status,
|
||
bezoeker,
|
||
bedrijf,
|
||
locatie_code,
|
||
gebouw_code,
|
||
verdieping_code,
|
||
locatie_omschrijving,
|
||
gebouw_omschrijving,
|
||
verdieping_omschrijving,
|
||
alg_locatie_key,
|
||
alg_gebouw_key,
|
||
alg_verdieping_key
|
||
)
|
||
AS
|
||
SELECT 'RES',
|
||
rrr.res_rsv_ruimte_key,
|
||
( CASE
|
||
WHEN res_rsv_ruimte_van > SYSDATE THEN 'expected'
|
||
WHEN res_rsv_ruimte_tot < SYSDATE THEN 'passed'
|
||
ELSE 'active'
|
||
END)
|
||
aktief,
|
||
( CASE
|
||
WHEN B.BEZ_BEZOEKERS_OUT IS not null THEN 'out'
|
||
WHEN b.bez_bezoekers_done is not null THEN 'in'
|
||
ELSE 'expected'
|
||
END)
|
||
bezoek_status,
|
||
TRUNC ( (SYSDATE - res_rsv_ruimte_van) * 24 * 60) offset,
|
||
TO_CHAR (res_rsv_ruimte_van, 'dd-mm-yyyy') dag,
|
||
TO_CHAR (res_rsv_ruimte_van, 'hh24:mi') tijd_van,
|
||
TO_CHAR (res_rsv_ruimte_tot, 'hh24:mi') tijd_tot,
|
||
res_ruimte_nr ruimte,
|
||
ins_discipline_omschrijving catalogus,
|
||
aanvrager.prs_perslid_naam_full aanvrager,
|
||
gastheer.prs_perslid_naam_full gastheer,
|
||
res_rsv_ruimte_omschrijving omschrijving,
|
||
sf.res_status_fo_omschrijving status,
|
||
b.bez_afspraak_naam,
|
||
b.bez_afspraak_bedrijf,
|
||
alg_locatie_code locatie_code,
|
||
alg_gebouw_code gebouw_code,
|
||
alg_verdieping_code verdieping_code,
|
||
alg_locatie_omschrijving locatie_omschrijving,
|
||
alg_gebouw_omschrijving gebouw_omschrijving,
|
||
alg_verdieping_omschrijving verdieping_omschrijving,
|
||
l.alg_locatie_key,
|
||
g.alg_gebouw_key,
|
||
v.alg_verdieping_key
|
||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
prs_v_perslid_fullnames aanvrager,
|
||
prs_v_perslid_fullnames gastheer,
|
||
res_v_res_ruimte_gegevens rrg,
|
||
alg_locatie l,
|
||
alg_gebouw g,
|
||
alg_verdieping v,
|
||
res_status_fo sf,
|
||
res_discipline rd,
|
||
bez_afspraak a,
|
||
bez_bezoekers b
|
||
WHERE rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key
|
||
AND rro.res_ruimte_key = rrg.res_ruimte_key
|
||
AND rrr.res_rsv_ruimte_host_key = gastheer.prs_perslid_key
|
||
AND rrr.res_rsv_ruimte_contact_key = aanvrager.prs_perslid_key
|
||
AND TRUNC (res_rsv_ruimte_van) = TRUNC (SYSDATE)
|
||
AND rrg.alg_locatie_key = l.alg_locatie_key
|
||
AND rrg.alg_gebouw_key = g.alg_gebouw_key
|
||
AND rrg.alg_verdieping_key = v.alg_verdieping_key
|
||
AND rrr.res_status_fo_key = sf.res_status_fo_key
|
||
AND rrg.res_discipline_key = rd.ins_discipline_key
|
||
AND rrr.res_rsv_ruimte_key = a.res_rsv_ruimte_key(+)
|
||
AND a.bez_afspraak_key = b.bez_afspraak_key(+)
|
||
union all
|
||
select 'BEZ', b.bez_afspraak_key,
|
||
( CASE
|
||
WHEN A.BEZ_AFSPRAAK_DATUM > SYSDATE THEN 'expected'
|
||
WHEN a.bez_afspraak_eind < SYSDATE THEN 'passed'
|
||
ELSE 'active'
|
||
END)
|
||
aktief,
|
||
( CASE
|
||
WHEN B.BEZ_BEZOEKERS_OUT IS not null THEN 'out'
|
||
WHEN b.bez_bezoekers_done is not null THEN 'in'
|
||
ELSE 'expected'
|
||
END)
|
||
bezoek_status,
|
||
TRUNC ( (SYSDATE - BEZ_AFSPRAAK_DATUM) * 24 * 60) offset,
|
||
TO_CHAR (BEZ_AFSPRAAK_DATUM, 'dd-mm-yyyy') dag,
|
||
TO_CHAR (BEZ_AFSPRAAK_DATUM, 'hh24:mi') tijd_van,
|
||
TO_CHAR (BEZ_AFSPRAAK_eind, 'hh24:mi') tijd_tot,
|
||
null ruimte,
|
||
null catalogus,
|
||
aanvrager.prs_perslid_naam_full aanvrager,
|
||
gastheer.prs_perslid_naam_full gastheer,
|
||
null omschrijving,
|
||
null status,
|
||
b.bez_afspraak_naam,
|
||
b.bez_afspraak_bedrijf,
|
||
alg_locatie_code locatie_code,
|
||
alg_gebouw_code gebouw_code,
|
||
null verdieping_code,
|
||
alg_locatie_omschrijving locatie_omschrijving,
|
||
alg_gebouw_naam gebouw_omschrijving,
|
||
alg_verdieping_omschrijving verdieping_omschrijving,
|
||
l.alg_locatie_key,
|
||
ogg.alg_gebouw_key,
|
||
ogg.alg_verdieping_key
|
||
from bez_afspraak a, bez_bezoekers b,
|
||
prs_v_perslid_fullnames aanvrager, alg_locatie l, alg_v_allonrgoed_gegevens ogg,
|
||
prs_v_perslid_fullnames gastheer
|
||
where a.bez_afspraak_key = b.bez_afspraak_key
|
||
and A.BEZ_AFSPRAAK_HOST_KEY = gastheer.prs_perslid_key
|
||
and a.bez_afspraak_contact_key = aanvrager.prs_perslid_key
|
||
and A.ALG_LOCATIE_KEY = l.alg_locatie_key
|
||
and A.ALG_ONRGOED_KEYS = ogg.alg_onroerendgoed_keys(+)
|
||
and A.RES_RSV_RUIMTE_KEY is null;
|
||
|
||
CREATE OR REPLACE VIEW curs_v_info_loc_overzicht (
|
||
aktief,
|
||
boarding,
|
||
offset,
|
||
dag,
|
||
tijd_van,
|
||
tijd_tot,
|
||
ruimte,
|
||
aanvrager,
|
||
gastheer,
|
||
omschrijving,
|
||
status,
|
||
locatie_code,
|
||
gebouw_code,
|
||
verdieping_code,
|
||
alg_locatie_key,
|
||
alg_gebouw_key,
|
||
alg_verdieping_key
|
||
)
|
||
AS
|
||
SELECT (SELECT 'active'
|
||
FROM DUAL
|
||
WHERE res_rsv_ruimte_van < SYSDATE
|
||
AND res_rsv_ruimte_tot > SYSDATE
|
||
UNION
|
||
SELECT 'expected'
|
||
FROM DUAL
|
||
WHERE res_rsv_ruimte_van > SYSDATE
|
||
UNION
|
||
SELECT 'passed'
|
||
FROM DUAL
|
||
WHERE res_rsv_ruimte_tot < SYSDATE)
|
||
aktief,
|
||
(SELECT DECODE (COUNT ( * ), 0, 1, 0)
|
||
FROM res_rsv_ruimte rrr2
|
||
WHERE rrr2.res_rsv_ruimte_tot BETWEEN SYSDATE
|
||
AND rrr.res_rsv_ruimte_van
|
||
AND rrr2.res_ruimte_opstel_key = rrr.res_ruimte_opstel_key)
|
||
boarding,
|
||
TRUNC ( (SYSDATE - res_rsv_ruimte_van) * 24 * 60) offset,
|
||
TO_CHAR (res_rsv_ruimte_van, 'dd-mm-yyyy') dag,
|
||
TO_CHAR (res_rsv_ruimte_van, 'hh24:mi') tijd_van,
|
||
TO_CHAR (res_rsv_ruimte_tot, 'hh24:mi') tijd_tot,
|
||
res_ruimte_nr ruimte,
|
||
aanvrager.prs_perslid_naam_full aanvrager,
|
||
gastheer.prs_perslid_naam_full gastheer,
|
||
res_rsv_ruimte_omschrijving omschrijving,
|
||
sf.res_status_fo_omschrijving status,
|
||
alg_locatie_code locatie_code,
|
||
alg_gebouw_code gebouw_code,
|
||
alg_verdieping_code verdieping_code,
|
||
l.alg_locatie_key,
|
||
g.alg_gebouw_key,
|
||
v.alg_verdieping_key
|
||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
prs_v_perslid_fullnames aanvrager,
|
||
prs_v_perslid_fullnames gastheer,
|
||
res_v_res_ruimte_gegevens rrg,
|
||
alg_locatie l,
|
||
alg_gebouw g,
|
||
alg_verdieping v,
|
||
res_status_fo sf
|
||
WHERE rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key
|
||
AND rro.res_ruimte_key = rrg.res_ruimte_key
|
||
AND rrr.res_rsv_ruimte_host_key = gastheer.prs_perslid_key
|
||
AND rrr.res_rsv_ruimte_contact_key = aanvrager.prs_perslid_key
|
||
AND TRUNC (res_rsv_ruimte_van) = TRUNC (SYSDATE)
|
||
AND rrg.alg_locatie_key = l.alg_locatie_key
|
||
AND rrg.alg_gebouw_key = g.alg_gebouw_key
|
||
AND rrg.alg_verdieping_key = v.alg_verdieping_key
|
||
AND rrr.res_status_fo_key = sf.res_status_fo_key;
|
||
|
||
|
||
CREATE OR REPLACE FORCE VIEW curs_v_prs_indienst (
|
||
fclt_f_maand,
|
||
fclt_f_naam,
|
||
nummer,
|
||
indienst,
|
||
fclt_f_afdeling
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (p.prs_perslid_ingangsdatum, 'YYMM'),
|
||
pf.prs_perslid_naam_full,
|
||
p.prs_perslid_nr,
|
||
TO_CHAR (p.prs_perslid_ingangsdatum, 'DD-MM-YYYY'),
|
||
a.prs_afdeling_naam1
|
||
FROM prs_v_afdeling a, prs_v_aanwezigperslid p, prs_v_perslid_fullnames pf
|
||
WHERE p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND pf.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_perslid_ingangsdatum IS NOT NULL;
|
||
|
||
CREATE OR REPLACE FORCE VIEW curs_v_prs_uitdienst (
|
||
fclt_f_maand,
|
||
fclt_f_naam,
|
||
nummer,
|
||
uitdienst,
|
||
fclt_f_afdeling
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (p.prs_perslid_einddatum, 'YYMM'),
|
||
pf.prs_perslid_naam_full,
|
||
p.prs_perslid_nr,
|
||
TO_CHAR (p.prs_perslid_einddatum, 'DD-MM-YYYY'),
|
||
a.prs_afdeling_naam1
|
||
FROM prs_v_afdeling a, prs_v_aanwezigperslid p, prs_v_perslid_fullnames pf
|
||
WHERE p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND pf.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_perslid_einddatum IS NOT NULL;
|
||
|
||
|
||
CREATE OR REPLACE FORCE VIEW curs_v_verbruik1 (
|
||
fclt_f_locatie,
|
||
objectomschrijving,
|
||
waarde,
|
||
fclt_f_datum,
|
||
datumstr,
|
||
hide_f_ins_deel_key
|
||
)
|
||
AS
|
||
SELECT l.alg_locatie_omschrijving,
|
||
d.ins_deel_omschrijving objectomschrijving,
|
||
fac.safe_to_number (kd.ins_kenmerkdeel_waarde) eindwaarde,
|
||
TO_CHAR (kd.ins_kenmerkdeel_aanmaak, 'YYMM') einddatum,
|
||
TO_CHAR (kd.ins_kenmerkdeel_aanmaak, 'DD-MM-YY') einddatumstr,
|
||
d.ins_deel_key
|
||
FROM ins_v_aanwezigsrtdeel sd,
|
||
ins_v_aanwezigdeel d,
|
||
ins_kenmerkdeel kd,
|
||
ins_kenmerk k,
|
||
ins_srtkenmerk sk,
|
||
alg_v_aanweziglocatie l
|
||
WHERE sd.ins_srtdeel_key = d.ins_srtdeel_key
|
||
AND d.ins_deel_key = kd.ins_deel_key
|
||
AND kd.ins_kenmerk_key = k.ins_kenmerk_key
|
||
AND k.ins_kenmerk_verwijder IS NULL
|
||
AND k.ins_kenmerk_volgnummer >= 100
|
||
AND sk.ins_srtkenmerk_kenmerktype = 'N'
|
||
AND k.ins_srtkenmerk_key = sk.ins_srtkenmerk_key
|
||
AND d.ins_alg_locatie_key = l.alg_locatie_key;
|
||
|
||
CREATE OR REPLACE FORCE VIEW curs_v_verbruik (
|
||
fclt_f_locatie,
|
||
objectomschrijving,
|
||
verbruik,
|
||
fclt_f_begindatum,
|
||
fclt_f_einddatum
|
||
)
|
||
AS
|
||
SELECT v1.fclt_f_locatie,
|
||
v1.objectomschrijving,
|
||
(v1.waarde - v2.waarde) verbruik,
|
||
v2.fclt_f_datum begindatum,
|
||
v1.fclt_f_datum einddatum
|
||
FROM curs_v_verbruik1 v1, curs_v_verbruik1 v2
|
||
WHERE v1.hide_f_ins_deel_key = v2.hide_f_ins_deel_key
|
||
AND v1.fclt_f_datum >= v2.fclt_f_datum
|
||
AND v1.waarde >= v2.waarde
|
||
AND (v1.waarde - v2.waarde) < 99999999;
|
||
|
||
/* Formatted on 2009/01/08 11:40 (Formatter Plus v4.8.7) */
|
||
CREATE OR REPLACE VIEW curs_v_hv_actual (dis_oms,
|
||
loc_code,
|
||
geb_code,
|
||
ver_code,
|
||
ruimte_nr,
|
||
ruimtesoort,
|
||
wp_cap,
|
||
teken_opp,
|
||
sp_nummer,
|
||
sp_naam,
|
||
bezetting,
|
||
m2_wpnorm,
|
||
m2_tarief
|
||
)
|
||
AS
|
||
(SELECT a.alg_district_omschrijving, a.alg_locatie_code, a.alg_gebouw_code,
|
||
a.alg_verdieping_code, a.alg_ruimte_nr, b.ruimtesoort,
|
||
fac.safe_to_number (COALESCE (c.wp_cap, '0')), a.opp, d.afd_naam,
|
||
d.afd_oms, d.afd_bez,
|
||
(SELECT fac.safe_to_number
|
||
(COALESCE (kl.prs_kenmerklink_waarde, '0')
|
||
)
|
||
FROM prs_kenmerklink kl
|
||
WHERE kl.prs_link_key = 28021 -- Atos Origin
|
||
AND kl.prs_kenmerklink_niveau = 'B'
|
||
AND kl.prs_kenmerk_key = 1240) m2_wpnorm, -- m2-wpnorm
|
||
(SELECT fac.safe_to_number
|
||
(COALESCE (kl.prs_kenmerklink_waarde, '0')
|
||
)
|
||
FROM prs_kenmerklink kl
|
||
WHERE kl.prs_link_key = 28021 -- Atos Origin
|
||
AND kl.prs_kenmerklink_niveau = 'B'
|
||
AND kl.prs_kenmerk_key = 1180) m2_tarief -- m2-tarief
|
||
FROM (SELECT r.alg_ruimte_key, r.alg_ruimte_nr, v.alg_verdieping_code,
|
||
g.alg_gebouw_code, l.alg_locatie_code,
|
||
d.alg_district_omschrijving,
|
||
r.alg_ruimte_bruto_vloeropp opp
|
||
FROM alg_v_aanwezigruimte r,
|
||
alg_verdieping v,
|
||
alg_gebouw g,
|
||
alg_locatie l,
|
||
alg_district d
|
||
WHERE r.alg_verdieping_key = v.alg_verdieping_key
|
||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||
AND g.alg_locatie_key = l.alg_locatie_key
|
||
AND l.alg_district_key = d.alg_district_key) a
|
||
LEFT JOIN
|
||
(SELECT r.alg_ruimte_key,
|
||
COALESCE (sr.alg_srtruimte_omschrijving, '-') ruimtesoort
|
||
FROM alg_v_aanwezigruimte r, alg_srtruimte sr
|
||
WHERE r.alg_srtruimte_key = sr.alg_srtruimte_key) b
|
||
ON a.alg_ruimte_key = b.alg_ruimte_key
|
||
LEFT JOIN
|
||
(SELECT ok.alg_onrgoed_key, ok.alg_onrgoedkenmerk_waarde wp_cap
|
||
FROM alg_onrgoedkenmerk ok
|
||
WHERE ok.alg_kenmerk_key = 1240 -- wp_cap
|
||
AND ok.alg_onrgoed_niveau = 'R') c
|
||
ON a.alg_ruimte_key = c.alg_onrgoed_key
|
||
LEFT JOIN -- afdeling(en) op ruimte
|
||
(SELECT ra.alg_ruimte_key, afd.prs_afdeling_naam afd_naam,
|
||
afd.prs_afdeling_omschrijving afd_oms,
|
||
ra.prs_ruimteafdeling_bezetting afd_bez
|
||
FROM prs_v_aanwezigruimteafdeling ra, prs_afdeling afd
|
||
WHERE ra.prs_afdeling_key = afd.prs_afdeling_key
|
||
UNION ALL
|
||
SELECT x.alg_ruimte_key, NULL afd_naam, NULL afd_oms,
|
||
(100 - x.rui_bez) afd_bez
|
||
FROM (SELECT ra.alg_ruimte_key,
|
||
SUM (ra.prs_ruimteafdeling_bezetting) rui_bez
|
||
FROM prs_v_aanwezigruimteafdeling ra
|
||
GROUP BY ra.alg_ruimte_key) x
|
||
WHERE x.rui_bez < 100) d ON a.alg_ruimte_key = d.alg_ruimte_key
|
||
)
|
||
/
|
||
CREATE OR REPLACE VIEW curs_v_hv_xactual (
|
||
loc_code,
|
||
geb_code,
|
||
ver_code,
|
||
ruimte_nr,
|
||
ruimtesoort,
|
||
wp_cap,
|
||
teken_opp,
|
||
sp_nummer,
|
||
sp_naam,
|
||
bezetting,
|
||
m2_wpnorm,
|
||
m2_tarief
|
||
)
|
||
AS
|
||
(SELECT a.alg_locatie_code,
|
||
a.alg_gebouw_code,
|
||
a.alg_verdieping_code,
|
||
a.alg_ruimte_nr,
|
||
b.ruimtesoort,
|
||
fac.safe_to_number (COALESCE (c.wp_cap, '0')),
|
||
a.opp,
|
||
d.afd_naam,
|
||
d.afd_oms,
|
||
d.afd_bez,
|
||
(SELECT fac.safe_to_number(COALESCE (kl.prs_kenmerklink_waarde, '0'
|
||
))
|
||
FROM prs_kenmerklink kl
|
||
WHERE kl.prs_link_key = 28021 -- Atos Origin
|
||
AND kl.prs_kenmerklink_niveau = 'B'
|
||
AND kl.prs_kenmerk_key = 1240)
|
||
m2_wpnorm, -- m2-wpnorm
|
||
(SELECT fac.safe_to_number(COALESCE (kl.prs_kenmerklink_waarde, '0'
|
||
))
|
||
FROM prs_kenmerklink kl
|
||
WHERE kl.prs_link_key = 28021 -- Atos Origin
|
||
AND kl.prs_kenmerklink_niveau = 'B'
|
||
AND kl.prs_kenmerk_key = 1180)
|
||
m2_tarief -- m2-tarief
|
||
FROM (SELECT r.alg_ruimte_key,
|
||
r.alg_ruimte_nr,
|
||
v.alg_verdieping_code,
|
||
g.alg_gebouw_code,
|
||
l.alg_locatie_code,
|
||
r.alg_ruimte_bruto_vloeropp opp
|
||
FROM alg_v_aanwezigruimte r,
|
||
alg_verdieping v,
|
||
alg_gebouw g,
|
||
alg_locatie l
|
||
WHERE r.alg_verdieping_key = v.alg_verdieping_key
|
||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||
AND g.alg_locatie_key = l.alg_locatie_key) a
|
||
LEFT JOIN
|
||
(SELECT r.alg_ruimte_key,
|
||
COALESCE (sr.alg_srtruimte_omschrijving, '-')
|
||
ruimtesoort
|
||
FROM alg_v_aanwezigruimte r, alg_srtruimte sr
|
||
WHERE r.alg_srtruimte_key = sr.alg_srtruimte_key) b
|
||
ON a.alg_ruimte_key = b.alg_ruimte_key
|
||
LEFT JOIN
|
||
(SELECT ok.alg_onrgoed_key,
|
||
ok.alg_onrgoedkenmerk_waarde wp_cap
|
||
FROM alg_onrgoedkenmerk ok
|
||
WHERE ok.alg_kenmerk_key = 1240 -- wp_cap
|
||
AND ok.alg_onrgoed_niveau = 'R') c
|
||
ON a.alg_ruimte_key = c.alg_onrgoed_key
|
||
LEFT JOIN -- afdeling(en) op ruimte
|
||
(SELECT ra.alg_ruimte_key,
|
||
afd.prs_afdeling_naam afd_naam,
|
||
afd.prs_afdeling_omschrijving afd_oms,
|
||
ra.prs_ruimteafdeling_bezetting afd_bez
|
||
FROM prs_v_aanwezigruimteafdeling ra, prs_afdeling afd
|
||
WHERE ra.prs_afdeling_key = afd.prs_afdeling_key) d
|
||
ON a.alg_ruimte_key = d.alg_ruimte_key)
|
||
/
|
||
|
||
/* Formatted on 2009/01/08 09:15 (Formatter Plus v4.8.7) */
|
||
CREATE OR REPLACE VIEW curs_v_rap_hv_doorbelasting (fclt_f_district,
|
||
fclt_f_locatie,
|
||
fclt_f_gebouw,
|
||
fclt_f_afdeling_naam,
|
||
fclt_f_afdeling_nr,
|
||
aantal_m2,
|
||
kosten
|
||
)
|
||
AS
|
||
(SELECT x.dis_oms, x.loc_code, x.geb_code,
|
||
COALESCE (x.sp_naam, '[Leegstand]'),
|
||
COALESCE (x.sp_nummer, '[Leegstand]'),
|
||
SUM (DECODE (UPPER (x.ruimtesoort),
|
||
'OPEN WERKPLEK', x.wp * x.m2_wpnorm,
|
||
x.teken_opp
|
||
)
|
||
) reken_opp,
|
||
SUM (DECODE (UPPER (x.ruimtesoort),
|
||
'OPEN WERKPLEK', x.wp * x.m2_wpnorm * x.m2_tarief,
|
||
x.teken_opp * x.m2_tarief
|
||
)
|
||
) kosten
|
||
FROM (SELECT v.dis_oms, v.loc_code, v.geb_code, v.sp_nummer,
|
||
v.sp_naam, v.ruimtesoort, v.m2_tarief, v.m2_wpnorm,
|
||
SUM (v.wp_cap * COALESCE (v.bezetting, 100) / 100) wp,
|
||
SUM (v.teken_opp * COALESCE (v.bezetting, 100) / 100
|
||
) teken_opp
|
||
FROM curs_v_hv_actual v
|
||
GROUP BY v.dis_oms,
|
||
v.loc_code,
|
||
v.geb_code,
|
||
v.sp_nummer,
|
||
v.sp_naam,
|
||
v.ruimtesoort,
|
||
v.m2_tarief,
|
||
v.m2_wpnorm) x
|
||
GROUP BY x.dis_oms, x.loc_code, x.geb_code, x.sp_naam, x.sp_nummer)
|
||
/
|
||
CREATE OR REPLACE VIEW curs_v_rap_hv_xdoorbelasting (fclt_f_gebouw,
|
||
fclt_f_afdeling_naam,
|
||
fclt_f_afdeling_nr,
|
||
reken_opp
|
||
)
|
||
AS
|
||
(SELECT v.geb_code, COALESCE (v.sp_naam, '[Leegstand]'),
|
||
COALESCE (v.sp_nummer, '[Leegstand]'),
|
||
REPLACE (TO_CHAR (SUM (DECODE (UPPER (v.ruimtesoort),
|
||
'OPEN WERKPLEK', v.wp_cap
|
||
* v.m2_wpnorm,
|
||
v.teken_opp
|
||
)
|
||
),
|
||
'999999990D99'
|
||
),
|
||
'.',
|
||
','
|
||
) reken_opp
|
||
FROM curs_v_hv_xactual v
|
||
GROUP BY v.geb_code, v.sp_naam, v.sp_nummer)
|
||
/
|
||
|
||
|
||
|
||
/* Formatted on 2009/01/08 09:15 (Formatter Plus v4.8.7) */
|
||
CREATE OR REPLACE VIEW curs_v_rap_hv_doorbelfrozen (fclt_f_datum,
|
||
fclt_f_district,
|
||
fclt_f_locatie,
|
||
fclt_f_gebouw,
|
||
fclt_f_afdeling_naam,
|
||
fclt_f_afdeling_nr,
|
||
aantal_m2,
|
||
kosten
|
||
)
|
||
AS
|
||
(SELECT TO_CHAR (x.freeze_datum, 'YYYY-MM-DD') datum, x.dis_oms,
|
||
x.loc_code, x.geb_code, COALESCE (x.sp_naam, '[Leegstand]'),
|
||
COALESCE (x.sp_nummer, '[Leegstand]'),
|
||
SUM (DECODE (UPPER (x.ruimtesoort),
|
||
'OPEN WERKPLEK', x.wp * x.m2_wpnorm,
|
||
x.teken_opp
|
||
)
|
||
) reken_opp,
|
||
SUM (DECODE (UPPER (x.ruimtesoort),
|
||
'OPEN WERKPLEK', x.wp * x.m2_wpnorm * x.m2_tarief,
|
||
x.teken_opp * x.m2_tarief
|
||
)
|
||
) kosten
|
||
FROM (SELECT v.freeze_datum, v.dis_oms, v.loc_code, v.geb_code,
|
||
v.sp_nummer, v.sp_naam, v.ruimtesoort, v.m2_tarief,
|
||
v.m2_wpnorm,
|
||
SUM (v.wp_cap * COALESCE (v.bezetting, 100) / 100) wp,
|
||
SUM (v.teken_opp * COALESCE (v.bezetting, 100) / 100
|
||
) teken_opp
|
||
FROM curs_hv_freeze v
|
||
GROUP BY v.freeze_datum,
|
||
v.dis_oms,
|
||
v.loc_code,
|
||
v.geb_code,
|
||
v.sp_nummer,
|
||
v.sp_naam,
|
||
v.ruimtesoort,
|
||
v.m2_tarief,
|
||
v.m2_wpnorm) x
|
||
GROUP BY x.freeze_datum,
|
||
x.dis_oms,
|
||
x.loc_code,
|
||
x.geb_code,
|
||
x.sp_naam,
|
||
x.sp_nummer)
|
||
/
|
||
|
||
/* Formatted on 14-1-2009 17:12:04 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW curs_v_rap_hv_ruimte_details
|
||
(
|
||
fclt_f_district,
|
||
fclt_f_locatie,
|
||
fclt_f_gebouw,
|
||
fclt_f_verdieping,
|
||
ruimte_nr,
|
||
aantal_wp,
|
||
reken_opp,
|
||
fclt_f_afdeling_naam,
|
||
fclt_f_afdeling_nr,
|
||
fclt_f_ruimtesoort,
|
||
m2_tarief,
|
||
ruimteprijs
|
||
)
|
||
AS
|
||
SELECT v.dis_oms,
|
||
v.loc_code,
|
||
v.geb_code,
|
||
v.ver_code,
|
||
v.ruimte_nr,
|
||
TO_CHAR (v.wp_cap),
|
||
(DECODE (UPPER (v.ruimtesoort),
|
||
'OPEN WERKPLEK', v.wp_cap * v.m2_wpnorm,
|
||
v.teken_opp
|
||
)
|
||
* COALESCE (v.bezetting, 100)
|
||
/ 100)
|
||
reken_opp,
|
||
COALESCE (v.sp_naam, '[Leegstand]'),
|
||
COALESCE (v.sp_nummer, '[Leegstand]'),
|
||
v.ruimtesoort,
|
||
REPLACE (TO_CHAR (v.m2_tarief), '.', ','),
|
||
(DECODE (UPPER (v.ruimtesoort),
|
||
'OPEN WERKPLEK', v.wp_cap * v.m2_wpnorm * v.m2_tarief,
|
||
v.teken_opp * v.m2_tarief
|
||
)
|
||
* COALESCE (v.bezetting, 100)
|
||
/ 100)
|
||
ruimteprijs
|
||
FROM curs_v_hv_actual v
|
||
/
|
||
|
||
/* Formatted on 2009/01/08 09:18 (Formatter Plus v4.8.7) */
|
||
CREATE OR REPLACE VIEW curs_v_rap_hv_ruimteoverzicht (fclt_f_district,
|
||
fclt_f_locatie,
|
||
fclt_f_gebouw,
|
||
fclt_f_verdieping,
|
||
ruimte_nr,
|
||
fclt_f_ruimtesoort,
|
||
aantal_wp,
|
||
reken_opp
|
||
)
|
||
AS
|
||
SELECT DISTINCT v.dis_oms, v.loc_code, v.geb_code, v.ver_code, v.ruimte_nr,
|
||
v.ruimtesoort, TO_CHAR (v.wp_cap),
|
||
DECODE (UPPER (v.ruimtesoort),
|
||
'OPEN WERKPLEK', v.wp_cap * v.m2_wpnorm,
|
||
v.teken_opp
|
||
) reken_opp
|
||
FROM curs_v_hv_actual v
|
||
/
|
||
|
||
/* Formatted on 2009/01/08 09:18 (Formatter Plus v4.8.7) */
|
||
CREATE OR REPLACE VIEW curs_v_rap_hv_sp_totalen (fclt_f_district,
|
||
fclt_f_locatie,
|
||
fclt_f_gebouw,
|
||
fclt_f_verdieping,
|
||
fclt_f_afdeling_naam,
|
||
fclt_f_afdeling_nr,
|
||
fclt_f_ruimtesoort,
|
||
aantal_ruimten,
|
||
aantal_wp,
|
||
reken_opp,
|
||
m2_tarief,
|
||
prijs
|
||
)
|
||
AS
|
||
(SELECT x.dis_oms, x.loc_code, x.geb_code, x.ver_code,
|
||
COALESCE (x.sp_naam, '[Leegstand]'),
|
||
COALESCE (x.sp_nummer, '[Leegstand]'), x.ruimtesoort,
|
||
x.ruimten,
|
||
REPLACE (TO_CHAR (x.wp, '999999990D99'), '.', ',') wp,
|
||
DECODE (UPPER (x.ruimtesoort),
|
||
'OPEN WERKPLEK', x.wp * x.m2_wpnorm,
|
||
x.teken_opp
|
||
) reken_opp,
|
||
REPLACE (TO_CHAR (x.m2_tarief), '.', ','),
|
||
DECODE (UPPER (x.ruimtesoort),
|
||
'OPEN WERKPLEK', x.wp * x.m2_wpnorm * x.m2_tarief,
|
||
x.teken_opp * x.m2_tarief
|
||
) prijs
|
||
FROM (SELECT v.dis_oms, v.loc_code, v.geb_code, v.ver_code,
|
||
v.sp_nummer, v.sp_naam, v.ruimtesoort, v.m2_tarief,
|
||
v.m2_wpnorm,
|
||
SUM (COALESCE (v.bezetting, 100) / 100) ruimten,
|
||
SUM (v.wp_cap * COALESCE (v.bezetting, 100) / 100) wp,
|
||
SUM (v.teken_opp * COALESCE (v.bezetting, 100) / 100
|
||
) teken_opp
|
||
FROM curs_v_hv_actual v
|
||
GROUP BY v.dis_oms,
|
||
v.loc_code,
|
||
v.geb_code,
|
||
v.ver_code,
|
||
v.sp_nummer,
|
||
v.sp_naam,
|
||
v.ruimtesoort,
|
||
v.m2_tarief,
|
||
v.m2_wpnorm) x)
|
||
/
|
||
|
||
/* Formatted on 9-1-2009 13:42:38 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW curs_v_rap_hv_leegstand
|
||
(
|
||
hide_f_sortering,
|
||
fclt_f_district,
|
||
fclt_f_locatie,
|
||
fclt_f_gebouw,
|
||
totaal_opp,
|
||
leegst_opp,
|
||
leegst_ratio
|
||
)
|
||
AS
|
||
(SELECT '-',
|
||
tot.dis_oms,
|
||
tot.loc_code,
|
||
tot.geb_code,
|
||
REPLACE (TO_CHAR (COALESCE (tot.reken_opp, 0), '999999990D99'),
|
||
'.',
|
||
','
|
||
)
|
||
tot_opp,
|
||
REPLACE (TO_CHAR (COALESCE (leeg.reken_opp, 0), '999999990D99'),
|
||
'.',
|
||
','
|
||
)
|
||
lg_opp,
|
||
DECODE (
|
||
leeg.reken_opp,
|
||
NULL,
|
||
'0,00',
|
||
0,
|
||
'0,00',
|
||
REPLACE (
|
||
TO_CHAR (leeg.reken_opp / tot.reken_opp * 100,
|
||
'999999990D99'
|
||
),
|
||
'.',
|
||
','
|
||
)
|
||
)
|
||
|| '%'
|
||
lg_ratio
|
||
FROM ( SELECT v.geb_code,
|
||
v.loc_code,
|
||
v.dis_oms,
|
||
SUM(DECODE (
|
||
UPPER (v.ruimtesoort),
|
||
'OPEN WERKPLEK',
|
||
v.wp_cap
|
||
* v.m2_wpnorm
|
||
* COALESCE (v.bezetting, 100)
|
||
/ 100,
|
||
v.teken_opp
|
||
* COALESCE (v.bezetting, 100)
|
||
/ 100
|
||
))
|
||
reken_opp
|
||
FROM curs_v_hv_actual v
|
||
GROUP BY v.geb_code, v.loc_code, v.dis_oms) tot
|
||
LEFT JOIN
|
||
( SELECT v.geb_code,
|
||
SUM(DECODE (
|
||
UPPER (v.ruimtesoort),
|
||
'OPEN WERKPLEK',
|
||
v.wp_cap
|
||
* v.m2_wpnorm
|
||
* COALESCE (v.bezetting, 100)
|
||
/ 100,
|
||
v.teken_opp
|
||
* COALESCE (v.bezetting, 100)
|
||
/ 100
|
||
))
|
||
reken_opp
|
||
FROM curs_v_hv_actual v
|
||
WHERE v.sp_nummer IS NULL
|
||
GROUP BY v.geb_code) leeg
|
||
ON tot.geb_code = leeg.geb_code)
|
||
UNION ALL
|
||
(SELECT 'z',
|
||
'LANDELIJK',
|
||
'-',
|
||
'-',
|
||
REPLACE (
|
||
TO_CHAR (SUM (COALESCE (tot.reken_opp, 0)), '999999990D99'),
|
||
'.',
|
||
','
|
||
)
|
||
tot_opp,
|
||
REPLACE (
|
||
TO_CHAR (SUM (COALESCE (leeg.reken_opp, 0)), '999999990D99'),
|
||
'.',
|
||
','
|
||
)
|
||
lg_opp,
|
||
DECODE (
|
||
SUM (COALESCE (leeg.reken_opp, 0)),
|
||
NULL,
|
||
'0,00',
|
||
0,
|
||
'0,00',
|
||
REPLACE (
|
||
TO_CHAR (
|
||
SUM (COALESCE (leeg.reken_opp, 0))
|
||
/ SUM (COALESCE (tot.reken_opp, 0))
|
||
* 100,
|
||
'999999990D99'
|
||
),
|
||
'.',
|
||
','
|
||
)
|
||
)
|
||
|| '%'
|
||
lg_ratio
|
||
FROM ( SELECT v.geb_code,
|
||
v.loc_code,
|
||
v.dis_oms,
|
||
SUM(DECODE (
|
||
UPPER (v.ruimtesoort),
|
||
'OPEN WERKPLEK',
|
||
v.wp_cap
|
||
* v.m2_wpnorm
|
||
* COALESCE (v.bezetting, 100)
|
||
/ 100,
|
||
v.teken_opp
|
||
* COALESCE (v.bezetting, 100)
|
||
/ 100
|
||
))
|
||
reken_opp
|
||
FROM curs_v_hv_actual v
|
||
GROUP BY v.geb_code, v.loc_code, v.dis_oms) tot
|
||
LEFT JOIN
|
||
( SELECT v.geb_code,
|
||
SUM(DECODE (
|
||
UPPER (v.ruimtesoort),
|
||
'OPEN WERKPLEK',
|
||
v.wp_cap
|
||
* v.m2_wpnorm
|
||
* COALESCE (v.bezetting, 100)
|
||
/ 100,
|
||
v.teken_opp
|
||
* COALESCE (v.bezetting, 100)
|
||
/ 100
|
||
))
|
||
reken_opp
|
||
FROM curs_v_hv_actual v
|
||
WHERE v.sp_nummer IS NULL
|
||
GROUP BY v.geb_code) leeg
|
||
ON tot.geb_code = leeg.geb_code)
|
||
/
|
||
|
||
/* Formatted on 2009/01/08 13:55 (Formatter Plus v4.8.7) */
|
||
/* MAG WEG OF NIET? - NIET AANGEBODEN! */
|
||
CREATE OR REPLACE VIEW curs_v_rap_hv_lg_frozen (hide_f_sortering,
|
||
fclt_f_datum,
|
||
fclt_f_district,
|
||
fclt_f_locatie,
|
||
fclt_f_gebouw,
|
||
totaal_opp,
|
||
leegst_opp,
|
||
leegst_ratio
|
||
)
|
||
AS
|
||
(SELECT TO_CHAR (tot.freeze_datum, 'YYYY-MM-DD') datum, '-', tot.dis_oms,
|
||
tot.loc_code, tot.geb_code,
|
||
REPLACE (TO_CHAR (tot.reken_opp, '999999990D99'), '.',
|
||
',') tot_opp,
|
||
REPLACE (TO_CHAR (leeg.reken_opp, '999999990D99'), '.',
|
||
',') lg_opp,
|
||
REPLACE (TO_CHAR (leeg.reken_opp / tot.reken_opp * 100,
|
||
'999999990D99'
|
||
),
|
||
'.',
|
||
','
|
||
)
|
||
|| '%' lg_ratio
|
||
FROM (SELECT v.geb_code, v.loc_code, v.dis_oms, v.freeze_datum,
|
||
SUM (DECODE (UPPER (v.ruimtesoort),
|
||
'OPEN WERKPLEK', v.wp_cap
|
||
* v.m2_wpnorm
|
||
* COALESCE (v.bezetting, 100)
|
||
/ 100,
|
||
v.teken_opp
|
||
* COALESCE (v.bezetting, 100)
|
||
/ 100
|
||
)
|
||
) reken_opp
|
||
FROM curs_hv_freeze v
|
||
GROUP BY v.geb_code, v.loc_code, v.dis_oms, v.freeze_datum) tot
|
||
LEFT JOIN
|
||
(SELECT v.geb_code, v.freeze_datum,
|
||
SUM (DECODE (UPPER (v.ruimtesoort),
|
||
'OPEN WERKPLEK', v.wp_cap
|
||
* v.m2_wpnorm
|
||
* COALESCE (v.bezetting, 100)
|
||
/ 100,
|
||
v.teken_opp
|
||
* COALESCE (v.bezetting, 100)
|
||
/ 100
|
||
)
|
||
) reken_opp
|
||
FROM curs_hv_freeze v
|
||
WHERE v.sp_nummer IS NULL
|
||
GROUP BY v.geb_code, v.freeze_datum) leeg
|
||
ON tot.geb_code = leeg.geb_code
|
||
AND tot.freeze_datum = leeg.freeze_datum
|
||
)
|
||
UNION ALL
|
||
(SELECT TO_CHAR (tot.freeze_datum, 'YYYY-MM-DD') datum, 'z', 'LANDELIJK',
|
||
'-', '-',
|
||
REPLACE (TO_CHAR (SUM (tot.reken_opp), '999999990D99'),
|
||
'.',
|
||
','
|
||
) tot_opp,
|
||
REPLACE (TO_CHAR (SUM (leeg.reken_opp), '999999990D99'),
|
||
'.',
|
||
','
|
||
) lg_opp,
|
||
REPLACE (TO_CHAR ( SUM (leeg.reken_opp)
|
||
/ SUM (tot.reken_opp)
|
||
* 100,
|
||
'999999990D99'
|
||
),
|
||
'.',
|
||
','
|
||
)
|
||
|| '%' lg_ratio
|
||
FROM (SELECT v.geb_code, v.loc_code, v.dis_oms, v.freeze_datum,
|
||
SUM (DECODE (UPPER (v.ruimtesoort),
|
||
'OPEN WERKPLEK', v.wp_cap
|
||
* v.m2_wpnorm
|
||
* COALESCE (v.bezetting, 100)
|
||
/ 100,
|
||
v.teken_opp
|
||
* COALESCE (v.bezetting, 100)
|
||
/ 100
|
||
)
|
||
) reken_opp
|
||
FROM curs_hv_freeze v
|
||
GROUP BY v.geb_code, v.loc_code, v.dis_oms, v.freeze_datum) tot
|
||
LEFT JOIN
|
||
(SELECT v.geb_code, v.freeze_datum,
|
||
SUM (DECODE (UPPER (v.ruimtesoort),
|
||
'OPEN WERKPLEK', v.wp_cap
|
||
* v.m2_wpnorm
|
||
* COALESCE (v.bezetting, 100)
|
||
/ 100,
|
||
v.teken_opp
|
||
* COALESCE (v.bezetting, 100)
|
||
/ 100
|
||
)
|
||
) reken_opp
|
||
FROM curs_hv_freeze v
|
||
WHERE v.sp_nummer IS NULL
|
||
GROUP BY v.geb_code, v.freeze_datum) leeg
|
||
ON tot.geb_code = leeg.geb_code
|
||
AND tot.freeze_datum = leeg.freeze_datum
|
||
GROUP BY tot.freeze_datum)
|
||
/
|
||
|
||
/* Formatted on 19-1-2009 13:15:45 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW curs_v_rap_hv_doorbel_delta
|
||
(
|
||
fclt_f_district,
|
||
fclt_f_locatie,
|
||
fclt_f_gebouw,
|
||
fclt_f_afdeling_nr,
|
||
fclt_f_afdeling_naam,
|
||
m2_nu,
|
||
m2_delta
|
||
)
|
||
AS
|
||
(SELECT DISTINCT
|
||
z.dis, z.loc, z.geb, z.nr, z.naam, z.m2_actueel, z.m2_verschil
|
||
FROM (SELECT COALESCE (x.dis, y.dis) dis,
|
||
COALESCE (x.loc, y.loc) loc,
|
||
COALESCE (x.geb, y.geb) geb,
|
||
COALESCE (x.nr, y.nr) nr,
|
||
DECODE (x.naam,
|
||
COALESCE (y.naam, x.naam), x.naam,
|
||
'***GEWIJZIGD: ' || COALESCE (x.naam, '')
|
||
)
|
||
naam,
|
||
x.m2 m2_actueel,
|
||
y.m2 m2_laatste,
|
||
(COALESCE (x.m2, 0) - COALESCE (y.m2, 0)) m2_verschil
|
||
FROM (SELECT fclt_f_district dis,
|
||
fclt_f_locatie loc,
|
||
fclt_f_gebouw geb,
|
||
fclt_f_afdeling_nr nr,
|
||
fclt_f_afdeling_naam naam,
|
||
aantal_m2 m2,
|
||
kosten kosten
|
||
FROM curs_v_rap_hv_doorbelasting) x
|
||
LEFT JOIN
|
||
(SELECT fclt_f_district dis,
|
||
fclt_f_locatie loc,
|
||
fclt_f_gebouw geb,
|
||
fclt_f_afdeling_nr nr,
|
||
fclt_f_afdeling_naam naam,
|
||
aantal_m2 m2,
|
||
kosten kosten
|
||
FROM curs_v_rap_hv_doorbelfrozen
|
||
WHERE fclt_f_datum =
|
||
( SELECT TO_CHAR (MAX (freeze_datum),
|
||
'yyyy-mm-dd'
|
||
)
|
||
FROM curs_hv_freeze)) y
|
||
ON x.dis = y.dis
|
||
AND x.loc = y.loc
|
||
AND x.geb = y.geb
|
||
AND x.nr = y.nr
|
||
UNION
|
||
SELECT COALESCE (x.dis, y.dis) dis,
|
||
COALESCE (x.loc, y.loc) loc,
|
||
COALESCE (x.geb, y.geb) geb,
|
||
COALESCE (x.nr, y.nr) nr,
|
||
DECODE (y.naam,
|
||
COALESCE (x.naam, y.naam), y.naam,
|
||
'***GEWIJZIGD: ' || COALESCE (x.naam, '')
|
||
)
|
||
naam,
|
||
x.m2 m2_actueel,
|
||
y.m2 m2_laatste,
|
||
(COALESCE (x.m2, 0) - COALESCE (y.m2, 0)) m2_verschil
|
||
FROM (SELECT fclt_f_district dis,
|
||
fclt_f_locatie loc,
|
||
fclt_f_gebouw geb,
|
||
fclt_f_afdeling_nr nr,
|
||
fclt_f_afdeling_naam naam,
|
||
aantal_m2 m2,
|
||
kosten kosten
|
||
FROM curs_v_rap_hv_doorbelasting) x
|
||
RIGHT JOIN
|
||
(SELECT fclt_f_district dis,
|
||
fclt_f_locatie loc,
|
||
fclt_f_gebouw geb,
|
||
fclt_f_afdeling_nr nr,
|
||
fclt_f_afdeling_naam naam,
|
||
aantal_m2 m2,
|
||
kosten kosten
|
||
FROM curs_v_rap_hv_doorbelfrozen
|
||
WHERE fclt_f_datum =
|
||
( SELECT TO_CHAR (MAX (freeze_datum),
|
||
'yyyy-mm-dd'
|
||
)
|
||
FROM curs_hv_freeze)) y
|
||
ON x.dis = y.dis
|
||
AND x.loc = y.loc
|
||
AND x.geb = y.geb
|
||
AND x.nr = y.nr) z);
|
||
|
||
/* Formatted on 19-1-2009 13:15:45 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW curs_v_rap_hv_details_delta
|
||
(
|
||
fclt_f_district,
|
||
fclt_f_locatie,
|
||
fclt_f_gebouw,
|
||
fclt_f_verdieping,
|
||
ruimte_nr,
|
||
fclt_f_afdeling_nr,
|
||
fclt_f_afdeling_naam,
|
||
fclt_f_ruimtesoort,
|
||
wp_nu,
|
||
wp_delta,
|
||
m2_nu,
|
||
m2_delta
|
||
)
|
||
AS
|
||
(SELECT DISTINCT
|
||
z.dis,
|
||
z.loc,
|
||
z.geb,
|
||
z.ver,
|
||
z.rui,
|
||
z.nr,
|
||
z.naam,
|
||
z.soort,
|
||
z.wp_actueel,
|
||
z.wp_verschil,
|
||
z.m2_actueel,
|
||
z.m2_verschil
|
||
FROM (SELECT COALESCE (x.dis_oms, y.dis_oms) dis,
|
||
COALESCE (x.loc_code, y.loc_code) loc,
|
||
COALESCE (x.geb_code, y.geb_code) geb,
|
||
COALESCE (x.ver_code, y.ver_code) ver,
|
||
COALESCE (x.ruimte_nr, y.ruimte_nr) rui,
|
||
COALESCE (x.sp_nr, y.sp_nr) nr,
|
||
DECODE (x.sp_naam,
|
||
COALESCE (y.sp_naam, x.sp_naam), x.sp_naam,
|
||
'***GEWIJZIGD: ' || COALESCE (x.sp_naam, '')
|
||
)
|
||
naam,
|
||
DECODE (
|
||
x.ruimtesoort,
|
||
COALESCE (y.ruimtesoort, x.ruimtesoort),
|
||
x.ruimtesoort,
|
||
'***GEWIJZIGD: ' || COALESCE (x.ruimtesoort, '')
|
||
)
|
||
soort,
|
||
x.wp wp_actueel,
|
||
y.wp wp_laatste,
|
||
(COALESCE (x.wp, 0) - COALESCE (y.wp, 0)) wp_verschil,
|
||
x.m2 m2_actueel,
|
||
y.m2 m2_laatste,
|
||
(COALESCE (x.m2, 0) - COALESCE (y.m2, 0)) m2_verschil
|
||
FROM (SELECT v.dis_oms,
|
||
v.loc_code,
|
||
v.geb_code,
|
||
v.ver_code,
|
||
v.ruimte_nr,
|
||
COALESCE (v.sp_nummer, '[Leegstand]')
|
||
sp_nr,
|
||
v.sp_naam,
|
||
v.ruimtesoort,
|
||
v.bezetting bez,
|
||
v.wp_cap wp,
|
||
(DECODE (UPPER (v.ruimtesoort),
|
||
'OPEN WERKPLEK',
|
||
v.wp_cap * v.m2_wpnorm,
|
||
v.teken_opp
|
||
)
|
||
* COALESCE (v.bezetting, 100)
|
||
/ 100)
|
||
m2
|
||
FROM curs_v_hv_actual v) x
|
||
LEFT JOIN
|
||
(SELECT v.dis_oms,
|
||
v.loc_code,
|
||
v.geb_code,
|
||
v.ver_code,
|
||
v.ruimte_nr,
|
||
COALESCE (v.sp_nummer, '[Leegstand]')
|
||
sp_nr,
|
||
v.sp_naam,
|
||
v.ruimtesoort,
|
||
v.bezetting bez,
|
||
v.wp_cap wp,
|
||
(DECODE (UPPER (v.ruimtesoort),
|
||
'OPEN WERKPLEK',
|
||
v.wp_cap * v.m2_wpnorm,
|
||
v.teken_opp
|
||
)
|
||
* COALESCE (v.bezetting, 100)
|
||
/ 100)
|
||
m2
|
||
FROM curs_hv_freeze v
|
||
WHERE TRUNC (v.freeze_datum) =
|
||
( SELECT TRUNC (MAX (freeze_datum))
|
||
FROM curs_hv_freeze)) y
|
||
ON x.dis_oms = y.dis_oms
|
||
AND x.loc_code = y.loc_code
|
||
AND x.geb_code = y.geb_code
|
||
AND x.ver_code = y.ver_code
|
||
AND x.ruimte_nr = y.ruimte_nr
|
||
AND x.sp_nr = y.sp_nr
|
||
UNION
|
||
SELECT COALESCE (x.dis_oms, y.dis_oms) dis,
|
||
COALESCE (x.loc_code, y.loc_code) loc,
|
||
COALESCE (x.geb_code, y.geb_code) geb,
|
||
COALESCE (x.ver_code, y.ver_code) ver,
|
||
COALESCE (x.ruimte_nr, y.ruimte_nr) rui,
|
||
COALESCE (x.sp_nr, y.sp_nr) nr,
|
||
DECODE (y.sp_naam,
|
||
COALESCE (x.sp_naam, y.sp_naam), y.sp_naam,
|
||
'***GEWIJZIGD: ' || COALESCE (x.sp_naam, '')
|
||
)
|
||
naam,
|
||
DECODE (
|
||
y.ruimtesoort,
|
||
COALESCE (x.ruimtesoort, y.ruimtesoort),
|
||
y.ruimtesoort,
|
||
'***GEWIJZIGD: ' || COALESCE (x.ruimtesoort, '')
|
||
)
|
||
soort,
|
||
x.wp wp_actueel,
|
||
y.wp wp_laatste,
|
||
(COALESCE (x.wp, 0) - COALESCE (y.wp, 0)) wp_verschil,
|
||
x.m2 m2_actueel,
|
||
y.m2 m2_laatste,
|
||
(COALESCE (x.m2, 0) - COALESCE (y.m2, 0)) m2_verschil
|
||
FROM (SELECT v.dis_oms,
|
||
v.loc_code,
|
||
v.geb_code,
|
||
v.ver_code,
|
||
v.ruimte_nr,
|
||
COALESCE (v.sp_nummer, '[Leegstand]')
|
||
sp_nr,
|
||
v.sp_naam,
|
||
v.ruimtesoort,
|
||
v.bezetting bez,
|
||
v.wp_cap wp,
|
||
(DECODE (UPPER (v.ruimtesoort),
|
||
'OPEN WERKPLEK',
|
||
v.wp_cap * v.m2_wpnorm,
|
||
v.teken_opp
|
||
)
|
||
* COALESCE (v.bezetting, 100)
|
||
/ 100)
|
||
m2
|
||
FROM curs_v_hv_actual v) x
|
||
RIGHT JOIN
|
||
(SELECT v.dis_oms,
|
||
v.loc_code,
|
||
v.geb_code,
|
||
v.ver_code,
|
||
v.ruimte_nr,
|
||
COALESCE (v.sp_nummer, '[Leegstand]')
|
||
sp_nr,
|
||
v.sp_naam,
|
||
v.ruimtesoort,
|
||
v.bezetting bez,
|
||
v.wp_cap wp,
|
||
(DECODE (UPPER (v.ruimtesoort),
|
||
'OPEN WERKPLEK',
|
||
v.wp_cap * v.m2_wpnorm,
|
||
v.teken_opp
|
||
)
|
||
* COALESCE (v.bezetting, 100)
|
||
/ 100)
|
||
m2
|
||
FROM curs_hv_freeze v
|
||
WHERE TRUNC (v.freeze_datum) =
|
||
( SELECT TRUNC (MAX (freeze_datum))
|
||
FROM curs_hv_freeze)) y
|
||
ON x.dis_oms = y.dis_oms
|
||
AND x.loc_code = y.loc_code
|
||
AND x.geb_code = y.geb_code
|
||
AND x.ver_code = y.ver_code
|
||
AND x.ruimte_nr = y.ruimte_nr
|
||
AND x.sp_nr = y.sp_nr) z);
|
||
|
||
/* Formatted on 2008/11/27 12:45 (Formatter Plus v4.8.7) */
|
||
CREATE OR REPLACE VIEW curs_v_label_ruimte_sp (
|
||
alg_ruimte_key,
|
||
waarde
|
||
)
|
||
AS
|
||
SELECT DISTINCT ra.alg_ruimte_key, a.prs_afdeling_naam1
|
||
FROM prs_v_aanwezigruimteafdeling ra, prs_v_aanwezigafdeling a
|
||
WHERE ra.prs_afdeling_key = a.prs_afdeling_key
|
||
UNION
|
||
SELECT DISTINCT r.alg_ruimte_key, '[Leegstand]' -- ruimten zonder sp
|
||
FROM alg_v_aanwezigruimte r
|
||
WHERE NOT EXISTS ( -- waar geen sp binnen bestaat
|
||
SELECT ra.alg_ruimte_key
|
||
FROM prs_v_aanwezigruimteafdeling ra
|
||
WHERE ra.alg_ruimte_key = r.alg_ruimte_key)
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW curs_v_prj_label_ruimte_sp (
|
||
prj_ruimte_key,
|
||
waarde
|
||
)
|
||
AS
|
||
SELECT DISTINCT ra.prj_ruimte_key, a.prs_afdeling_naam1
|
||
FROM prj_ruimteafdeling ra, prs_v_aanwezigafdeling a
|
||
WHERE ra.prs_afdeling_key = a.prs_afdeling_key
|
||
UNION
|
||
SELECT DISTINCT r.prj_ruimte_key, '[Leegstand]' -- ruimten zonder sp
|
||
FROM prj_ruimte r
|
||
WHERE r.prj_ruimte_verwijder IS NULL
|
||
AND NOT EXISTS
|
||
( -- waar geen sp binnen bestaat
|
||
SELECT ra.prj_ruimte_key
|
||
FROM prj_ruimteafdeling ra
|
||
WHERE ra.prj_ruimteafdeling_verwijder IS NULL
|
||
AND ra.prj_ruimte_key = r.prj_ruimte_key)
|
||
/
|
||
|
||
/* Formatted on 2008/09/19 14:14 (Formatter Plus v4.8.7) */
|
||
CREATE OR REPLACE VIEW curs_v_label_ruimte_sp_nr (alg_ruimte_key, waarde)
|
||
AS
|
||
SELECT DISTINCT ra.alg_ruimte_key, a.prs_afdeling_naam
|
||
FROM prs_v_aanwezigruimteafdeling ra, prs_v_aanwezigafdeling a
|
||
WHERE ra.prs_afdeling_key = a.prs_afdeling_key
|
||
UNION
|
||
SELECT DISTINCT r.alg_ruimte_key, '[Leegstand]' -- ruimten zonder sp
|
||
FROM alg_v_aanwezigruimte r
|
||
WHERE NOT EXISTS ( -- waar geen sp binnen bestaat
|
||
SELECT ra.alg_ruimte_key
|
||
FROM prs_v_aanwezigruimteafdeling ra
|
||
WHERE ra.alg_ruimte_key = r.alg_ruimte_key)
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW curs_v_prj_label_ruimte_sp_nr (prj_ruimte_key, waarde)
|
||
AS
|
||
SELECT DISTINCT ra.prj_ruimte_key, a.prs_afdeling_naam
|
||
FROM prj_ruimteafdeling ra, prs_v_aanwezigafdeling a
|
||
WHERE ra.prs_afdeling_key = a.prs_afdeling_key
|
||
UNION
|
||
SELECT DISTINCT r.prj_ruimte_key, '[Leegstand]' -- ruimten zonder sp
|
||
FROM prj_ruimte r
|
||
WHERE r.prj_ruimte_verwijder IS NULL
|
||
AND NOT EXISTS
|
||
( -- waar geen sp binnen bestaat
|
||
SELECT ra.prj_ruimte_key
|
||
FROM prj_ruimteafdeling ra
|
||
WHERE ra.prj_ruimteafdeling_verwijder IS NULL
|
||
AND ra.prj_ruimte_key = r.prj_ruimte_key)
|
||
/
|
||
|
||
/* Formatted on 2008/09/19 14:14 (Formatter Plus v4.8.7) */
|
||
CREATE OR REPLACE VIEW curs_v_label_ruimte_sp_oms (alg_ruimte_key, waarde)
|
||
AS
|
||
SELECT DISTINCT ra.alg_ruimte_key, a.prs_afdeling_omschrijving
|
||
FROM prs_v_aanwezigruimteafdeling ra, prs_v_aanwezigafdeling a
|
||
WHERE ra.prs_afdeling_key = a.prs_afdeling_key
|
||
UNION
|
||
SELECT DISTINCT r.alg_ruimte_key, '[Leegstand]' -- ruimten zonder sp
|
||
FROM alg_v_aanwezigruimte r
|
||
WHERE NOT EXISTS ( -- waar geen sp binnen bestaat
|
||
SELECT ra.alg_ruimte_key
|
||
FROM prs_v_aanwezigruimteafdeling ra
|
||
WHERE ra.alg_ruimte_key = r.alg_ruimte_key)
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW curs_v_prj_label_ruimte_sp_oms (prj_ruimte_key, waarde)
|
||
AS
|
||
SELECT DISTINCT ra.prj_ruimte_key, a.prs_afdeling_omschrijving
|
||
FROM prj_ruimteafdeling ra, prs_v_aanwezigafdeling a
|
||
WHERE ra.prs_afdeling_key = a.prs_afdeling_key
|
||
UNION
|
||
SELECT DISTINCT r.prj_ruimte_key, '[Leegstand]' -- ruimten zonder sp
|
||
FROM prj_ruimte r
|
||
WHERE r.prj_ruimte_verwijder IS NULL
|
||
AND NOT EXISTS
|
||
( -- waar geen sp binnen bestaat
|
||
SELECT ra.prj_ruimte_key
|
||
FROM prj_ruimteafdeling ra
|
||
WHERE ra.prj_ruimteafdeling_verwijder IS NULL
|
||
AND ra.prj_ruimte_key = r.prj_ruimte_key)
|
||
/
|
||
|
||
/* Formatted on 2008/09/19 14:14 (Formatter Plus v4.8.7) */
|
||
CREATE OR REPLACE VIEW curs_v_label_wp_cnt (alg_ruimte_key, waarde)
|
||
AS
|
||
SELECT a.alg_ruimte_key, COALESCE (b.wp, '0') || ' werkplekken'
|
||
FROM (SELECT r.alg_ruimte_key
|
||
FROM alg_v_aanwezigruimte r) a
|
||
LEFT JOIN
|
||
(SELECT ok.alg_onrgoed_key, ok.alg_onrgoedkenmerk_waarde wp
|
||
FROM alg_onrgoedkenmerk ok
|
||
WHERE ok.alg_onrgoed_niveau = 'R'
|
||
AND ok.alg_kenmerk_key = 1240 -- werkplekken
|
||
AND ok.alg_onrgoedkenmerk_verwijder IS NULL) b
|
||
ON a.alg_ruimte_key = b.alg_onrgoed_key
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW curs_v_prj_label_wp_cnt (prj_ruimte_key, waarde)
|
||
AS
|
||
SELECT a.prj_ruimte_key, COALESCE (b.wp, '0') || ' werkplekken'
|
||
FROM (SELECT r.prj_ruimte_key
|
||
FROM prj_ruimte r
|
||
WHERE r.prj_ruimte_verwijder IS NULL) a
|
||
LEFT JOIN
|
||
(SELECT r.prj_ruimte_key, ok.alg_onrgoedkenmerk_waarde wp
|
||
FROM prj_ruimte r, alg_onrgoedkenmerk ok
|
||
WHERE r.alg_ruimte_key = ok.alg_onrgoed_key
|
||
AND ok.alg_onrgoed_niveau = 'R'
|
||
AND ok.alg_kenmerk_key = 1240 -- werkplekken
|
||
AND ok.alg_onrgoedkenmerk_verwijder IS NULL) b
|
||
ON a.prj_ruimte_key = b.prj_ruimte_key
|
||
/
|
||
|
||
/* Formatted on 2008/11/28 13:40 (Formatter Plus v4.8.7) */
|
||
CREATE OR REPLACE FORCE VIEW curs_v_thema_ruimte_sp (
|
||
alg_ruimte_key,
|
||
waarde,
|
||
waarde_key
|
||
)
|
||
AS
|
||
SELECT x.alg_ruimte_key,
|
||
DECODE (y.aantal,
|
||
NULL, '[Leegstand]',
|
||
1, SUBSTR (y.sp, 1, 60),
|
||
'Meer dan 1 service afdeling!'),
|
||
DECODE (y.aantal, NULL, -1, 1, y.sp_key, NULL)
|
||
FROM (SELECT r.alg_ruimte_key
|
||
FROM alg_v_aanwezigruimte r) x
|
||
LEFT JOIN
|
||
(SELECT ra.alg_ruimte_key,
|
||
MIN (a.prs_afdeling_naam1) sp,
|
||
MIN (a.prs_afdeling_key) sp_key,
|
||
COUNT (ra.prs_afdeling_key) aantal
|
||
FROM prs_v_aanwezigruimteafdeling ra, prs_v_aanwezigafdeling a
|
||
WHERE ra.prs_afdeling_key = a.prs_afdeling_key
|
||
GROUP BY ra.alg_ruimte_key) y
|
||
ON x.alg_ruimte_key = y.alg_ruimte_key
|
||
UNION ALL
|
||
SELECT NULL, a.prs_afdeling_naam1, a.prs_afdeling_key
|
||
FROM prs_v_aanwezigafdeling a
|
||
WHERE NOT EXISTS
|
||
(SELECT ra.prs_afdeling_key
|
||
FROM prs_v_aanwezigruimteafdeling ra
|
||
WHERE ra.prs_afdeling_key = a.prs_afdeling_key)
|
||
/
|
||
|
||
CREATE OR REPLACE TRIGGER curs_t_thema_ruimte_sp_i_iu
|
||
INSTEAD OF INSERT OR UPDATE
|
||
ON curs_v_thema_ruimte_sp
|
||
BEGIN
|
||
IF UPDATING -- oude hard weggooien; dus DELETE (lekker opruimen)!
|
||
THEN
|
||
DELETE FROM prs_ruimteafdeling
|
||
WHERE alg_ruimte_key = :new.alg_ruimte_key
|
||
AND prs_afdeling_key <> :new.waarde_key;
|
||
END IF;
|
||
|
||
BEGIN
|
||
IF :new.waarde_key <> -1
|
||
THEN
|
||
INSERT INTO prs_ruimteafdeling
|
||
(
|
||
alg_ruimte_key, prs_afdeling_key
|
||
)
|
||
VALUES (:new.alg_ruimte_key, :new.waarde_key);
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN DUP_VAL_ON_INDEX -- was al aanwezig
|
||
THEN
|
||
NULL;
|
||
END;
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW curs_v_prj_thema_ruimte_sp (
|
||
prj_ruimte_key,
|
||
waarde,
|
||
waarde_key
|
||
)
|
||
AS
|
||
SELECT x.prj_ruimte_key,
|
||
DECODE (y.aantal,
|
||
NULL, '[Leegstand]',
|
||
1, SUBSTR (y.sp, 1, 60),
|
||
'Meer dan 1 service afdeling!'),
|
||
DECODE (y.aantal, NULL, -1, 1, y.sp_key, NULL)
|
||
FROM (SELECT r.prj_ruimte_key
|
||
FROM prj_ruimte r
|
||
WHERE r.prj_ruimte_verwijder IS NULL) x
|
||
LEFT JOIN
|
||
(SELECT ra.prj_ruimte_key,
|
||
MIN (a.prs_afdeling_naam1) sp,
|
||
MIN (a.prs_afdeling_key) sp_key,
|
||
COUNT (ra.prs_afdeling_key) aantal
|
||
FROM prj_ruimteafdeling ra, prs_v_aanwezigafdeling a
|
||
WHERE ra.prj_ruimteafdeling_verwijder IS NULL
|
||
AND ra.prs_afdeling_key = a.prs_afdeling_key
|
||
GROUP BY ra.prj_ruimte_key) y
|
||
ON x.prj_ruimte_key = y.prj_ruimte_key
|
||
UNION ALL
|
||
SELECT NULL, a.prs_afdeling_naam1, a.prs_afdeling_key
|
||
FROM prs_v_aanwezigafdeling a
|
||
WHERE NOT EXISTS
|
||
(SELECT ra.prs_afdeling_key
|
||
FROM prj_ruimteafdeling ra
|
||
WHERE ra.prj_ruimteafdeling_verwijder IS NULL
|
||
AND ra.prs_afdeling_key = a.prs_afdeling_key)
|
||
/
|
||
|
||
CREATE OR REPLACE TRIGGER curs_t_prj_t_ruimte_sp_i_iu
|
||
INSTEAD OF INSERT OR UPDATE
|
||
ON curs_v_prj_thema_ruimte_sp
|
||
BEGIN
|
||
IF UPDATING -- oude logisch weggooien, dus g<><67>n DELETE!
|
||
THEN
|
||
UPDATE prj_ruimteafdeling
|
||
SET prj_ruimteafdeling_verwijder = SYSDATE
|
||
WHERE prj_ruimte_key = :new.prj_ruimte_key
|
||
AND prs_afdeling_key <> :new.waarde_key;
|
||
END IF;
|
||
|
||
BEGIN
|
||
IF :new.waarde_key <> -1
|
||
THEN
|
||
UPDATE prj_ruimteafdeling
|
||
SET prj_ruimteafdeling_verwijder = NULL
|
||
WHERE prj_ruimte_key = :new.prj_ruimte_key
|
||
AND prs_afdeling_key = :new.waarde_key;
|
||
|
||
INSERT INTO prj_ruimteafdeling
|
||
(
|
||
prj_ruimte_key, prs_afdeling_key
|
||
)
|
||
VALUES (:new.prj_ruimte_key, :new.waarde_key);
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN DUP_VAL_ON_INDEX -- was al aanwezig
|
||
THEN
|
||
NULL;
|
||
END;
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW curs_v_thema_ruimteafd
|
||
(
|
||
ALG_RUIMTE_KEY,
|
||
WAARDE,
|
||
WAARDE_KEY
|
||
)
|
||
AS
|
||
SELECT x.alg_ruimte_key,
|
||
DECODE (y.aantal,
|
||
NULL, '[Leegstand]',
|
||
1, SUBSTR (y.sp, 1, 60),
|
||
'[Meerdere afdelingen]'),
|
||
DECODE (y.aantal, NULL, -1, 1, y.sp_key, NULL)
|
||
FROM (SELECT r.alg_ruimte_key
|
||
FROM alg_v_aanwezigruimte r) x
|
||
LEFT JOIN
|
||
( SELECT ra.alg_ruimte_key,
|
||
MIN (a.prs_afdeling_naam1) sp,
|
||
MIN (a.prs_afdeling_key) sp_key,
|
||
COUNT (ra.prs_afdeling_key) aantal
|
||
FROM prs_v_aanwezigruimteafdeling ra,
|
||
prs_v_aanwezigafdeling a
|
||
WHERE ra.prs_afdeling_key = a.prs_afdeling_key
|
||
GROUP BY ra.alg_ruimte_key) y
|
||
ON x.alg_ruimte_key = y.alg_ruimte_key
|
||
UNION ALL
|
||
SELECT NULL, SUBSTR (a.prs_afdeling_naam1, 1, 60), a.prs_afdeling_key
|
||
FROM prs_v_aanwezigafdeling a
|
||
WHERE NOT EXISTS (SELECT ra.prs_afdeling_key
|
||
FROM prs_v_aanwezigruimteafdeling ra
|
||
WHERE ra.prs_afdeling_key = a.prs_afdeling_key);
|
||
|
||
CREATE OR REPLACE TRIGGER curs_t_thema_ruimteafd_i_iu
|
||
INSTEAD OF INSERT OR UPDATE
|
||
ON curs_v_thema_ruimteafd
|
||
BEGIN
|
||
IF UPDATING -- oude hard weggooien; dus DELETE (lekker opruimen)!
|
||
THEN
|
||
DELETE FROM prs_ruimteafdeling
|
||
WHERE alg_ruimte_key = :new.alg_ruimte_key
|
||
AND prs_afdeling_key <> :new.waarde_key;
|
||
END IF;
|
||
|
||
BEGIN
|
||
IF :new.waarde_key <> -1
|
||
THEN
|
||
INSERT INTO prs_ruimteafdeling
|
||
(
|
||
alg_ruimte_key, prs_afdeling_key
|
||
)
|
||
VALUES (:new.alg_ruimte_key, :new.waarde_key);
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN DUP_VAL_ON_INDEX -- was al aanwezig
|
||
THEN
|
||
NULL;
|
||
END;
|
||
END;
|
||
/
|
||
|
||
/* Formatted on 2008/09/19 15:30 (Formatter Plus v4.8.7) */
|
||
CREATE OR REPLACE VIEW curs_v_thema_wp_cnt (alg_ruimte_key, waarde)
|
||
AS
|
||
SELECT a.alg_ruimte_key,
|
||
DECODE (b.wp,
|
||
NULL, '0',
|
||
'0', '0',
|
||
'1', '1',
|
||
'2', '2',
|
||
'3', '3',
|
||
'4', '4',
|
||
'5', '5',
|
||
'>5'
|
||
)
|
||
FROM (SELECT r.alg_ruimte_key
|
||
FROM alg_v_aanwezigruimte r) a
|
||
LEFT JOIN
|
||
(SELECT ok.alg_onrgoed_key, ok.alg_onrgoedkenmerk_waarde wp
|
||
FROM alg_onrgoedkenmerk ok
|
||
WHERE ok.alg_onrgoed_niveau = 'R'
|
||
AND ok.alg_kenmerk_key = 1240 -- werkplekken
|
||
AND ok.alg_onrgoedkenmerk_verwijder IS NULL) b
|
||
ON a.alg_ruimte_key = b.alg_onrgoed_key
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW curs_v_prj_thema_wp_cnt (prj_ruimte_key, waarde)
|
||
AS
|
||
SELECT a.prj_ruimte_key,
|
||
DECODE (b.wp,
|
||
NULL, '0',
|
||
'0', '0',
|
||
'1', '1',
|
||
'2', '2',
|
||
'3', '3',
|
||
'4', '4',
|
||
'5', '5',
|
||
'>5'
|
||
)
|
||
FROM (SELECT r.prj_ruimte_key
|
||
FROM prj_ruimte r
|
||
WHERE r.prj_ruimte_verwijder IS NULL) a
|
||
LEFT JOIN
|
||
(SELECT r.prj_ruimte_key, ok.alg_onrgoedkenmerk_waarde wp
|
||
FROM prj_ruimte r, alg_onrgoedkenmerk ok
|
||
WHERE r.alg_ruimte_key = ok.alg_onrgoed_key
|
||
AND ok.alg_onrgoed_niveau = 'R'
|
||
AND ok.alg_kenmerk_key = 1240 -- werkplekken
|
||
AND ok.alg_onrgoedkenmerk_verwijder IS NULL) b
|
||
ON a.prj_ruimte_key = b.prj_ruimte_key
|
||
/
|
||
|
||
|
||
|
||
---- Pseudo-export HV_FREEZE; doel is om de actuele doorbelastingsregels
|
||
---- (1x per maand) te bevriezen in curs_HV_FREEZE!
|
||
----
|
||
/* Formatted on 2008/11/14 09:50 (Formatter Plus v4.8.7) */
|
||
CREATE OR REPLACE VIEW curs_v_export_hv_freeze (RESULT, result_order)
|
||
AS
|
||
SELECT '', 0
|
||
FROM DUAL
|
||
WHERE 1 = 0
|
||
/
|
||
|
||
/* Formatted on 2008/11/14 09:51 (Formatter Plus v4.8.7) */
|
||
CREATE OR REPLACE PROCEDURE curs_select_hv_freeze (
|
||
p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2
|
||
)
|
||
AS
|
||
BEGIN
|
||
NULL;
|
||
END;
|
||
/
|
||
|
||
/* Formatted on 2008/11/21 11:56 (Formatter Plus v4.8.7) */
|
||
CREATE OR REPLACE PROCEDURE curs_export_hv_freeze (
|
||
p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2
|
||
)
|
||
AS
|
||
-- Cursor over alle regels voor doorbelasting!
|
||
CURSOR c1
|
||
IS
|
||
SELECT hv.dis_oms, hv.loc_code, hv.geb_code, hv.ver_code,
|
||
hv.ruimte_nr, hv.ruimtesoort, hv.wp_cap, hv.teken_opp,
|
||
hv.sp_nummer, hv.sp_naam, hv.bezetting, hv.m2_wpnorm,
|
||
hv.m2_tarief
|
||
FROM curs_v_hv_actual hv
|
||
ORDER BY hv.dis_oms,
|
||
hv.loc_code,
|
||
hv.geb_code,
|
||
hv.ver_code,
|
||
hv.ruimte_nr,
|
||
hv.sp_nummer;
|
||
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_count_tot NUMBER (10);
|
||
freeze_date DATE;
|
||
BEGIN
|
||
v_count_tot := 0;
|
||
freeze_date := SYSDATE;
|
||
|
||
FOR rec IN c1
|
||
LOOP
|
||
INSERT INTO curs_hv_freeze
|
||
(dis_oms, loc_code, geb_code, ver_code,
|
||
ruimte_nr, ruimtesoort, wp_cap,
|
||
teken_opp, sp_nummer, sp_naam, bezetting,
|
||
m2_wpnorm, m2_tarief, freeze_datum, freeze_state
|
||
)
|
||
VALUES (rec.dis_oms, rec.loc_code, rec.geb_code, rec.ver_code,
|
||
rec.ruimte_nr, rec.ruimtesoort, rec.wp_cap,
|
||
rec.teken_opp, rec.sp_nummer, rec.sp_naam, rec.bezetting,
|
||
rec.m2_wpnorm, rec.m2_tarief, freeze_date, 'F'
|
||
);
|
||
|
||
v_count_tot := v_count_tot + 1;
|
||
END LOOP;
|
||
|
||
fac.writelog (p_applname,
|
||
'S',
|
||
'Aantal doorbelastingsregels bevroren: '
|
||
|| TO_CHAR (v_count_tot),
|
||
''
|
||
);
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 150);
|
||
v_errormsg :=
|
||
'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname,
|
||
'E',
|
||
'Proces HV_FREEZE afgebroken!',
|
||
v_errormsg
|
||
);
|
||
END;
|
||
/
|
||
|
||
|
||
-- Real-time monitors
|
||
CREATE OR REPLACE VIEW demo_v_graph_meldingpm_fm
|
||
(
|
||
fclt_xas_,
|
||
fclt_yas_,
|
||
volgorde
|
||
)
|
||
AS
|
||
SELECT DECODE (SUBSTR (TO_CHAR (mld_melding_datum, 'yyyymm'), 5),
|
||
'01', 'Januari',
|
||
'02', 'Februari',
|
||
'03', 'Maart',
|
||
'04', 'April',
|
||
'05', 'Mei',
|
||
'06', 'Juni',
|
||
'07', 'Juli',
|
||
'08', 'Augustus',
|
||
'09', 'September',
|
||
'10', 'Oktober',
|
||
'11', 'November',
|
||
'December'),
|
||
COUNT (d.ins_discipline_omschrijving),
|
||
TO_CHAR (mld_melding_datum, 'yyyymm')
|
||
FROM mld_melding m, mld_stdmelding std, ins_tab_discipline d
|
||
WHERE mld_melding_datum BETWEEN ADD_MONTHS (
|
||
TO_DATE (
|
||
TO_CHAR (SYSDATE, 'yyyymm') || '01',
|
||
'yyyymmdd'),
|
||
-11)
|
||
AND SYSDATE
|
||
AND m.mld_stdmelding_key = std.mld_stdmelding_key
|
||
AND std.mld_ins_discipline_key = d.ins_discipline_key
|
||
AND d.ins_srtdiscipline_key IN (1, 81, 101, 241)
|
||
GROUP BY TO_CHAR (mld_melding_datum, 'yyyymm');
|
||
|
||
CREATE OR REPLACE VIEW demo_v_graph_meldingpm_ict
|
||
(
|
||
fclt_xas_,
|
||
fclt_yas_,
|
||
volgorde
|
||
)
|
||
AS
|
||
SELECT DECODE (SUBSTR (TO_CHAR (mld_melding_datum, 'yyyymm'), 5),
|
||
'01', 'Januari',
|
||
'02', 'Februari',
|
||
'03', 'Maart',
|
||
'04', 'April',
|
||
'05', 'Mei',
|
||
'06', 'Juni',
|
||
'07', 'Juli',
|
||
'08', 'Augustus',
|
||
'09', 'September',
|
||
'10', 'Oktober',
|
||
'11', 'November',
|
||
'December'),
|
||
COUNT (d.ins_discipline_omschrijving),
|
||
TO_CHAR (mld_melding_datum, 'yyyymm')
|
||
FROM mld_melding m, mld_stdmelding std, ins_tab_discipline d
|
||
WHERE mld_melding_datum BETWEEN ADD_MONTHS (
|
||
TO_DATE (
|
||
TO_CHAR (SYSDATE, 'yyyymm') || '01',
|
||
'yyyymmdd'),
|
||
-11)
|
||
AND SYSDATE
|
||
AND m.mld_stdmelding_key = std.mld_stdmelding_key
|
||
AND std.mld_ins_discipline_key = d.ins_discipline_key
|
||
AND d.ins_srtdiscipline_key IN (201, 202)
|
||
GROUP BY TO_CHAR (mld_melding_datum, 'yyyymm');
|
||
|
||
CREATE OR REPLACE VIEW demo_v_graph_openst_behand
|
||
(
|
||
fclt_xas_,
|
||
fclt_yas_,
|
||
fclt_yas2_
|
||
)
|
||
AS
|
||
SELECT behandelaar,
|
||
COUNT (mld_key) - SUM (uitvoeringoptijd) totaal,
|
||
SUM (uitvoeringoptijd) op_tijd
|
||
FROM (SELECT DISTINCT
|
||
m.mld_melding_key mld_key,
|
||
CASE
|
||
WHEN fac.gettrackingdate ('MLDREJ', m.mld_melding_key) IS NULL
|
||
THEN
|
||
CASE SIGN(fac.datumtijdplusuitvoertijd (
|
||
m.mld_melding_datum,
|
||
m.mld_melding_uitvoertijd,
|
||
'DAGEN')
|
||
- COALESCE (
|
||
fac.gettrackingdate (
|
||
'MLDREJ',
|
||
m.mld_melding_key),
|
||
COALESCE (
|
||
fac.gettrackingdate (
|
||
'MLDAFM',
|
||
m.mld_melding_key),
|
||
SYSDATE)))
|
||
WHEN -1
|
||
THEN
|
||
0
|
||
ELSE
|
||
1
|
||
END
|
||
ELSE
|
||
1
|
||
END
|
||
uitvoeringoptijd,
|
||
DECODE (
|
||
mld_melding_status,
|
||
7,
|
||
(SELECT MAX (prs_bedrijf_naam)
|
||
FROM mld_opdr o, prs_bedrijf b
|
||
WHERE o.mld_melding_key = m.mld_melding_key
|
||
AND O.MLD_UITVOERENDE_KEYS = b.prs_bedrijf_key
|
||
AND O.MLD_STATUSOPDR_KEY IN (3, 4, 5, 8)), -- 3- Ter fiattering, 4-Gefiatteerd, 5-Uitgegeven, 8-Geaccepteerd
|
||
4,
|
||
COALESCE (
|
||
(SELECT MAX (prs_bedrijf_naam)
|
||
FROM mld_opdr o, prs_bedrijf b
|
||
WHERE o.mld_melding_key = m.mld_melding_key
|
||
AND O.MLD_UITVOERENDE_KEYS =
|
||
b.prs_bedrijf_key
|
||
AND O.MLD_STATUSOPDR_KEY IN (3, 4, 5, 8)), -- 3- Ter fiattering, 4-Gefiatteerd, 5-Uitgegeven, 8-Geaccepteerd
|
||
(SELECT prs_perslid_naam_full
|
||
FROM prs_v_perslid_fullnames pf
|
||
WHERE pf.prs_perslid_key =
|
||
M.MLD_MELDING_BEHANDELAAR_KEY)),
|
||
(SELECT prs_perslid_naam_full
|
||
FROM prs_v_perslid_fullnames pf
|
||
WHERE pf.prs_perslid_key =
|
||
M.MLD_MELDING_BEHANDELAAR_KEY))
|
||
behandelaar
|
||
FROM mld_melding m,
|
||
mld_discipline md,
|
||
prs_perslid p,
|
||
mld_stdmelding std
|
||
WHERE m.prs_perslid_key = p.prs_perslid_key
|
||
-- AND p.prs_perslid_key != 28421
|
||
AND md.ins_discipline_key = std.mld_ins_discipline_key
|
||
AND std.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND mld_melding_status IN (2, 3, 4, 7, 0) -- 2-ingevoerd, 3-ingezien, 4-geaccepteerd, 7-uitgegeven, 0-pending
|
||
AND md.ins_srtdiscipline_key IN (1, 81, 101, 241, 201, 202))
|
||
WHERE behandelaar IS NOT NULL
|
||
GROUP BY behandelaar;
|
||
|
||
CREATE OR REPLACE VIEW demo_v_graph_ppi_acc
|
||
(
|
||
fclt_xas_,
|
||
fclt_yas_
|
||
)
|
||
AS
|
||
SELECT SUM (acceptoptijd) aantal, COUNT (mld_key) totaal
|
||
FROM (SELECT DISTINCT
|
||
m.mld_melding_key mld_key,
|
||
CASE SIGN(fac.datumtijdplusuitvoertijd (
|
||
fac.gettrackingdate ('MLDNEW',
|
||
m.mld_melding_key),
|
||
std.mld_stdmelding_urgentie,
|
||
'UREN')
|
||
- COALESCE (
|
||
fac.gettrackingdate ('MLDREJ',
|
||
m.mld_melding_key),
|
||
COALESCE (
|
||
fac.gettrackingdate ('MLDACP',
|
||
m.mld_melding_key),
|
||
SYSDATE)))
|
||
WHEN -1
|
||
THEN
|
||
0
|
||
ELSE
|
||
1
|
||
END
|
||
acceptoptijd
|
||
FROM mld_melding m, mld_discipline md, mld_stdmelding std
|
||
WHERE md.ins_discipline_key = std.mld_ins_discipline_key
|
||
AND std.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND md.ins_srtdiscipline_key IN (1, 81, 101, 241, 201, 202)
|
||
AND mld_melding_status IN (2, 3) -- 2-ingevoerd, 3-ingezien
|
||
);
|
||
|
||
CREATE OR REPLACE VIEW demo_v_graph_ppi_uitv
|
||
(
|
||
fclt_xas_,
|
||
fclt_yas_
|
||
)
|
||
AS
|
||
SELECT SUM (uitvoeringoptijd) aantal, COUNT (mld_key) totaal
|
||
FROM (SELECT DISTINCT
|
||
m.mld_melding_key mld_key,
|
||
CASE
|
||
WHEN fac.gettrackingdate ('MLDREJ', m.mld_melding_key) IS NULL
|
||
THEN
|
||
CASE SIGN(fac.datumtijdplusuitvoertijd (
|
||
m.mld_melding_datum,
|
||
m.mld_melding_uitvoertijd,
|
||
'DAGEN')
|
||
- COALESCE (
|
||
fac.gettrackingdate (
|
||
'MLDREJ',
|
||
m.mld_melding_key),
|
||
COALESCE (
|
||
fac.gettrackingdate (
|
||
'MLDAFM',
|
||
m.mld_melding_key),
|
||
SYSDATE)))
|
||
WHEN -1
|
||
THEN
|
||
0
|
||
ELSE
|
||
1
|
||
END
|
||
ELSE
|
||
1
|
||
END
|
||
uitvoeringoptijd
|
||
FROM mld_melding m, mld_discipline md, mld_stdmelding std
|
||
WHERE md.ins_discipline_key = std.mld_ins_discipline_key
|
||
AND std.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND md.ins_srtdiscipline_key IN (1, 81, 101, 241, 201, 202)
|
||
AND mld_melding_status IN (2, 3, 4, 7, 0) -- 2-ingevoerd, 3-ingezien, 4-geaccepteerd, 7-uitgegeven, 0-pending
|
||
);
|
||
|
||
CREATE OR REPLACE VIEW demo_v_graph_vakgroep_afg
|
||
(
|
||
fclt_xas_,
|
||
fclt_yas_,
|
||
fclt_url,
|
||
fclt_3d_discipline_key
|
||
)
|
||
AS
|
||
SELECT d.ins_discipline_omschrijving,
|
||
COUNT (d.ins_discipline_omschrijving),
|
||
'appl/mld/mld_search.asp?urole=fo'
|
||
|| '&'
|
||
|| 'autosearch=1'
|
||
|| '&'
|
||
|| 'disc_key_str=',
|
||
d.ins_discipline_key
|
||
FROM mld_melding m,
|
||
mld_stdmelding std,
|
||
ins_tab_discipline d,
|
||
fac_tracking t
|
||
WHERE m.mld_stdmelding_key = std.mld_stdmelding_key
|
||
AND std.mld_ins_discipline_key = d.ins_discipline_key
|
||
AND d.ins_srtdiscipline_key IN (1, 81, 101, 241, 201, 202)
|
||
AND t.fac_tracking_refkey = mld_melding_key
|
||
AND t.fac_srtnotificatie_key = 22 -- MLDAFM
|
||
AND t.fac_tracking_datum > SYSDATE - 30
|
||
GROUP BY d.ins_discipline_key, d.ins_discipline_omschrijving;
|
||
|
||
CREATE OR REPLACE VIEW demo_v_graph_vakgroep_open
|
||
(
|
||
fclt_xas_,
|
||
fclt_yas_,
|
||
fclt_url,
|
||
fclt_3d_discipline_key
|
||
)
|
||
AS
|
||
SELECT lcl.x('ins_discipline_omschrijving', d.ins_discipline_key, d.ins_discipline_omschrijving),
|
||
COUNT (d.ins_discipline_omschrijving),
|
||
'appl/mld/mld_search.asp?urole=fo'
|
||
|| '&'
|
||
|| 'autosearch=1'
|
||
|| '&'
|
||
|| 'disc_key_str='
|
||
|| d.ins_discipline_key,
|
||
d.ins_discipline_key
|
||
FROM mld_melding m, mld_stdmelding std, ins_tab_discipline d
|
||
WHERE m.mld_stdmelding_key = std.mld_stdmelding_key
|
||
AND std.mld_ins_discipline_key = d.ins_discipline_key
|
||
AND mld_melding_status IN (2, 3, 4, 7, 0) -- 2-ingevoerd, 3-ingezien, 4-geaccepteerd, 7-uitgegeven, 0-pending
|
||
AND d.ins_srtdiscipline_key IN (1, 81, 101, 241, 201, 202)
|
||
GROUP BY d.ins_discipline_key, d.ins_discipline_omschrijving
|
||
ORDER BY COUNT (d.ins_discipline_omschrijving) DESC;
|
||
|
||
|
||
CREATE OR REPLACE VIEW demo_v_thema_ruimte_afd
|
||
(
|
||
ALG_RUIMTE_KEY,
|
||
WAARDE,
|
||
WAARDE_KEY
|
||
)
|
||
AS
|
||
SELECT x.alg_ruimte_key,
|
||
DECODE (
|
||
y.aantal,
|
||
NULL,
|
||
DECODE (x.verhuur, 0, '[Niet verhuurbaar]', '[GEEN DIVISIE!]'),
|
||
1,
|
||
DECODE (y.afd,
|
||
0, '[Geen afdeling toegewezen]',
|
||
SUBSTR (y.sp, 1, 60)),
|
||
'[Meerdere afdelingen!]'),
|
||
DECODE (y.aantal,
|
||
NULL, DECODE (x.verhuur, 0, -1, NULL),
|
||
1, DECODE (y.afd, 0, -1, y.sp_key),
|
||
NULL)
|
||
FROM (SELECT r.alg_ruimte_key,
|
||
COALESCE (sr.prs_verhuurbaar, 0) verhuur,
|
||
COALESCE (sr.prs_bevat_werkplek, 0) werkplek
|
||
FROM alg_v_aanwezigruimte r, alg_srtruimte sr
|
||
WHERE r.alg_srtruimte_key = sr.alg_srtruimte_key(+)) x
|
||
LEFT JOIN
|
||
( SELECT ra.alg_ruimte_key,
|
||
MIN (a.prs_afdeling_naam1) sp,
|
||
MIN (a.prs_afdeling_key) sp_key,
|
||
COUNT (ra.prs_afdeling_key) aantal,
|
||
MAX (COALESCE (a.prs_afdeling_parentkey, 0)) afd
|
||
FROM prs_v_aanwezigruimteafdeling ra,
|
||
prs_v_aanwezigafdeling a
|
||
WHERE ra.prs_afdeling_key = a.prs_afdeling_key
|
||
GROUP BY ra.alg_ruimte_key) y
|
||
ON x.alg_ruimte_key = y.alg_ruimte_key
|
||
UNION ALL
|
||
SELECT NULL, a.prs_afdeling_naam1, a.prs_afdeling_key
|
||
FROM prs_v_aanwezigafdeling a
|
||
WHERE NOT EXISTS (SELECT ra.prs_afdeling_key
|
||
FROM prs_v_aanwezigruimteafdeling ra
|
||
WHERE ra.prs_afdeling_key = a.prs_afdeling_key)
|
||
UNION ALL
|
||
SELECT DISTINCT
|
||
NULL, a.prs_afdeling_naam1 waarde, a.prs_afdeling_key waarde_key
|
||
FROM (SELECT DISTINCT ra.prs_afdeling_key
|
||
FROM prs_v_aanwezigruimteafdeling ra
|
||
MINUS
|
||
SELECT DISTINCT ra.prs_afdeling_key
|
||
FROM prs_v_aanwezigruimteafdeling ra, alg_v_aanwezigruimte r
|
||
WHERE ra.alg_ruimte_key IN (SELECT alg_ruimte_key
|
||
FROM ( SELECT alg_ruimte_key,
|
||
COUNT ( * ) aantal
|
||
FROM prs_v_aanwezigruimteafdeling
|
||
GROUP BY alg_ruimte_key)
|
||
WHERE aantal = 1)
|
||
AND ra.alg_ruimte_key = r.alg_ruimte_key) x,
|
||
prs_v_aanwezigafdeling a
|
||
WHERE x.prs_afdeling_key = a.prs_afdeling_key;
|
||
|
||
|
||
CREATE OR REPLACE VIEW demo_v_rap_voorraad
|
||
(
|
||
HIDE_F_EXTERN_DISKEY,
|
||
HIDE_F_SRTGROEP_OMSCHRIJVING,
|
||
FCLT_F_CATALOGUS,
|
||
ARTIKEL_NR,
|
||
ARTIKEL_OMSCHRIJVING,
|
||
ARTIKEL_PRIJS,
|
||
MAGAZIJN,
|
||
MIN_VOORRAAD,
|
||
MAX_VOORRAAD,
|
||
INKOOP_GELEVERD,
|
||
INTERN_BESTELD,
|
||
VOORRAAD,
|
||
INKOOP_BESTELD,
|
||
INKOOP_LEVERDATUM,
|
||
INKOOP_GEWENST
|
||
)
|
||
AS
|
||
SELECT extern.dkey,
|
||
COALESCE (intern.bes_srtgroep_omschrijving,
|
||
extern.bes_srtgroep_omschrijving),
|
||
COALESCE (intern.ins_discipline_omschrijving,
|
||
extern.ins_discipline_omschrijving),
|
||
extern.bes_srtdeel_nr,
|
||
COALESCE (intern.bes_srtdeel_omschrijving,
|
||
extern.bes_srtdeel_omschrijving),
|
||
COALESCE (intern.srtdeel_prijs, extern.srtdeel_prijs),
|
||
intern.magazijn,
|
||
extern.vmin,
|
||
extern.vmax,
|
||
extern.geleverd,
|
||
intern.besteld,
|
||
extern.geleverd - COALESCE (intern.besteld, 0) voorraad,
|
||
extern.besteld,
|
||
TO_CHAR(extern.leverdatum, 'dd-mm-yyyy'),
|
||
CASE
|
||
WHEN ( (COALESCE (extern.besteld, 0)
|
||
+ COALESCE (extern.geleverd, 0))
|
||
- COALESCE (intern.besteld, 0)) < extern.vmin
|
||
THEN
|
||
extern.vmax
|
||
- ( (COALESCE (extern.besteld, 0)
|
||
+ COALESCE (extern.geleverd, 0))
|
||
- COALESCE (intern.besteld, 0))
|
||
ELSE
|
||
NULL
|
||
END
|
||
extern_gewenst
|
||
FROM (SELECT bd.ins_discipline_key dkey, -- INKOOP-key
|
||
g.bes_srtgroep_omschrijving,
|
||
sd.bes_srtdeel_nr, -- ext. artikelnr
|
||
sd.bes_srtdeel_omschrijving,
|
||
bes.getsrtdeelprijs (sd.bes_srtdeel_key, NULL)
|
||
srtdeel_prijs,
|
||
bd.ins_discipline_omschrijving, -- ext. catalogusnaam
|
||
sd.bes_srtdeel_voorraadmin vmin, -- ext. voorraadmin
|
||
sd.bes_srtdeel_voorraadmax vmax, -- ext. voorraadmax
|
||
(SELECT SUM (coalesce(boi.bes_bestelopdr_item_aantal, bi.bes_bestelling_item_aantal)-COALESCE(boi.bes_bestelopdr_item_aantalontv,0))
|
||
FROM bes_bestelling b, bes_bestelling_item bi, bes_bestelopdr_item boi
|
||
WHERE boi.bes_bestelopdr_item_key(+) = bi.bes_bestelopdr_item_key
|
||
AND bi.bes_bestelling_item_status IN (2, 3, 4, 5)
|
||
AND b.bes_bestelling_key = bi.bes_bestelling_key
|
||
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key)
|
||
besteld,
|
||
(SELECT MIN (b.bes_bestelling_leverdatum)
|
||
FROM bes_bestelling b, bes_bestelling_item bi, bes_bestelopdr_item boi
|
||
WHERE boi.bes_bestelopdr_item_key(+) = bi.bes_bestelopdr_item_key
|
||
AND bi.bes_bestelling_item_status IN (2, 3, 4, 5)
|
||
AND COALESCE(bes_bestelopdr_item_aantal, bi.bes_bestelling_item_aantal) <> COALESCE(bes_bestelopdr_item_aantalontv, 0)
|
||
AND b.bes_bestelling_key = bi.bes_bestelling_key
|
||
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key)
|
||
leverdatum,
|
||
(SELECT SUM (boi.bes_bestelopdr_item_aantalontv)
|
||
FROM bes_bestelling b, bes_bestelling_item bi, bes_bestelopdr_item boi
|
||
WHERE -- boi.bes_bestelopdr_item_status in (6,7) AND
|
||
b.bes_bestelling_key = bi.bes_bestelling_key
|
||
AND boi.bes_bestelopdr_item_key = bi.bes_bestelopdr_item_key
|
||
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key)
|
||
geleverd
|
||
FROM bes_srtdeel sd,
|
||
bes_srtgroep g,
|
||
bes_discipline bd,
|
||
bes_disc_params dp
|
||
WHERE sd.bes_srtdeel_verwijder IS NULL
|
||
AND sd.bes_srtgroep_key = g.bes_srtgroep_key
|
||
AND g.ins_discipline_key = bd.ins_discipline_key
|
||
AND bd.ins_discipline_key = dp.bes_ins_discipline_key
|
||
AND dp.bes_ins_discipline_key_inkoop IS NULL
|
||
AND bd.ins_discipline_key IN
|
||
(SELECT bes_ins_discipline_key_inkoop
|
||
FROM bes_disc_params
|
||
WHERE bes_ins_discipline_key_inkoop IS NOT NULL))
|
||
extern -- Inkoop artikelen uit externe catalogus!
|
||
FULL JOIN
|
||
(SELECT dp.bes_ins_discipline_key_inkoop dkey, -- INKOOP-key
|
||
g.bes_srtgroep_omschrijving,
|
||
sd.bes_srtdeel_nr, -- int. artikelnr
|
||
sd.bes_srtdeel_omschrijving,
|
||
sd.bes_srtdeel_notitie magazijn,
|
||
bes.getsrtdeelprijs (sd.bes_srtdeel_key, NULL)
|
||
srtdeel_prijs,
|
||
bd.ins_discipline_omschrijving, -- int. catalogusnaam
|
||
(SELECT SUM (COALESCE(boi.bes_bestelopdr_item_aantal, bi.bes_bestelling_item_aantal))
|
||
FROM bes_bestelling b, bes_bestelling_item bi, bes_bestelopdr_item boi
|
||
WHERE boi.bes_bestelopdr_item_key(+) = bi.bes_bestelopdr_item_key
|
||
AND b.bes_bestelling_key = bi.bes_bestelling_key
|
||
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key)
|
||
besteld
|
||
FROM bes_srtdeel sd,
|
||
bes_srtgroep g,
|
||
bes_discipline bd,
|
||
bes_disc_params dp
|
||
WHERE sd.bes_srtdeel_verwijder IS NULL
|
||
AND sd.bes_srtgroep_key = g.bes_srtgroep_key
|
||
AND g.ins_discipline_key = bd.ins_discipline_key
|
||
AND bd.ins_discipline_key = dp.bes_ins_discipline_key
|
||
AND dp.bes_ins_discipline_key_inkoop IS NOT NULL) intern -- Verkoop artikelen uit interne catalogus!
|
||
ON extern.dkey = intern.dkey
|
||
AND extern.bes_srtdeel_nr = intern.bes_srtdeel_nr;
|
||
|
||
CREATE OR REPLACE VIEW demo_v_rap_dienstrapport
|
||
AS
|
||
SELECT TO_CHAR(m.mld_melding_datum, 'yyyymmddhh24') hide_f_srt,
|
||
TO_CHAR(m.mld_melding_datum, 'dd-mm-yyyy') fclt_d_datum,
|
||
sd.ins_srtdiscipline_prefix||m.mld_melding_key dienstrapport,
|
||
pf.prs_perslid_naam_full persoon,
|
||
'<a class="details" onclick=''FcltMgr.openDetail("appl/mld/mld_opdr_xml.asp?mld_key='
|
||
|| m.mld_melding_key || '")''>'
|
||
|| 'Print dienstrapport '||sd.ins_srtdiscipline_prefix||m.mld_melding_key || '</a>' html_print
|
||
FROM ins_srtdiscipline sd,
|
||
mld_discipline d,
|
||
mld_stdmelding s,
|
||
mld_melding m,
|
||
prs_v_perslid_fullnames pf
|
||
WHERE m.mld_stdmelding_key = 1241
|
||
AND s.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND d.ins_discipline_key = s.mld_ins_discipline_key
|
||
AND sd.ins_srtdiscipline_key = d.ins_srtdiscipline_key
|
||
AND pf.prs_perslid_key = m.prs_perslid_key;
|
||
|
||
|
||
BEGIN adm.systrackscript('$Workfile: demo.sql $', '$Revision$', 0); END;
|
||
/
|
||
BEGIN fac.registercustversion('DEMO', 0); END;
|
||
/
|
||
commit;
|
||
|
||
spool off
|