BLOS#62336 -- Herinrichting proces TechnischeDienst-opdrachten

svn path=/Customer/trunk/; revision=49505
This commit is contained in:
Jos Migo
2021-01-21 11:37:45 +00:00
parent d768989412
commit d819194fa5

View File

@@ -529,52 +529,88 @@ AS
CREATE OR REPLACE VIEW blos_v_rap_opdrachten_intern
(
type, -- Uit Intern bedrijf gekoppeld (=TD BLOS = Poule-opdracht) of via MLDORD aan Persoon / Handyman = Klus-opdracht)
mld_opdr_key,
mld_uitvoerende_key,
opdrachtnr,
opdracht_datum,
status,
melding,
behandelaar,
locatie_plaats,
locatie_omschrijving,
geplande_aanvang,
omschrijving,
prs_perslid_key,
naam_uitvoerder,
cluster_blos,
type_locatie,
uren_besteed,
afmeld_datum,
opdracht_type
TYPE,
MLD_OPDR_KEY,
MLD_UITVOERENDE_KEY,
OPDRACHTNR,
OPDRACHT_DATUM,
STATUS,
MELDING,
BEHANDELAAR,
LOCATIE_PLAATS,
LOCATIE_OMSCHRIJVING,
GEPLANDE_AANVANG,
OMSCHRIJVING,
PRS_PERSLID_KEY,
NAAM_UITVOERDER,
CLUSTER_BLOS,
TYPE_LOCATIE,
UREN_BESTEED,
AFMELD_DATUM,
OPDRACHT_TYPE
)
AS
SELECT CASE WHEN mu.type = 'B' THEN 'Poule-opdracht'
WHEN mu.type = 'P' THEN 'Klus-opdracht'
ELSE '<?>' END
type,
SELECT CASE
WHEN mu.TYPE = 'B' THEN 'Poule-opdracht'
WHEN mu.TYPE = 'P' THEN 'Klus-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
ELSE NULL END
CASE
WHEN mu.TYPE = 'B' THEN o.prs_perslid_key
WHEN mu.TYPE = 'P' THEN mu.mld_uitvoerende_key
ELSE NULL
END
mld_uitvoerende_key,
TO_CHAR (o.mld_melding_key) || '/' || o.mld_opdr_bedrijfopdr_volgnr
TO_CHAR (o.mld_melding_key)
|| '/'
|| o.mld_opdr_bedrijfopdr_volgnr
opdrachtnummer,
o.mld_opdr_datumbegin,
DECODE (os.mld_statusopdr_key, 8, DECODE (o.mld_opdr_halted, 1, 'Onderbroken', os.mld_statusopdr_omschrijving), os.mld_statusopdr_omschrijving) status,
DECODE (
os.mld_statusopdr_key,
8, DECODE (o.mld_opdr_halted,
1, 'Onderbroken',
os.mld_statusopdr_omschrijving),
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,
o.mld_opdr_plandatum,
TRIM(regexp_replace(regexp_substr(o.mld_opdr_omschrijving, '(([^ ]*)( |$)*){10}'), '[[:space:]]',' ')) || '...',
TRIM (
REGEXP_REPLACE (
REGEXP_SUBSTR (o.mld_opdr_omschrijving,
'(([^ ]*)( |$)*){10}'),
'[[:space:]]',
' '))
|| '...',
p.prs_perslid_key,
mu.naam,
(select ud.fac_usrdata_omschr from alg_onrgoedkenmerk k, fac_usrdata ud where k.alg_onrgoed_key = m.mld_alg_locatie_key and fac.safe_to_number(k.alg_onrgoedkenmerk_waarde) = ud.fac_usrdata_key and ud.fac_usrtab_key=1 and k.alg_kenmerk_key = 1000), -- kenmerk Cluster
(select ud.fac_usrdata_omschr from alg_onrgoedkenmerk k, fac_usrdata ud where k.alg_onrgoed_key = m.mld_alg_locatie_key and fac.safe_to_number(k.alg_onrgoedkenmerk_waarde) = ud.fac_usrdata_key and ud.fac_usrtab_key=2 and k.alg_kenmerk_key = 1002), -- kenmerk Type KDV, BVO, et.
(select ko.mld_kenmerkopdr_waarde from mld_kenmerkopdr ko where ko.mld_opdr_key = o.mld_opdr_key and ko.mld_kenmerk_key = 25), -- kenmerk 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
(SELECT ud.fac_usrdata_omschr
FROM alg_onrgoedkenmerk k, fac_usrdata ud
WHERE k.alg_onrgoed_key = m.mld_alg_locatie_key
AND fac.safe_to_number (k.alg_onrgoedkenmerk_waarde) =
ud.fac_usrdata_key
AND ud.fac_usrtab_key = 1
AND k.alg_kenmerk_key = 1000), -- kenmerk Cluster
(SELECT ud.fac_usrdata_omschr
FROM alg_onrgoedkenmerk k, fac_usrdata ud
WHERE k.alg_onrgoed_key = m.mld_alg_locatie_key
AND fac.safe_to_number (k.alg_onrgoedkenmerk_waarde) =
ud.fac_usrdata_key
AND ud.fac_usrtab_key = 2
AND k.alg_kenmerk_key = 1002), -- kenmerk Type KDV, BVO, et.
(SELECT ko.mld_kenmerkopdr_waarde
FROM mld_kenmerkopdr ko
WHERE ko.mld_opdr_key = o.mld_opdr_key
AND ko.mld_kenmerk_key = 25), -- kenmerk 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
ot.mld_typeopdr_omschrijving
FROM mld_opdr o,
mld_melding m,
@@ -594,7 +630,68 @@ AS
AND m.mld_alg_locatie_key = l.alg_locatie_key -- alle std-meldingen hebben verplicht-niveau locatie
AND o.mld_uitvoerende_keys = mu.mld_uitvoerende_key
AND os.mld_statusopdr_key = o.mld_statusopdr_key
AND mu.intern = 1 ;
AND mu.intern = 1;
-- Notificactiejob voor BLOS vanuit Opdrachten Notities met bepaalde notitie-classificatie voor servicedesk...
-- Flag = 16 (en geen +1 xemail, xmobile)
CREATE OR REPLACE VIEW BLOS_V_NOTI_SERVICEDESK_ORD -- ORD = Orders/Opdrachten
(
SENDER,
RECEIVER,
TEXT,
CODE,
FAC_SRTNOTIFICATIE_KEY,
KEY,
XKEY
-- XEMAIL,
-- XMOBILE
)
AS
SELECT (SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_upper = 'FACILITOR')
sender,
241 -- prs_perslid van persoon Facilitairbeheer Onderhoud met juiste emailadres facilitairbeheer@blos.nl
receiver,
'Opdrachtnotitie bij ' || TO_CHAR(o.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr) ||
' van ' || p.prs_perslid_voornaam || ' ' || p.prs_perslid_naam
text,
'CUST02'
code,
(SELECT fac_srtnotificatie_key
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_code = 'CUST02')
fac_srtnotificatie_key,
o.mld_opdr_key
key,
n.mld_opdr_note_key
xkey
FROM mld_melding m,
mld_opdr o,
mld_opdr_note n,
prs_perslid p,
fac_note_group ng
WHERE o.mld_opdr_key = n.mld_opdr_key
AND m.mld_melding_key = o.mld_melding_key
AND n.prs_perslid_key = p.prs_perslid_key
AND n.fac_note_group_key = ng.fac_note_group_key
AND ng.fac_note_group_key = 1 -- 'Notitie voor Facilitair'
AND n.prs_perslid_key NOT IN
(SELECT gg.prs_perslid_key
FROM fac_gebruikersgroep gg, fac_groep g
WHERE gg.fac_groep_key = g.fac_groep_key
AND g.fac_groep_key = 21) -- Servicedesk - Operationeel
AND n.mld_opdr_note_aanmaak >=
COALESCE (
( SELECT MAX (ft.fac_tracking_datum)
FROM fac_tracking ft, fac_srtnotificatie sn
WHERE ft.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
AND sn.fac_srtnotificatie_xmlnode = 'opdracht'
AND sn.fac_srtnotificatie_code = 'CUST02'),
SYSDATE - (SELECT COALESCE (fac_notificatie_job_interval, 1) / 24
FROM fac_notificatie_job
WHERE fac_notificatie_job_view = 'BLOS_V_NOTI_SERVICEDESK_ORD' )
) ;
------ payload end ------