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
|
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)
|
TYPE,
|
||||||
mld_opdr_key,
|
MLD_OPDR_KEY,
|
||||||
mld_uitvoerende_key,
|
MLD_UITVOERENDE_KEY,
|
||||||
opdrachtnr,
|
OPDRACHTNR,
|
||||||
opdracht_datum,
|
OPDRACHT_DATUM,
|
||||||
status,
|
STATUS,
|
||||||
melding,
|
MELDING,
|
||||||
behandelaar,
|
BEHANDELAAR,
|
||||||
locatie_plaats,
|
LOCATIE_PLAATS,
|
||||||
locatie_omschrijving,
|
LOCATIE_OMSCHRIJVING,
|
||||||
geplande_aanvang,
|
GEPLANDE_AANVANG,
|
||||||
omschrijving,
|
OMSCHRIJVING,
|
||||||
prs_perslid_key,
|
PRS_PERSLID_KEY,
|
||||||
naam_uitvoerder,
|
NAAM_UITVOERDER,
|
||||||
cluster_blos,
|
CLUSTER_BLOS,
|
||||||
type_locatie,
|
TYPE_LOCATIE,
|
||||||
uren_besteed,
|
UREN_BESTEED,
|
||||||
afmeld_datum,
|
AFMELD_DATUM,
|
||||||
opdracht_type
|
OPDRACHT_TYPE
|
||||||
)
|
)
|
||||||
AS
|
AS
|
||||||
SELECT CASE WHEN mu.type = 'B' THEN 'Poule-opdracht'
|
SELECT CASE
|
||||||
WHEN mu.type = 'P' THEN 'Klus-opdracht'
|
WHEN mu.TYPE = 'B' THEN 'Poule-opdracht'
|
||||||
ELSE '<?>' END
|
WHEN mu.TYPE = 'P' THEN 'Klus-opdracht'
|
||||||
type,
|
ELSE '<?>'
|
||||||
o.mld_opdr_key,
|
END
|
||||||
CASE WHEN mu.type = 'B' THEN o.prs_perslid_key
|
TYPE,
|
||||||
WHEN mu.type = 'P' THEN mu.mld_uitvoerende_key
|
o.mld_opdr_key,
|
||||||
ELSE NULL END
|
CASE
|
||||||
mld_uitvoerende_key,
|
WHEN mu.TYPE = 'B' THEN o.prs_perslid_key
|
||||||
TO_CHAR (o.mld_melding_key) || '/' || o.mld_opdr_bedrijfopdr_volgnr
|
WHEN mu.TYPE = 'P' THEN mu.mld_uitvoerende_key
|
||||||
opdrachtnummer,
|
ELSE NULL
|
||||||
o.mld_opdr_datumbegin,
|
END
|
||||||
DECODE (os.mld_statusopdr_key, 8, DECODE (o.mld_opdr_halted, 1, 'Onderbroken', os.mld_statusopdr_omschrijving), os.mld_statusopdr_omschrijving) status,
|
mld_uitvoerende_key,
|
||||||
std.mld_stdmelding_omschrijving,
|
TO_CHAR (o.mld_melding_key)
|
||||||
COALESCE(p.prs_perslid_naam_full,'<nog geen behandelaar>'), -- BEHANDELAAR
|
|| '/'
|
||||||
l.alg_locatie_plaats,
|
|| o.mld_opdr_bedrijfopdr_volgnr
|
||||||
l.alg_locatie_omschrijving,
|
opdrachtnummer,
|
||||||
o.mld_opdr_plandatum,
|
o.mld_opdr_datumbegin,
|
||||||
TRIM(regexp_replace(regexp_substr(o.mld_opdr_omschrijving, '(([^ ]*)( |$)*){10}'), '[[:space:]]',' ')) || '...',
|
DECODE (
|
||||||
p.prs_perslid_key,
|
os.mld_statusopdr_key,
|
||||||
mu.naam,
|
8, DECODE (o.mld_opdr_halted,
|
||||||
(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
|
1, 'Onderbroken',
|
||||||
(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.
|
os.mld_statusopdr_omschrijving),
|
||||||
(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
|
os.mld_statusopdr_omschrijving)
|
||||||
(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
|
status,
|
||||||
ot.mld_typeopdr_omschrijving
|
std.mld_stdmelding_omschrijving,
|
||||||
FROM mld_opdr o,
|
COALESCE (p.prs_perslid_naam_full, '<nog geen behandelaar>'), -- BEHANDELAAR
|
||||||
mld_melding m,
|
l.alg_locatie_plaats,
|
||||||
mld_typeopdr ot,
|
l.alg_locatie_omschrijving,
|
||||||
prs_v_perslid_fullnames p,
|
o.mld_opdr_plandatum,
|
||||||
ins_tab_discipline d,
|
TRIM (
|
||||||
mld_stdmelding std,
|
REGEXP_REPLACE (
|
||||||
alg_locatie l,
|
REGEXP_SUBSTR (o.mld_opdr_omschrijving,
|
||||||
mld_v_uitvoerende mu,
|
'(([^ ]*)( |$)*){10}'),
|
||||||
mld_statusopdr os
|
'[[:space:]]',
|
||||||
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
|
p.prs_perslid_key,
|
||||||
AND ot.mld_typeopdr_isofferte = 0 -- Alleen werkopdrachten
|
mu.naam,
|
||||||
AND m.mld_stdmelding_key = std.mld_stdmelding_key(+)
|
(SELECT ud.fac_usrdata_omschr
|
||||||
AND std.mld_ins_discipline_key = d.ins_discipline_key(+)
|
FROM alg_onrgoedkenmerk k, fac_usrdata ud
|
||||||
AND m.mld_alg_locatie_key = l.alg_locatie_key -- alle std-meldingen hebben verplicht-niveau locatie
|
WHERE k.alg_onrgoed_key = m.mld_alg_locatie_key
|
||||||
AND o.mld_uitvoerende_keys = mu.mld_uitvoerende_key
|
AND fac.safe_to_number (k.alg_onrgoedkenmerk_waarde) =
|
||||||
AND os.mld_statusopdr_key = o.mld_statusopdr_key
|
ud.fac_usrdata_key
|
||||||
AND mu.intern = 1 ;
|
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 ------
|
------ payload end ------
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user