WEND#67092 -- Stylesheet Opdracht en Notificatiejob Opdrachtnotities

svn path=/Customer/trunk/; revision=52526
This commit is contained in:
Jos Migo
2021-07-26 19:58:21 +00:00
parent dc6a3e4204
commit 8c6e4480cf

View File

@@ -37,7 +37,7 @@ BEGIN
SET fac_imp_file_line = REPLACE (fac_imp_file_line, ',', ';')
WHERE fac_import_key = p_import_key;
-- Het aangeleverde bestand heeft aanhalingstekens om de invoervelden.. LOOPT JE DAT VOOR DE VOETEN TIJDENS IMPORT?!?
-- Het aangeleverde bestand heeft aanhalingstekens om de invoervelden..
UPDATE fac_imp_file
SET fac_imp_file_line = REPLACE (fac_imp_file_line, '"', '')
WHERE fac_import_key = p_import_key;
@@ -100,14 +100,13 @@ IS
-- Match bij WENDERGROEP is Email.
-- Geen acties tenzij het aantal records in de importtabel meer dan 50 medewerkers betreft.
-- HOEFT ALLEEN @WENDER TE ZIJN. ZIENN en HETKOPLAND gaat uitgesloten worden vanuit AD=>SSP-csv
CURSOR c_del
IS
SELECT p.prs_perslid_key, p.prs_perslid_nr, pf.prs_perslid_naam_full
FROM prs_perslid p, prs_v_perslid_fullnames pf
WHERE UPPER (p.prs_perslid_email) LIKE '%WENDER.NL%'
AND NOT EXISTS (SELECT * FROM fac_imp_perslid WHERE UPPER (prs_perslid_email) = UPPER (p.prs_perslid_email) )
AND pf.prs_perslid_key = p.prs_perslid_key;
AND NOT EXISTS (SELECT 1 FROM fac_imp_perslid WHERE INSTR(UPPER (p.prs_perslid_email),UPPER (prs_perslid_email) ) > 0 )
AND pf.prs_perslid_key = p.prs_perslid_key ;
/*
CURSOR c_flex -- Voor updaten van de algemene flex-kenmerkvelden
@@ -184,6 +183,209 @@ EXCEPTION
END wend_update_perslid;
/
-----------------------------------------
-- Rapportage-views --
-----------------------------------------
CREATE OR REPLACE VIEW wend_v_rap_opdrachten_intern
(
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,
UREN_BESTEED,
AFMELD_DATUM,
OPDRACHT_TYPE,
TD_NAAM
)
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,
COALESCE(o.mld_opdr_plandatum, o.mld_opdr_einddatum)
geplande_aanvang,
TRIM (
REGEXP_REPLACE (
REGEXP_SUBSTR (o.mld_opdr_omschrijving,
'(([^ ]*)( |$)*){10}'),
'[[:space:]]',
' '))
|| '...',
p.prs_perslid_key,
mu.naam,
(SELECT ko.mld_kenmerkopdr_waarde
FROM mld_kenmerkopdr ko
WHERE ko.mld_opdr_key = o.mld_opdr_key
AND ko.mld_kenmerk_key = 81), -- 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), -- ORDAFM
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
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;
-----------------------------------------
-- Voor keuzelijstjes (kenmerk domein) --
-----------------------------------------
CREATE OR REPLACE VIEW wend_v_kostenplaatsen
(
KEY,
KP_NR,
OMSCHRIJVING,
OMSCHRIJVING_TOT,
KP_EINDDATUM,
KP_GROEP
)
AS
SELECT
kp.prs_kostenplaats_key,
kp.prs_kostenplaats_nr,
kp.prs_kostenplaats_omschrijving,
kp.prs_kostenplaats_nr || ' ' || kp.prs_kostenplaats_omschrijving
omschrijving_tot,
prs_kostenplaats_eind,
kpg.prs_kostenplaatsgrp_oms
FROM
prs_kostenplaats kp,
prs_kostenplaatsgrp kpg
WHERE
kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key
AND kp.prs_kostenplaats_verwijder IS NULL
AND TRUNC(SYSDATE) < COALESCE(TRUNC(prs_kostenplaats_eind),TO_DATE('31-12-2199','DD-MM-YYYY'))
ORDER BY kp.prs_kostenplaats_nr
;
-----------------------------------------
-- Notificatiejobs --
-----------------------------------------
-- Notificactiejob voor WENDER om vanuit Opdrachten Notities met bepaalde notitie-classificatie Meldpunt IT en Meldpunt Facilitair in te lichten
-- Flag = 17 (incl. xemail, xmobile)
CREATE OR REPLACE VIEW WEND_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,
NULL
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,
'CUST01'
code,
(SELECT fac_srtnotificatie_key
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_code = 'CUST01')
fac_srtnotificatie_key,
o.mld_opdr_key
key,
n.mld_opdr_note_key
xkey,
ng.fac_note_group_omschrijving
xemail,
NULL
xmobile
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 in (1,2) -- Notitie voor Facilitair (1) of IT (2)
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 = 41) -- Meldpunt Facilitair (41)
OR
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 = 43) -- Meldpunt IT (43)
)
AND n.mld_opdr_note_aanmaak >=
(SELECT COALESCE(fac_notificatie_job_lastrun, trunc(sysdate))
FROM fac_notificatie_job
WHERE fac_notificatie_job_view ='WEND_V_NOTI_SERVICEDESK_ORD') ;
------ payload end ------
SET DEFINE OFF