From f8b798771e7667705b3a53b8471516255f425baa Mon Sep 17 00:00:00 2001 From: Jos Migo Date: Fri, 16 Jul 2021 10:28:51 +0000 Subject: [PATCH] HMOD#67665 -- HR-stromen in Facilitor - Helemaal op orde krijgen svn path=/Customer/trunk/; revision=52396 --- HMOD/hmod.sql | 294 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 294 insertions(+) diff --git a/HMOD/hmod.sql b/HMOD/hmod.sql index e870d27a1..722051d39 100644 --- a/HMOD/hmod.sql +++ b/HMOD/hmod.sql @@ -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,'') + 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,'') + 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,'') + 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 (