ALLR#87273 -- Rapportage reserveringen die geannuleerd zijn tijdens de lopende vergadering ivm opbouw dataplatform Alliander

svn path=/Customer/trunk/; revision=68412
This commit is contained in:
Jos Migo
2025-03-16 20:57:45 +00:00
parent b5b482ac3f
commit 5dee7cbd0a

View File

@@ -640,6 +640,25 @@ SELECT prs_kenmerk6, prs_kenmerk7,
GROUP BY prs_kenmerk6, prs_kenmerk7) i;
-- View - zie ticket ALLR#87273
-- annuleren = status_fo = vervallen = 4
-- status FO
--- 1 Optie
--- 2 Definitief
--- 3 Geblokkeerd
--- 4 Vervallen
-- status BO
--- 2 Geregistreerd
--- 5 Afgemeld
--- 6 Verwerkt
-- Vanuit Facilitor vervallen en/of verwijderen
--- handmatig op VERVALLEN (fo_status) dan GEEN VERWIJDERDATUM, MAAR WEL RESDEL
--- handmatig op VERWIJDEREN en WEL VERWIJDERDATUM + RESDEL + fo op 1
--- handmatig op VERWIJDEREN + NO_SHOW_KOSTEN dan WEL VERWIJDERDATUM + RESDEL + maar ook fo op 4
-- Vanuit Outlook verwijderd
---- RESDEL wordt gezet, door systeem (in fac_tracking geen prs_perslid_key) + fo_status wordt op vervallen gezet - (niet direct logisch, beter op 1...)
---- Dit kan voor ALLR automatisch via de schermpjes (als men na 10 minuten geen show aangeeft wordt deze verwijderd naar outlook/exchange -> facilitor)
---- Dit kan voor ALLR ook vanuit outlook-agenda door gebruiker echter ook dan is het de ruimte_resource die annuleert en dus is ook dan in facilitor de RESDEL door systeem...
CREATE OR REPLACE VIEW allr_v_rap_res_annuleringen
AS
SELECT v.res_rsv_ruimte_key,
@@ -655,6 +674,8 @@ SELECT v.res_rsv_ruimte_key,
v.bron_aanmaak,
v.prs_perslid_naam_friendly
aanvrager,
v.prs_perslid_email
aanvrager_email,
v.res_rsv_ruimte_van,
v.res_rsv_ruimte_tot,
v.duur_afspraak_minuten,
@@ -697,6 +718,11 @@ SELECT v.res_rsv_ruimte_key,
END
ruimte_gekoppeld,
p.prs_perslid_naam_friendly,
CASE
WHEN pp.prs_perslid_key = 11402 THEN new.prs_perslid_email_fallback
ELSE pp.prs_perslid_email
END
prs_perslid_email,
rrr.res_rsv_ruimte_omschrijving,
rrr.res_rsv_ruimte_van,
rrr.res_rsv_ruimte_tot,
@@ -705,14 +731,11 @@ SELECT v.res_rsv_ruimte_key,
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 -- als er een resnew uitgaat door een facilitor-gebruiker dan is de reservering ook vanuit die kant aangemaakt...
WHEN new.prs_perslid_email IS NOT NULL THEN 'facilitor'
ELSE 'outlook'
END
bron_aanmaak,
CASE
WHEN rrr.res_rsv_ruimte_externnr2 IS NOT NULL
AND rrr.res_rsv_ruimte_externsyncdate IS NOT NULL
@@ -795,6 +818,7 @@ SELECT v.res_rsv_ruimte_key,
no_show_binnen_minuten
FROM res_rsv_ruimte rrr,
prs_v_perslid_fullnames p,
prs_perslid pp,
res_ruimte_opstelling ro,
res_ruimte rr,
res_reservering r,
@@ -816,8 +840,22 @@ SELECT v.res_rsv_ruimte_key,
AND sn.fac_srtnotificatie_xmlnode = 'reservering'
AND sn.fac_srtnotificatie_code = 'RESDEL'
GROUP BY ft.fac_tracking_refkey
) ann
) ann,
( SELECT ft.fac_tracking_refkey,
p.prs_perslid_email,
CASE WHEN rrr.res_rsv_ruimte_host_key = 11402
THEN substr(fac_tracking_oms, instr(fac_tracking_oms, '[') + 1, instr(fac_tracking_oms, ']') - instr(fac_tracking_oms, '[') -1 )
END
prs_perslid_email_fallback
FROM fac_tracking ft, res_rsv_ruimte rrr, prs_perslid p
WHERE ft.fac_srtnotificatie_key = 59 -- RESNEW
AND ft.fac_tracking_refkey = rrr.res_rsv_ruimte_key
AND rrr.res_rsv_ruimte_host_key = 11402 -- organisator outlook - fallback
AND ft.prs_perslid_key = p.prs_perslid_key (+)
-- AND INSTR(ft.fac_tracking_oms, '@') > 0
) new -- resnew - om emailadres 'organisator outlook - fallback' uit de tracking te halen (bijv: 'Reservering is geregistreerd door [data.office@alliander.com]')
WHERE rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
AND p.prs_perslid_key = pp.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
@@ -825,6 +863,7 @@ SELECT v.res_rsv_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 (+)
AND rrr.res_rsv_ruimte_key = new.fac_tracking_refkey (+)
) v
;