HMOD#82329 -- Gebouwmeldingen in Facilitor via Gebouwbeheerders - Calenderview melding en actiedatum

svn path=/Customer/trunk/; revision=64062
This commit is contained in:
Jos Migo
2024-03-26 22:52:09 +00:00
parent c247cc93c9
commit 8e466a3a53

View File

@@ -2638,6 +2638,120 @@ SELECT
AND v.formatieplaats = k.code (+)
;
-- Meldingen en Actiedatums - Tbv Kalenderview (gebouwbeheerders)
CREATE OR REPLACE VIEW hmod_v_rap_meldingen_bo
(
MLD_MELDING_KEY,
MLD_MELDING_ONDERWERP,
BEHANDELAAR_KEY,
BEHANDELAAR,
MLD_STDMELDING_OMSCHRIJVING,
MLD_STDMELDINGGROEP_NAAM,
MLD_STATUS_OMSCHRIJVING,
LOCATIE_PLAATS,
LOCATIE_OMSCHRIJVING,
MLD_MELDING_DATUM,
MLD_MELDING_ACTIEDATUM,
MLD_MELDING_ACTIEDATUM_B, -- berekend voor kalenderweergave
MLD_MELDING_EINDDATUM,
OPDRACHTEN_AANTAL_LOPEND,
STATUS_KALENDER -- t.b.v. kalenderweergave
)
AS
SELECT m.mld_melding_key,
m.mld_melding_onderwerp,
m.mld_melding_behandelaar_key,
COALESCE(pb.prs_perslid_naam_friendly, '<nog geen behandelaar>')
behandelaar,
std.mld_stdmelding_omschrijving,
stg.mld_stdmeldinggroep_naam,
ms.mld_statuses_omschrijving,
l.alg_locatie_plaats,
l.alg_locatie_omschrijving,
m.mld_melding_datum,
m.mld_melding_actiedatum,
CASE WHEN m.mld_melding_actiedatum IS NULL THEN m.mld_melding_datum
ELSE m.mld_melding_actiedatum
END
mld_melding_actiedatum_b,
m.mld_melding_einddatum,
(SELECT count(*) FROM mld_opdr o WHERE o.mld_melding_key = m.mld_melding_key AND o.mld_statusopdr_key IN (5,8) ) -- uitgegeven, geaccepteerd
opdrachten_aantal_lopend,
CASE
WHEN ms.mld_statuses_key IN (2,3,4,7) AND m.mld_melding_actiedatum IS NULL THEN 'Nog inplannen' -- lopende melding nog inplannen
WHEN ms.mld_statuses_key IN (2,3,4,7) AND m.mld_melding_actiedatum IS NOT NULL THEN 'Ingepland' -- lopende melding nog inplannen
ELSE ms.mld_statuses_omschrijving
END status_kalender
FROM mld_melding m,
mld_statuses ms,
prs_v_perslid_fullnames p, -- melder
prs_v_perslid_fullnames pb, -- behandelaar
ins_tab_discipline d,
mld_stdmelding std,
mld_stdmeldinggroep stg,
alg_locatie l,
alg_district d
WHERE m.mld_stdmelding_key = std.mld_stdmelding_key
AND std.mld_ins_discipline_key = d.ins_discipline_key
AND m.mld_alg_locatie_key = l.alg_locatie_key -- alle std-meldingen hebben verplicht-niveau locatie
AND l.alg_district_key = d.alg_district_key
AND m.mld_melding_status = ms.mld_statuses_key
AND m.prs_perslid_key = p.prs_perslid_key(+)
AND m.mld_melding_behandelaar_key = pb.prs_perslid_key (+)
AND std.mld_stdmeldinggroep_key = stg.mld_stdmeldinggroep_key (+)
;
-- Tbv calenderview op actiedatum (voor Gebouwbeheerders)
CREATE OR REPLACE VIEW hmod_v_cal_meldingen_bo
(
USER_KEY,
TITLE,
VAN,
TOT,
ITEM_KEY,
COLOR,
TEXTCOLOR,
BEHANDELAAR,
ADRES,
STATUS_KALENDER,
MLD_STDMELDINGGROEP_NAAM
)
AS
SELECT behandelaar_key,
' - M' || mld_melding_key || ' - ' || mld_melding_onderwerp || CHR(10)
|| locatie_plaats || ' - ' || locatie_omschrijving || CHR(10)
|| CASE WHEN mld_melding_actiedatum IS NOT NULL THEN 'Van ' || TO_CHAR(mld_melding_actiedatum_b) || ' tot ...........' || CHR(10) ELSE '' || CHR(10) END || CHR(10)
|| 'Einddatum melding: ' || TO_CHAR(mld_melding_einddatum, 'dd-mm-yyyy') || CHR(10)
|| 'Behandelaar: ' || behandelaar
|| CASE WHEN opdrachten_aantal_lopend >0 THEN CHR(10) || 'Lopende opdrachten:' || TO_CHAR(opdrachten_aantal_lopend) || 'x' ELSE '' END
title,
mld_melding_actiedatum_b
van,
mld_melding_actiedatum_b + 2/24
tot,
mld_melding_key,
DECODE (status_kalender,
'Afgewezen', '#C0C0C0', -- grijs
'Afgemeld', '#C0C0C0', -- grijs
'Nog inplannen', '#f58a20', -- oranje
'Ingepland', '#20b2f5', -- lichtblauw
'#0000FF')
color,
DECODE (status_kalender,
'Afgewezen', '#bf0b3b', -- rood
'Afgemeld', '#000000', -- zwart
'Nog inplannen', '#FFFFFF', -- wit,
'Ingepland', '#FFFFFF',
'#000000')
textcolor,
behandelaar,
locatie_plaats || ' - ' || locatie_omschrijving
adres,
status_kalender,
mld_stdmeldinggroep_naam
FROM hmod_v_rap_meldingen_bo
ORDER BY mld_melding_actiedatum ;
-- Opdrachten en Gebouwbeheer
CREATE OR REPLACE VIEW HMOD_V_RAP_OPDRACHTEN_INTERN
(