BLOS#62336 -- Herinrichting proces TechnischeDienst-opdrachten
svn path=/Customer/trunk/; revision=49505
This commit is contained in:
225
BLOS/blos.sql
225
BLOS/blos.sql
@@ -529,72 +529,169 @@ 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,
|
||||
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
|
||||
mld_uitvoerende_key,
|
||||
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,
|
||||
std.mld_stdmelding_omschrijving,
|
||||
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:]]',' ')) || '...',
|
||||
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
|
||||
ot.mld_typeopdr_omschrijving
|
||||
FROM mld_opdr o,
|
||||
mld_melding m,
|
||||
mld_typeopdr ot,
|
||||
prs_v_perslid_fullnames p,
|
||||
ins_tab_discipline d,
|
||||
mld_stdmelding std,
|
||||
alg_locatie l,
|
||||
mld_v_uitvoerende mu,
|
||||
mld_statusopdr os
|
||||
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 o.mld_uitvoerende_keys = mu.mld_uitvoerende_key
|
||||
AND os.mld_statusopdr_key = o.mld_statusopdr_key
|
||||
AND mu.intern = 1 ;
|
||||
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
|
||||
mld_uitvoerende_key,
|
||||
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,
|
||||
std.mld_stdmelding_omschrijving,
|
||||
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:]]',
|
||||
' '))
|
||||
|| '...',
|
||||
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
|
||||
ot.mld_typeopdr_omschrijving
|
||||
FROM mld_opdr o,
|
||||
mld_melding m,
|
||||
mld_typeopdr ot,
|
||||
prs_v_perslid_fullnames p,
|
||||
ins_tab_discipline d,
|
||||
mld_stdmelding std,
|
||||
alg_locatie l,
|
||||
mld_v_uitvoerende mu,
|
||||
mld_statusopdr os
|
||||
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 o.mld_uitvoerende_keys = mu.mld_uitvoerende_key
|
||||
AND os.mld_statusopdr_key = o.mld_statusopdr_key
|
||||
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 ------
|
||||
|
||||
|
||||
Reference in New Issue
Block a user