KFNS#40008 SmartSigns-koppeling (zoals voor PNBR)

svn path=/Customer/trunk/; revision=33371
This commit is contained in:
Maarten van der Heide
2017-03-31 14:40:37 +00:00
parent 712c1c9700
commit f3dde261cc

View File

@@ -9148,6 +9148,177 @@ AS
WHERE d.kpi_definitie_key = s.kpi_definitie_key
ORDER BY 2, 1;
-- KFNS#40008: Rapport om status van reserveringen op te laten halen door SmartSigns.
/* Formatted on 31-3-2017 16:24:42 (QP5 v5.136.908.31019) */
CREATE OR REPLACE VIEW kfns_v_api_reserveringen
(
van,
tot,
key,
resid,
locatiecode,
gebouwcode,
fclt_3d_gebouw_key,
verdiepingcode,
ruimtecode,
ruimtenaam,
rvck_vnr,
voorziening,
aantal,
prijs,
btw,
act_oms,
srtact_oms,
bezoekers,
fo_status_key,
fo_status,
bo_status_key,
bo_status,
contact,
host,
kostenplaats,
resruimtekey,
algruimtekey,
algruimtenr,
omschrijving,
opmerking,
dagstaat
)
AS
SELECT x.van van_datumtijd,
x.tot tot_datumtijd,
x.res_rsv_ruimte_key res_key,
TO_CHAR (x.res_reservering_key) || '/' || TO_CHAR (x.res_rsv_ruimte_volgnr) res_id,
rvck.loc_code,
rvck.geb_code,
rvck.geb_key,
rvck.ver_code,
rvck.ruimtenr,
rvck.ruimtenaam,
rvck.vnr,
rvck.voorziening,
rvck.aantal,
ROUND (COALESCE (rvck.res_rsv_prijs, rvck.aantal * rvck.ps), 2) prijs,
rvck.btw,
x.res_activiteit_omschrijving,
x.res_srtactiviteit_omschrijving,
x.res_rsv_ruimte_bezoekers bezoekers,
x.fo_status_key,
DECODE (x.fo_status_key, 1, 'RESOPT', 2, 'RESDEF', 3, 'RESBLK', 'RESDEL') fo_status,
x.bo_status_key,
x.bo_status_oms,
x.contact_naam,
x.host_naam,
x.kp_nr,
rvck.res_ruimte_key,
rvck.alg_ruimte_key,
rvck.alg_ruimte_nr,
x.res_rsv_ruimte_omschrijving oms,
x.res_rsv_ruimte_opmerking opm,
DECODE (
x.contact_key,
58901, 'Ja',
DECODE (
COALESCE (
(SELECT res_kenmerkreservering_waarde
FROM res_kenmerkwaarde kw, res_kenmerk k
WHERE kw.res_kenmerk_key = k.res_kenmerk_key
AND k.res_srtkenmerk_key = 1
AND kw.res_rsv_ruimte_key = x.res_rsv_ruimte_key),
'1'),
'1', 'Nee',
'Ja'))
dagstaat
FROM (SELECT rr.res_rsv_ruimte_key,
rr.res_reservering_key,
rr.res_rsv_ruimte_volgnr,
a.res_activiteit_key,
a.res_activiteit_omschrijving,
sa.res_srtactiviteit_key,
sa.res_srtactiviteit_omschrijving,
rr.res_rsv_ruimte_van van,
rr.res_rsv_ruimte_tot tot,
rr.res_rsv_ruimte_bezoekers,
fs.res_status_fo_key fo_status_key,
fs.res_status_fo_omschrijving fo_status_oms,
bs.res_status_bo_key bo_status_key,
bs.res_status_bo_omschrijving bo_status_oms,
pfc.prs_perslid_key contact_key,
pfc.prs_perslid_naam_full contact_naam,
pfh.prs_perslid_key host_key,
pfh.prs_perslid_naam_full host_naam,
k.prs_kostenplaats_nr kp_nr,
k.prs_kostenplaats_omschrijving kp_oms,
rr.res_rsv_ruimte_omschrijving,
rr.res_rsv_ruimte_opmerking
FROM res_v_aanwezigrsv_ruimte rr, -- Alleen actieve!
res_activiteit a,
res_srtactiviteit sa,
res_status_fo fs,
res_status_bo bs,
prs_v_perslid_fullnames_all pfc,
prs_v_perslid_fullnames_all pfh,
prs_kostenplaats k
WHERE rr.res_rsv_ruimte_tot > TRUNC (SYSDATE, 'IW') - 7
AND rr.res_ruimte_opstel_key IS NOT NULL -- Alleen ruimtereserveringen!
AND rr.res_activiteit_key = a.res_activiteit_key
AND a.res_activiteit_verwijder IS NULL
AND a.res_srtactiviteit_key = sa.res_srtactiviteit_key
AND sa.res_srtactiviteit_verwijder IS NULL
AND rr.res_status_fo_key = fs.res_status_fo_key
AND rr.res_status_bo_key = bs.res_status_bo_key
AND rr.res_rsv_ruimte_dirtlevel = 0
AND rr.res_rsv_ruimte_contact_key = pfc.prs_perslid_key
AND rr.res_rsv_ruimte_host_key = pfh.prs_perslid_key
AND rr.prs_kostenplaats_key = k.prs_kostenplaats_key(+)) x
LEFT JOIN
(SELECT rrr.res_rsv_ruimte_key,
l.alg_locatie_code loc_code,
g.alg_gebouw_code geb_code,
g.alg_gebouw_key geb_key,
v.alg_verdieping_code ver_code,
r.alg_ruimte_nr ruimtenr,
r.alg_ruimte_key alg_ruimte_key,
rr.res_ruimte_key res_ruimte_key,
r.alg_ruimte_nr,
rr.res_ruimte_nr ruimtenaam,
TO_NUMBER (NULL) vnr,
ro.res_opstelling_omschrijving voorziening,
ROUND ((rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van) * 24, 2)
aantal, -- Duur in uren
rrr.res_rsv_ruimte_prijs res_rsv_prijs,
rr.res_ruimte_prijs ps, -- Uur-tarief
rr.res_ruimte_prijs_ochtend po,
rr.res_ruimte_prijs_middag pm,
rr.res_ruimte_prijs_avond pa,
NULL btw,
TO_NUMBER (NULL) k_key,
NULL k_naam,
NULL k_type,
NULL k_waarde
FROM res_v_aanwezigrsv_ruimte rrr,
res_ruimte_opstelling rro,
res_ruimte rr,
res_opstelling ro,
( SELECT res_ruimte_key,
MAX (alg_ruimte_key) alg_ruimte_key, COUNT ( * ) aantal
FROM res_alg_ruimte
WHERE res_alg_ruimte_verwijder IS NULL
GROUP BY res_ruimte_key) rar,
alg_ruimte r,
alg_verdieping v,
alg_gebouw g,
alg_locatie l
WHERE rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key
AND rro.res_ruimte_key = rr.res_ruimte_key
AND rro.res_opstelling_key = ro.res_opstelling_key
AND rr.res_ruimte_key = rar.res_ruimte_key(+)
AND rar.alg_ruimte_key = r.alg_ruimte_key(+)
AND 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(+)) rvck
ON x.res_rsv_ruimte_key = rvck.res_rsv_ruimte_key;
------ payload end ------
SET DEFINE OFF