HMOD#67665 -- HR-stromen in Facilitor - Helemaal op orde krijgen

svn path=/Customer/trunk/; revision=52396
This commit is contained in:
Jos Migo
2021-07-16 10:28:51 +00:00
parent 55240a42b9
commit f8b798771e

View File

@@ -1390,6 +1390,95 @@ END hmod_update_perslid;
-- NOTIFICATIEJOBS -----
------------------------
-- View tbv notificatiejob - Melding toegewezen aan behandelteam zonder behandelaar dan notificatie sturen naar team
-- Notificatie gaat dan naar emailadres bij vakgroep-behandelteam
CREATE OR REPLACE VIEW HMOD_V_NOTI_BEHANDELTEAM
(
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,
'De melding '
|| m.mld_melding_key
|| ' is toegewezen aan jouw/jullie '
|| m.actieve_behandelgroep
text,
'CUST01'
code,
(SELECT fac_srtnotificatie_key
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_code = 'CUST01')
fac_srtnotificatie_key,
m.mld_melding_key
key,
NULL
xkey,
m.vakgroep_email
xemail,
NULL
xmobile
FROM (SELECT m.mld_melding_key,
sm.mld_stdmelding_omschrijving,
d.ins_discipline_omschrijving, -- primaire vakgroep
(SELECT COALESCE(fac_notificatie_job_lastrun, trunc(sysdate))
FROM fac_notificatie_job
WHERE fac_notificatie_job_view ='HMOD_V_NOTI_BEHANDELTEAM')
job_datum_vanaf,
m.mld_ins_discipline_key, -- Discipline_key Actieve behandelgroep
(SELECT md2.ins_discipline_omschrijving
FROM mld_discipline md2
WHERE md2.ins_discipline_key = m.mld_ins_discipline_key)
actieve_behandelgroep,
m.mld_melding_behandelaar2_key,
dp2.mld_disc_params_emailnw3 -- email prio normaal/laag
vakgroep_email,
(SELECT COALESCE(MAX (fac_tracking_datum), sysdate)
FROM fac_tracking ft
WHERE fac_tracking_refkey = m.mld_melding_key
AND (
(INSTR (fac_tracking_oms, 'Behandelteam: ') > 0 AND fac_srtnotificatie_key = 52) -- MLDUPD
OR
(INSTR (fac_tracking_oms, 'Behandelteam is gewijzigd naar') > 0 AND fac_srtnotificatie_key = 183)) -- MLDBHG
)
mld_toegewezen_laatste,
(SELECT COALESCE (
MAX (fac_tracking_datum),
TO_DATE ('2021-01-01 00:00',
'yyyy-mm-dd hh24:mi'))
FROM fac_tracking ft
WHERE fac_tracking_refkey = m.mld_melding_key
AND INSTR (fac_tracking_oms, 'CUST01') > 0
AND fac_srtnotificatie_key = 255) -- MLDTRK
mld_cust01_verstuurd
FROM mld_melding m,
mld_stdmelding sm,
ins_tab_discipline d,
mld_disc_params dp, -- Primaire vakgroep
mld_disc_params dp2 -- Behandelteam vakgroep
WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = d.ins_discipline_key
AND d.ins_discipline_module = 'MLD'
AND d.ins_discipline_key = dp.mld_ins_discipline_key
AND m.mld_ins_discipline_key = dp2.mld_ins_discipline_key -- Is de key van Behandelteam in mld_melding
AND m.mld_melding_behandelaar2_key IS NULL
AND dp2.mld_disc_params_emailnw3 IS NOT NULL) m
WHERE m.mld_toegewezen_laatste > m.mld_cust01_verstuurd
AND m.mld_toegewezen_laatste > m.job_datum_vanaf;
CREATE OR REPLACE VIEW hmod_v_noti_cntreminder
(
code,
@@ -1442,6 +1531,211 @@ AS
-- RAPPORTVIEWS -----
---------------------
-- O.a. bestemd voor overzicht HR-behandelteams
CREATE OR REPLACE VIEW hmod_v_rap_hrmeldingen
(
SRTDISCIPLINE_KEY,
SRTDISCIPLINE_OMSCHRIJVING,
FCLT_3D_DISCIPLINE_KEY, -- vakgroep_key
DISCIPLINE_NAAM,
MELDINGSGROEP,
MLD_MELDING_KEY,
MLD_MELDING_NR,
MLD_MELDING_DATUM,
MLD_STD_MELDING,
MLD_MELDING_STATUS,
ACTIECODE_OMSCHRIJVING,
MARKERING,
MLD_AANVRAGER,
MLD_MELDING_ONDERWERP,
-- Behandeling
BEHANDELAAR_KEY,
BEHANDELAAR,
FCLT_3D_DISCIPLINE2_KEY, -- vakgroep_key van actieve behandelteam
ACTIEVE_BEHANDELTEAM,
ACTIEVE_BEHANDELAAR_KEY,
ACTIEVE_BEHANDELAAR,
BEHANDELAAR_FILTER_KEY, -- Voor HR-mensen die zowel Hoofd- als Actieve behandelaar kunnen zijn
BEHANDELAAR_FILTER_NAAM,
-- Datums en doorloop
DATUM_ACCEPT,
TOEGEWEZEN_1E,
TOEGEWEZEN_LAATSTE,
DATUM_AFGEMELD,
DOORLOOPTIJD_WD,
-- Kenmerkvelden
SOORT_MUTATIE,
MANAGER_TEAMLEIDER, -- Door wie aangevraagd? (Coalesce kenmerkveld, aanvrager
BESTEMD_VOOR_PERSONEELSLID, -- Voor wie geldt de hr-mutatie?
HR_FUNCTIONARIS, -- In aanvraag - welke hr-functionaris is aangegeven?
-- Kladblok HR
AKKOORD_HR,
AKKOORD_SALARISADM,
BRIEF_GESTUURD,
MEDEWERKER_VASTGELEGD,
WORKFLOW_OPGESTART,
WORKFLOW_GEKOPPELD
)
AS
SELECT sd.ins_srtdiscipline_key,
sd.ins_srtdiscipline_omschrijving,
md.ins_discipline_key,
md.ins_discipline_omschrijving,
sg.mld_stdmeldinggroep_naam,
m.mld_melding_key,
sd.ins_srtdiscipline_prefix || m.mld_melding_key
mld_melding_nr,
m.mld_melding_datum,
s.mld_stdmelding_omschrijving,
(SELECT mld_statuses_omschrijving
FROM mld_statuses sta
WHERE sta.mld_statuses_key = m.mld_melding_status)
mld_melding_status,
CASE WHEN mld_melding_actiecode = 2 THEN 'Actie bij aanvrager'
WHEN mld_melding_actiecode = 129 THEN 'Attentie (actie bo)'
ELSE 'Standaard'
END actiecode_omschrijving,
CASE WHEN mld_melding_flag > 0 THEN lcl.l ('lcl_mld_flag' || mld_melding_flag)
END markering,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = m.prs_perslid_key)
mld_aanvrager,
m.mld_melding_onderwerp,
-- Behandeling
m.mld_melding_behandelaar_key,
COALESCE(pb.prs_perslid_naam_full,'<leeg>')
behandelaar,
m.mld_ins_discipline_key,
(SELECT md2.ins_discipline_omschrijving
FROM mld_discipline md2
WHERE md2.ins_discipline_key = m.mld_ins_discipline_key)
actieve_behandelteam,
m.mld_melding_behandelaar2_key
actieve_behandelaar_key,
COALESCE(pba.prs_perslid_naam_full,'<leeg>')
actieve_behandelaar,
COALESCE(m.mld_melding_behandelaar2_key, m.mld_melding_behandelaar_key)
behandelaar_filter_key,
COALESCE(pba.prs_perslid_naam_full, pb.prs_perslid_naam_full,'<leeg>')
behandelaar_filter_naam,
-- Datums en doorloop
COALESCE (mld.getmeldingstatusdate (m.mld_melding_key, 5),
mld.getmeldingstatusdate (m.mld_melding_key, 1))
datum_accept,
(SELECT MIN (fac_tracking_datum)
FROM fac_tracking ft
WHERE fac_tracking_refkey = m.mld_melding_key
AND INSTR (fac_tracking_oms, 'Behandelteam: (leeg)') > 0
AND fac_srtnotificatie_key = 52)
toegwezen_1e,
(SELECT MAX (fac_tracking_datum)
FROM fac_tracking ft
WHERE fac_tracking_refkey = m.mld_melding_key
AND INSTR (fac_tracking_oms, 'Behandelteam: (leeg)') > 0
AND fac_srtnotificatie_key = 52)
toegwezen_laatste,
COALESCE (mld.getmeldingstatusdate (m.mld_melding_key, 5),
mld.getmeldingstatusdate (m.mld_melding_key, 1))
datum_afgemeld,
DECODE (mld.getactualuitvoer (m.mld_melding_key).eenheid,
'D', mld.getactualuitvoer (m.mld_melding_key).tijdsduur,
mld.getactualuitvoer (m.mld_melding_key).tijdsduur/24)
doorlooptijd_wd,
-- Kenmerkvelden
(SELECT fu.fac_usrdata_omschr
FROM mld_kenmerkmelding mkm,
mld_kenmerk k,
fac_usrdata fu
WHERE mkm.mld_melding_key = m.mld_melding_key
AND mkm.mld_kenmerk_key = k.mld_kenmerk_key
AND fac.safe_to_number(mkm.mld_kenmerkmelding_waarde) = fu.fac_usrdata_key
AND k.mld_kenmerk_verwijder IS NULL
AND k.mld_srtkenmerk_key = 95)
soort_mutatie, -- srtkenmerk_key = 95
(SELECT p.prs_perslid_naam_full
FROM mld_kenmerkmelding mkm, mld_kenmerk k, prs_v_perslid_fullnames p
WHERE mkm.mld_melding_key = m.mld_melding_key
AND mkm.mld_kenmerk_key = k.mld_kenmerk_key
AND fac.safe_to_number (mkm.mld_kenmerkmelding_waarde) = p.prs_perslid_key
AND k.mld_kenmerk_verwijder IS NULL
AND k.mld_srtkenmerk_key = 661)
manager_teamleider, -- srtkenmerk_key = 661
(SELECT p.prs_perslid_naam_full
FROM mld_kenmerkmelding mkm, mld_kenmerk k, prs_v_perslid_fullnames p
WHERE mkm.mld_melding_key = m.mld_melding_key
AND mkm.mld_kenmerk_key = k.mld_kenmerk_key
AND fac.safe_to_number (mkm.mld_kenmerkmelding_waarde) = p.prs_perslid_key
AND k.mld_kenmerk_verwijder IS NULL
AND k.mld_srtkenmerk_key = 97)
bestemd_voor_personeelslid, -- srtkenmerk_key = 97
(SELECT p.prs_perslid_naam_full
FROM mld_kenmerkmelding mkm, mld_kenmerk k, prs_v_perslid_fullnames p
WHERE mkm.mld_melding_key = m.mld_melding_key
AND mkm.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_kenmerk_verwijder IS NULL
AND fac.safe_to_number (mkm.mld_kenmerkmelding_waarde) = p.prs_perslid_key
AND k.mld_srtkenmerk_key = 681)
hr_functionaris, -- srtkenmerk_key = 681
-- Kladblok HR
(SELECT CASE WHEN max(fac.safe_to_number(mkm.mld_kenmerkmelding_waarde))=1 THEN 'ja' ELSE 'nee' END
FROM mld_kenmerkmelding mkm, mld_kenmerk k
WHERE mkm.mld_melding_key = m.mld_melding_key
AND mkm.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_kenmerk_verwijder IS NULL
AND k.mld_srtkenmerk_key = 118)
akkoord_hr, -- srtkenmerk_key = 118
(SELECT CASE WHEN max(fac.safe_to_number(mkm.mld_kenmerkmelding_waarde))=1 THEN 'ja' ELSE 'nee' END
FROM mld_kenmerkmelding mkm, mld_kenmerk k
WHERE mkm.mld_melding_key = m.mld_melding_key
AND mkm.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_kenmerk_verwijder IS NULL
AND k.mld_srtkenmerk_key = 165)
akkoord_salarisadm, -- srtkenmerk = 165
(SELECT CASE WHEN max(fac.safe_to_number(mkm.mld_kenmerkmelding_waarde))=1 THEN 'ja' ELSE 'nee' END
FROM mld_kenmerkmelding mkm, mld_kenmerk k
WHERE mkm.mld_melding_key = m.mld_melding_key
AND mkm.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_kenmerk_verwijder IS NULL
AND k.mld_srtkenmerk_key = 163)
brief_gestuurd, -- srtkenmerk = 163
(SELECT CASE WHEN max(fac.safe_to_number(mkm.mld_kenmerkmelding_waarde))=1 THEN 'ja' ELSE 'nee' END
FROM mld_kenmerkmelding mkm, mld_kenmerk k
WHERE mkm.mld_melding_key = m.mld_melding_key
AND mkm.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_kenmerk_verwijder IS NULL
AND k.mld_srtkenmerk_key = 201)
medewerker_vastgelegd, -- srtkenmerk = 201
(SELECT CASE WHEN max(fac.safe_to_number(mkm.mld_kenmerkmelding_waarde))=1 THEN 'ja' ELSE 'nee' END
FROM mld_kenmerkmelding mkm, mld_kenmerk k
WHERE mkm.mld_melding_key = m.mld_melding_key
AND mkm.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_kenmerk_verwijder IS NULL
AND k.mld_srtkenmerk_key = 171)
workflow_opgestart, -- srtkenmerk = 171
CASE WHEN m.mld_melding_parentkey IS NULL THEN '' ELSE 'ja, aan melding ' || to_char(m.mld_melding_parentkey) END
workflow_gekoppeld
FROM mld_melding m,
prs_perslid p, -- aanvrager
prs_v_perslid_fullnames_all pb, -- behandelaar
prs_v_perslid_fullnames_all pba,-- actievehandelaar
mld_stdmelding s,
mld_stdmeldinggroep sg,
mld_discipline md,
mld_disc_params mdp,
ins_srtdiscipline sd
WHERE s.mld_stdmelding_key = m.mld_stdmelding_key
AND m.prs_perslid_key = p.prs_perslid_key
AND m.mld_melding_behandelaar_key = pb.prs_perslid_key (+)
AND m.mld_melding_behandelaar2_key = pba.prs_perslid_key (+)
AND sd.ins_srtdiscipline_key = md.ins_srtdiscipline_key
AND md.ins_discipline_key = s.mld_ins_discipline_key
AND md.ins_discipline_key = mdp.mld_ins_discipline_key
AND sd.ins_srtdiscipline_key = 22 -- Alleen uit SA
AND md.ins_discipline_key in (94,96) -- vakgroep HR-algemeen en HR-spec
AND s.mld_stdmeldinggroep_key = sg.mld_stdmeldinggroep_key (+)
;
-- Rapporview voor HMOD voor de Informatiegids om de telefoonnummers van Management te kunnen opvragen...
CREATE OR REPLACE VIEW hmod_v_rap_informatiegids
(