ALLR#87273 -- Rapport - reserveringen die geannuleerd zijn tijdens de lopende vergadering
svn path=/Customer/trunk/; revision=68409
This commit is contained in:
192
AA/ALLR/allr.sql
192
AA/ALLR/allr.sql
@@ -621,6 +621,10 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
-------------------
|
||||
-- Rapportages --
|
||||
-------------------
|
||||
|
||||
-- View om te laten zien welke standplaatsen uit de personenimport te mappen zijn aan het kenmerk met key 1200.
|
||||
-- Dit kenmerk bevat de standplaatscode uit Workday
|
||||
CREATE OR REPLACE VIEW allr_v_rap_standplaats
|
||||
@@ -635,6 +639,194 @@ SELECT prs_kenmerk6, prs_kenmerk7,
|
||||
FROM fac_imp_perslid
|
||||
GROUP BY prs_kenmerk6, prs_kenmerk7) i;
|
||||
|
||||
-- View - zie ticket ALLR#87273
|
||||
CREATE OR REPLACE VIEW allr_v_rap_res_annuleringen
|
||||
AS
|
||||
SELECT v.res_rsv_ruimte_key,
|
||||
v.reserveringsnummer,
|
||||
v.res_rsv_ruimte_aanmaak,
|
||||
v.reeks,
|
||||
v.res_rsv_ruimte_omschrijving,
|
||||
v.alg_locatie_omschrijving,
|
||||
v.res_ruimte_nr,
|
||||
v.res_ruimte_key,
|
||||
v.ruimte_gekoppeld_outlook,
|
||||
v.ruimte_gekoppeld,
|
||||
v.bron_aanmaak,
|
||||
v.prs_perslid_naam_friendly
|
||||
aanvrager,
|
||||
v.res_rsv_ruimte_van,
|
||||
v.res_rsv_ruimte_tot,
|
||||
v.duur_afspraak_minuten,
|
||||
CASE WHEN UPPER(v.res_status_fo_omschrijving) IN ('VERVALLEN', 'OPTIE') AND v.res_rsv_ruimte_verwijder IS NOT NULL
|
||||
THEN 'Vervallen (geannuleerd)'
|
||||
ELSE v.res_status_fo_omschrijving
|
||||
END
|
||||
res_status_fo,
|
||||
CASE WHEN UPPER(v.res_status_fo_omschrijving) IN ('VERVALLEN', 'OPTIE') AND v.res_rsv_ruimte_verwijder IS NOT NULL
|
||||
THEN v.res_rsv_ruimte_verwijder
|
||||
ELSE NULL
|
||||
END
|
||||
geannuleerd_op,
|
||||
v.geannuleerd_vanuit,
|
||||
v.geannuleerd_door,
|
||||
v.no_show,
|
||||
ROUND(v.no_show_binnen_minuten)
|
||||
no_show_binnen_minuten
|
||||
FROM (SELECT rrr.res_rsv_ruimte_key,
|
||||
rrr.res_reservering_key || '/' || res_rsv_ruimte_volgnr
|
||||
reserveringsnummer,
|
||||
rrr.res_rsv_ruimte_aanmaak,
|
||||
rrr.res_rsv_ruimte_bezoekers,
|
||||
rr.res_ruimte_nr,
|
||||
rar.res_ruimte_key,
|
||||
CASE
|
||||
WHEN rr.res_ruimte_extern_id IS NOT NULL AND rr.res_ruimte_graphhooksecret IS NOT NULL
|
||||
THEN 'is gekoppeld'
|
||||
WHEN rr.res_ruimte_extern_id IS NOT NULL AND rr.res_ruimte_graphhooksecret IS NULL
|
||||
THEN 'is gekoppeld (zonder subscription?)'
|
||||
WHEN rr.res_ruimte_extern_id IS NULL AND rr.res_ruimte_graphhooksecret IS NOT NULL
|
||||
THEN 'was gekoppeld (nog met subscription?)'
|
||||
ELSE
|
||||
'niet gekoppeld'
|
||||
END
|
||||
ruimte_gekoppeld_outlook,
|
||||
CASE
|
||||
WHEN rr.res_ruimte_extern_id IS NOT NULL THEN rr.res_ruimte_extern_id
|
||||
ELSE NULL
|
||||
END
|
||||
ruimte_gekoppeld,
|
||||
p.prs_perslid_naam_friendly,
|
||||
rrr.res_rsv_ruimte_omschrijving,
|
||||
rrr.res_rsv_ruimte_van,
|
||||
rrr.res_rsv_ruimte_tot,
|
||||
(rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van) *24*60
|
||||
duur_afspraak_minuten,
|
||||
rrr.res_rsv_ruimte_externnr,
|
||||
rrr.res_rsv_ruimte_externnr2,
|
||||
rrr.res_rsv_ruimte_externsyncdate,
|
||||
(SELECT CASE
|
||||
WHEN prs_perslid_key IS NOT NULL THEN 'facilitor'
|
||||
ELSE 'outlook'
|
||||
END bron
|
||||
FROM fac_tracking ft
|
||||
WHERE ft.fac_tracking_refkey = rrr.res_rsv_ruimte_key
|
||||
AND ft.fac_srtnotificatie_key = 59)
|
||||
bron_aanmaak,
|
||||
CASE
|
||||
WHEN rrr.res_rsv_ruimte_externnr2 IS NOT NULL
|
||||
AND rrr.res_rsv_ruimte_externsyncdate IS NOT NULL
|
||||
THEN
|
||||
TO_CHAR (rrr.res_rsv_ruimte_externsyncdate,
|
||||
'dd-mm-yyyy hh24:mi:ss')
|
||||
WHEN rrr.res_rsv_ruimte_externnr IS NULL
|
||||
AND rrr.res_rsv_ruimte_externnr2 IS NULL
|
||||
THEN
|
||||
'nvt' -- deze reservering loopt niet mee in outlookkoppeling
|
||||
ELSE
|
||||
''
|
||||
END
|
||||
export_outlook_lastdate,
|
||||
CASE
|
||||
WHEN ( SELECT COUNT (*)
|
||||
FROM res_rsv_ruimte
|
||||
WHERE res_reservering_key = rrr.res_reservering_key
|
||||
GROUP BY res_reservering_key) > 1
|
||||
THEN
|
||||
'reeks'
|
||||
ELSE
|
||||
'enkelvoudig'
|
||||
END
|
||||
reeks,
|
||||
CASE
|
||||
WHEN rrr.res_rsv_ruimte_dirtlevel > 0
|
||||
THEN
|
||||
'ongeldige reservering in Facilitor'
|
||||
ELSE
|
||||
NULL
|
||||
END
|
||||
status_dirty,
|
||||
v.alg_gebouw_code,
|
||||
l.alg_locatie_omschrijving,
|
||||
rrr.res_status_bo_key,
|
||||
(select res_status_bo_omschrijving from res_status_bo where res_status_bo_key = rrr.res_status_bo_key)
|
||||
res_status_bo_omschrijving,
|
||||
rrr.res_status_fo_key,
|
||||
(select res_status_fo_omschrijving from res_status_fo where res_status_fo_key = rrr.res_status_fo_key)
|
||||
res_status_fo_omschrijving,
|
||||
rrr.res_rsv_ruimte_verwijder,
|
||||
ann.max_verwijderdatum,
|
||||
ann.teller_del,
|
||||
ann.max_prs_perslid_key,
|
||||
-- als VANUIT OUTLOOK en de verwijder_datum gezet, maar de Reservering is toch weer lopend, dan is het een ruimte-switch in outlook (van de ene naar de andere spreekkamer..)
|
||||
------ Waar dus eerst verwijdering op wordt gedaan en daarna op de nieuwe ruimte_resource dezelfde res_rsv_ruimte_key weer opengezet wordt S(res_allow_undelete)..
|
||||
CASE WHEN ann.max_verwijderdatum IS NOT NULL AND ann.max_prs_perslid_key IS NULL AND rrr.res_rsv_ruimte_verwijder IS NULL THEN 'ja' ELSE '' END
|
||||
ruimte_switch_outlook,
|
||||
-- als ann_max_prs_perslid IS NULL dan vanuit outlook via system de delete...
|
||||
CASE WHEN rrr.res_rsv_ruimte_verwijder IS NOT NULL AND ann.max_prs_perslid_key IS NULL
|
||||
THEN 'vanuit outlook - gebruiker onbekend'
|
||||
WHEN ann.max_prs_perslid_key IS NOT NULL
|
||||
THEN 'vanuit facilitor'
|
||||
ELSE ''
|
||||
END
|
||||
geannuleerd_vanuit,
|
||||
CASE WHEN ann.max_prs_perslid_key IS NOT NULL
|
||||
THEN (SELECT prs_perslid_email FROM prs_perslid WHERE prs_perslid_key = ann.max_prs_perslid_key)
|
||||
END
|
||||
geannuleerd_door,
|
||||
-- Is de reservering-delete binnen de afspraak - dan kan dit dus door een automatische no-show vanuit het roompanel na 10/11 minuten zijn gebeurd..
|
||||
CASE WHEN ann.max_verwijderdatum IS NOT NULL AND rrr.res_rsv_ruimte_verwijder IS NOT NULL
|
||||
AND ann.max_verwijderdatum BETWEEN rrr.res_rsv_ruimte_van AND rrr.res_rsv_ruimte_tot
|
||||
THEN 'no_show binnen afspraak'
|
||||
WHEN ann.max_verwijderdatum IS NOT NULL AND rrr.res_rsv_ruimte_verwijder IS NOT NULL
|
||||
AND ann.max_verwijderdatum < rrr.res_rsv_ruimte_van
|
||||
THEN 'no_show voor afspraak'
|
||||
WHEN ann.max_verwijderdatum IS NOT NULL AND rrr.res_rsv_ruimte_verwijder IS NOT NULL
|
||||
AND ann.max_verwijderdatum >= rrr.res_rsv_ruimte_van
|
||||
THEN 'no_show na afspraak'
|
||||
ELSE ''
|
||||
END
|
||||
no_show,
|
||||
CASE WHEN ann.max_verwijderdatum IS NOT NULL AND rrr.res_rsv_ruimte_verwijder IS NOT NULL
|
||||
AND ann.max_verwijderdatum BETWEEN rrr.res_rsv_ruimte_van AND rrr.res_rsv_ruimte_tot
|
||||
THEN (ann.max_verwijderdatum - rrr.res_rsv_ruimte_van)*24*60
|
||||
ELSE NULL
|
||||
END
|
||||
no_show_binnen_minuten
|
||||
FROM res_rsv_ruimte rrr,
|
||||
prs_v_perslid_fullnames p,
|
||||
res_ruimte_opstelling ro,
|
||||
res_ruimte rr,
|
||||
res_reservering r,
|
||||
( SELECT res_ruimte_key,
|
||||
COUNT (*),
|
||||
MAX (alg_ruimte_key) alg_ruimte_key
|
||||
FROM res_alg_ruimte
|
||||
WHERE res_alg_ruimte_verwijder IS NULL
|
||||
GROUP BY res_ruimte_key) rar,
|
||||
alg_v_onroerendgoed_gegevens v,
|
||||
alg_locatie l,
|
||||
( SELECT ft.fac_tracking_refkey,
|
||||
MAX (ft.fac_tracking_datum) max_verwijderdatum,
|
||||
MAX (ft.prs_perslid_key) max_prs_perslid_key,
|
||||
COUNT (*) teller_del
|
||||
FROM fac_tracking ft, fac_srtnotificatie sn
|
||||
WHERE ft.fac_srtnotificatie_key =
|
||||
sn.fac_srtnotificatie_key
|
||||
AND sn.fac_srtnotificatie_xmlnode = 'reservering'
|
||||
AND sn.fac_srtnotificatie_code = 'RESDEL'
|
||||
GROUP BY ft.fac_tracking_refkey
|
||||
) ann
|
||||
WHERE rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
|
||||
AND rrr.res_reservering_key = r.res_reservering_key
|
||||
AND rrr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
|
||||
AND ro.res_ruimte_key = rr.res_ruimte_key
|
||||
AND rr.res_ruimtE_key = rar.res_ruimte_key
|
||||
AND rar.alg_ruimte_key = v.alg_ruimte_key
|
||||
AND v.alg_locatie_key = l.alg_locatie_key
|
||||
AND rrr.res_rsv_ruimte_key = ann.fac_tracking_refkey (+)
|
||||
) v
|
||||
;
|
||||
|
||||
------------------------------------------------------
|
||||
-- Notificatiejobs rondom Reserveringen en Catering --
|
||||
|
||||
Reference in New Issue
Block a user