HMOD#83254 -- Herstructurering Bedrijfsbureau - Views tbv interne/externe opdrachten in calenderweergave
svn path=/Customer/trunk/; revision=64418
This commit is contained in:
209
HMOD/hmod.sql
209
HMOD/hmod.sql
@@ -2638,7 +2638,7 @@ SELECT
|
||||
AND v.formatieplaats = k.code (+)
|
||||
;
|
||||
|
||||
-- Meldingen en Actiedatums - Tbv Kalenderview (gebouwbeheerders)
|
||||
-- Meldingen en Actiedatums
|
||||
CREATE OR REPLACE VIEW hmod_v_rap_meldingen_bo
|
||||
(
|
||||
MLD_MELDING_KEY,
|
||||
@@ -2701,7 +2701,7 @@ AS
|
||||
AND std.mld_stdmeldinggroep_key = stg.mld_stdmeldinggroep_key (+)
|
||||
;
|
||||
|
||||
-- Tbv calenderview op actiedatum (voor Gebouwbeheerders)
|
||||
-- Tbv calenderview op actiedatum vanuit Meldingen
|
||||
CREATE OR REPLACE VIEW hmod_v_cal_meldingen_bo
|
||||
(
|
||||
USER_KEY,
|
||||
@@ -2752,39 +2752,54 @@ SELECT behandelaar_key,
|
||||
FROM hmod_v_rap_meldingen_bo
|
||||
ORDER BY mld_melding_actiedatum ;
|
||||
|
||||
-- Opdrachten en Gebouwbeheer
|
||||
CREATE OR REPLACE VIEW HMOD_V_RAP_OPDRACHTEN_INTERN
|
||||
-- Opdrachten en Geplande aanvang
|
||||
--- uit storingen en service-aanvragen
|
||||
CREATE OR REPLACE VIEW hmod_v_rap_opdrachten
|
||||
(
|
||||
INTERN,
|
||||
TYPE,
|
||||
MLD_OPDR_KEY,
|
||||
MLD_UITVOERENDE_KEY,
|
||||
OPDRACHTNR,
|
||||
OPDRACHT_DATUM,
|
||||
STATUS,
|
||||
MELDING,
|
||||
BEHANDELAAR,
|
||||
LOCATIE_PLAATS,
|
||||
LOCATIE_OMSCHRIJVING,
|
||||
OPDRACHT_AANMAAKDATUM,
|
||||
GEPLANDE_AANVANG,
|
||||
GEPLANDE_AANVANG_B, -- berekend voor kalenderweergave
|
||||
GEPLANDE_EINDDATUM,
|
||||
GEPLANDE_EINDDATUM_B, -- berekend voor kalenderweergave
|
||||
OPDRACHT_EINDDATUM,
|
||||
MELDING_EINDDATUM,
|
||||
OMSCHRIJVING,
|
||||
PRS_PERSLID_KEY,
|
||||
NAAM_UITVOERDER,
|
||||
TYPE_LOCATIE,
|
||||
UREN_BESTEED,
|
||||
AFMELD_DATUM,
|
||||
OPDRACHT_TYPE,
|
||||
TD_NAAM
|
||||
TD_NAAM,
|
||||
PRIORITEIT,
|
||||
STATUS_KALENDER, -- t.b.v. kalenderweergave
|
||||
FCLT_3D_DISCIPLINE_KEY, -- vakgroep_key
|
||||
VAKGROEP,
|
||||
VAKGROEPTYPE
|
||||
)
|
||||
AS
|
||||
SELECT CASE
|
||||
WHEN mu.TYPE = 'B' THEN 'Poule-opdracht'
|
||||
WHEN mu.TYPE = 'P' THEN 'Klus-opdracht'
|
||||
SELECT mu.intern,
|
||||
CASE
|
||||
WHEN mu.TYPE = 'B' AND mu.intern = 1 THEN 'Poule-opdracht'
|
||||
WHEN mu.TYPE = 'P' AND mu.intern = 1 THEN 'Klus-opdracht'
|
||||
WHEN mu.intern = 0 THEN 'Externe opdracht'
|
||||
ELSE '<?>'
|
||||
END
|
||||
TYPE,
|
||||
o.mld_opdr_key,
|
||||
CASE
|
||||
WHEN mu.TYPE = 'B' THEN o.prs_perslid_key
|
||||
WHEN mu.TYPE = 'P' THEN mu.mld_uitvoerende_key
|
||||
WHEN mu.TYPE = 'B' AND mu.intern = 1 THEN mu.mld_uitvoerende_key
|
||||
WHEN mu.TYPE = 'P' AND mu.intern = 1 THEN mu.mld_uitvoerende_key
|
||||
WHEN mu.intern = 0 THEN mu.mld_uitvoerende_key
|
||||
ELSE NULL
|
||||
END
|
||||
mld_uitvoerende_key,
|
||||
@@ -2792,7 +2807,6 @@ AS
|
||||
|| '/'
|
||||
|| o.mld_opdr_bedrijfopdr_volgnr
|
||||
opdrachtnummer,
|
||||
o.mld_opdr_datumbegin,
|
||||
DECODE (
|
||||
os.mld_statusopdr_key,
|
||||
8, DECODE (o.mld_opdr_halted,
|
||||
@@ -2801,59 +2815,176 @@ AS
|
||||
os.mld_statusopdr_omschrijving)
|
||||
status,
|
||||
std.mld_stdmelding_omschrijving,
|
||||
COALESCE (p.prs_perslid_naam_full, '<nog geen behandelaar>'), -- BEHANDELAAR
|
||||
COALESCE (p.prs_perslid_naam_full, '<nog geen behandelaar>')
|
||||
behandelaar,
|
||||
l.alg_locatie_plaats,
|
||||
l.alg_locatie_omschrijving,
|
||||
COALESCE (o.mld_opdr_plandatum, o.mld_opdr_einddatum)
|
||||
geplande_aanvang,
|
||||
TRIM (
|
||||
o.mld_opdr_datumbegin,
|
||||
o.mld_opdr_plandatum
|
||||
geplande_aanvang,
|
||||
CASE WHEN o.mld_opdr_plandatum IS NOT NULL THEN o.mld_opdr_plandatum ELSE o.mld_opdr_datumbegin END
|
||||
geplande_aanvang_b,
|
||||
o.mld_opdr_plandatum2
|
||||
geplande_einddatum,
|
||||
CASE WHEN o.mld_opdr_plandatum2 IS NOT NULL AND o.mld_opdr_plandatum IS NOT NULL THEN o.mld_opdr_plandatum2
|
||||
WHEN o.mld_opdr_plandatum2 IS NULL AND o.mld_opdr_plandatum IS NOT NULL THEN o.mld_opdr_plandatum + 2/24
|
||||
ELSE o.mld_opdr_datumbegin + 2/24
|
||||
END
|
||||
geplande_einddatum_b,
|
||||
o.mld_opdr_einddatum,
|
||||
m.mld_melding_einddatum,
|
||||
TRIM (
|
||||
REGEXP_REPLACE (
|
||||
REGEXP_SUBSTR (o.mld_opdr_omschrijving,
|
||||
'(([^ ]*)( |$)*){10}'),
|
||||
'[[:space:]]',
|
||||
' '))
|
||||
|| '...',
|
||||
|| '...'
|
||||
omschrijving,
|
||||
p.prs_perslid_key,
|
||||
mu.naam,
|
||||
d.alg_district_omschrijving,
|
||||
mu.naam
|
||||
naam_uitvoerder,
|
||||
(SELECT ko.mld_kenmerkopdr_waarde
|
||||
FROM mld_kenmerkopdr ko
|
||||
WHERE ko.mld_opdr_key = o.mld_opdr_key
|
||||
AND ko.mld_kenmerk_key = 203) -- kenmerk Uren_besteed
|
||||
uren_besteed,
|
||||
(SELECT MAX (ft.fac_tracking_datum)
|
||||
FROM fac_tracking ft
|
||||
WHERE ft.fac_tracking_refkey = o.mld_opdr_key
|
||||
AND ft.fac_srtnotificatie_key = 74), -- MLDAFM
|
||||
AND ft.fac_srtnotificatie_key = 78) -- ORDAFM
|
||||
afmeld_datum,
|
||||
ot.mld_typeopdr_omschrijving,
|
||||
CASE
|
||||
WHEN mu.TYPE = 'B'
|
||||
THEN
|
||||
COALESCE (p.prs_perslid_naam_full,
|
||||
'<nog geen behandelaar>')
|
||||
WHEN mu.TYPE = 'P'
|
||||
THEN
|
||||
mu.naam
|
||||
ELSE
|
||||
'<?>'
|
||||
END
|
||||
TD_NAAM
|
||||
WHEN mu.TYPE = 'B' AND mu.intern = 1 THEN COALESCE (p.prs_perslid_naam_full, '<nog geen behandelaar>')
|
||||
WHEN mu.TYPE = 'P' AND mu.intern = 1 THEN mu.naam
|
||||
ELSE ''
|
||||
END td_naam,
|
||||
CASE WHEN mu.intern = 1 THEN COALESCE(v.prioriteit,'3 - NORMAAL')
|
||||
ELSE 'nvt'
|
||||
END
|
||||
prioriteit,
|
||||
CASE
|
||||
WHEN os.mld_statusopdr_omschrijving = 'Afgemeld' THEN 'Afgemeld'
|
||||
WHEN os.mld_statusopdr_omschrijving = 'Afgewezen' THEN 'Afgewezen'
|
||||
WHEN mu.intern = 1 AND os.mld_statusopdr_omschrijving = 'Toegekend' AND o.mld_opdr_plandatum IS NULL THEN 'Nog inplannen'
|
||||
WHEN mu.intern = 1 AND os.mld_statusopdr_omschrijving = 'Toegekend' AND o.mld_opdr_plandatum IS NOT NULL THEN 'Ingepland'
|
||||
WHEN mu.intern = 0 AND os.mld_statusopdr_omschrijving = 'Toegekend' AND o.mld_opdr_plandatum IS NULL THEN 'Nog niet bevestigd'
|
||||
WHEN mu.intern = 0 AND os.mld_statusopdr_omschrijving = 'Toegekend' AND o.mld_opdr_plandatum IS NOT NULL THEN 'Bevestigd'
|
||||
ELSE ''
|
||||
END status_kalender,
|
||||
d.ins_discipline_key,
|
||||
d.ins_discipline_omschrijving,
|
||||
sd.ins_srtdiscipline_omschrijving
|
||||
FROM mld_opdr o,
|
||||
mld_melding m,
|
||||
mld_typeopdr ot,
|
||||
prs_v_perslid_fullnames p,
|
||||
ins_tab_discipline d,
|
||||
ins_srtdiscipline sd,
|
||||
mld_stdmelding std,
|
||||
alg_locatie l,
|
||||
alg_district d,
|
||||
alg_district di,
|
||||
mld_v_uitvoerende mu,
|
||||
mld_statusopdr os
|
||||
mld_statusopdr os,
|
||||
(
|
||||
SELECT ko.mld_opdr_key, ud.fac_usrdata_code || ' - ' || ud.fac_usrdata_omschr prioriteit
|
||||
FROM mld_kenmerkopdr ko, fac_usrdata ud
|
||||
WHERE fac.safe_to_number(ko.mld_kenmerkopdr_waarde) = ud.fac_usrdata_key
|
||||
AND fac_usrtab_key = 641 -- keuzelijst eigen tabel Prioriteit
|
||||
AND ko.mld_kenmerk_key IN (3881, 3901) -- kenmerk Prioriteit
|
||||
) v
|
||||
WHERE o.mld_melding_key = m.mld_melding_key(+)
|
||||
AND o.prs_perslid_key = p.prs_perslid_key(+)
|
||||
AND o.mld_typeopdr_key = ot.mld_typeopdr_key
|
||||
AND ot.mld_typeopdr_isofferte = 0 -- Alleen werkopdrachten
|
||||
AND 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_stdmelding_key = std.mld_stdmelding_key
|
||||
AND std.mld_ins_discipline_key = d.ins_discipline_key
|
||||
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||||
AND sd.ins_srtdiscipline_key IN (22, 23) -- Storingen en Serviceaanvragen
|
||||
AND m.mld_alg_locatie_key = l.alg_locatie_key (+)
|
||||
AND l.alg_district_key = di.alg_district_key (+)
|
||||
AND o.mld_uitvoerende_keys = mu.mld_uitvoerende_key
|
||||
AND os.mld_statusopdr_key = o.mld_statusopdr_key
|
||||
AND mu.intern = 1;
|
||||
AND o.mld_opdr_key = v.mld_opdr_key(+);
|
||||
|
||||
-- Tbv calenderview vanuit Opdrachten - geplande aanvang
|
||||
CREATE OR REPLACE VIEW hmod_v_cal_opdrachten
|
||||
(
|
||||
USER_KEY,
|
||||
TITLE,
|
||||
VAN,
|
||||
TOT,
|
||||
ITEM_KEY,
|
||||
COLOR,
|
||||
TEXTCOLOR,
|
||||
NAAM_UITVOERRDER,
|
||||
LOCATIE_PLAATS,
|
||||
STATUS_KALENDER,
|
||||
INTERN,
|
||||
OPDRACHT_TYPE
|
||||
)
|
||||
AS
|
||||
SELECT mld_uitvoerende_key,
|
||||
' - ' || opdrachtnr || CHR(10)
|
||||
|| naam_uitvoerder || CHR(10)
|
||||
|| locatie_omschrijving || CHR(10)
|
||||
|| 'Status: ' || status_kalender || CHR(10)
|
||||
|| CASE WHEN geplande_einddatum IS NOT NULL THEN DECODE(intern, 1, 'Ingepland tot ', 'Bevestigd voor ') || TO_CHAR(geplande_einddatum_b) || CHR(10) ELSE '' END
|
||||
|| CASE WHEN intern = 1 THEN CHR(10) || 'Prio: ' || prioriteit ELSE '' END
|
||||
title,
|
||||
geplande_aanvang_b
|
||||
van,
|
||||
geplande_einddatum_b
|
||||
tot,
|
||||
mld_opdr_key,
|
||||
DECODE (intern, 1,
|
||||
DECODE (status_kalender,
|
||||
'Afgewezen', '#C0C0C0', -- grijs
|
||||
'Afgemeld', '#C0C0C0', -- grijs
|
||||
'Nog inplannen', '#f58a20', -- oranje
|
||||
'Ingepland', '#20b2f5', -- lichtblauw
|
||||
'#0000FF'),
|
||||
0,
|
||||
DECODE (status_kalender,
|
||||
'Afgewezen', '#C0C0C0', -- grijs
|
||||
'Afgemeld', '#C0C0C0', -- grijs
|
||||
'Nog niet bevestigd', '#F5ED5D', -- lichtgeel
|
||||
'Bevestigd', '#DED304', -- donkergeel
|
||||
'#0000FF'),
|
||||
'#0000FF'
|
||||
) color, --
|
||||
DECODE (intern, 1,
|
||||
DECODE (status_kalender,
|
||||
'Afgewezen', '#bf0b3b', -- rood
|
||||
'Afgemeld', '#000000', -- zwart
|
||||
'Nog inplannen', '#FFFFFF', -- wit,
|
||||
'Ingepland',
|
||||
DECODE (LOWER(prioriteit),
|
||||
'3 - normaal', '#FFFFFF', -- wit
|
||||
'4 - laag', '#FFFFFF', -- wit
|
||||
'2 - hoog', '#f58a20', -- oranje
|
||||
'1 - kritiek', '#bf0b3b', -- rood
|
||||
'#000000'),
|
||||
'#000000'),
|
||||
0,
|
||||
DECODE (status_kalender,
|
||||
'Afgewezen', '#bf0b3b', -- rood
|
||||
'Afgemeld', '#000000', -- zwart
|
||||
'Nog niet bevestigd', '#000000', -- zwart
|
||||
'Bevestigd', '#000000', -- zwart
|
||||
'Toegekend', '#FFFFFF', -- wit,
|
||||
'#0000FF'),
|
||||
'#000000'
|
||||
) textcolor,
|
||||
naam_uitvoerder,
|
||||
locatie_plaats,
|
||||
status_kalender,
|
||||
intern,
|
||||
opdracht_type
|
||||
FROM hmod_v_rap_opdrachten
|
||||
ORDER BY geplande_aanvang_b ;
|
||||
|
||||
|
||||
-- view om QR codes voor een deel te genereren
|
||||
CREATE OR REPLACE VIEW hmod_v_rap_qr_deel
|
||||
|
||||
Reference in New Issue
Block a user