NOUR#61204: Maandelijkse notificatie trainingen

svn path=/Customer/trunk/; revision=46407
This commit is contained in:
Suzan Wiegerinck
2020-03-27 14:19:28 +00:00
parent db9363658e
commit 5264819916

View File

@@ -9397,6 +9397,147 @@ AS
WHERE pw.alg_locatie_key = l.alg_locatie_key) wp
WHERE lc.prs_perslid_key = wp.prs_perslid_key(+);
-- Trainingen die al gevolgd hadden moeten worden of die de komende maand gevolgd moeten worden
CREATE OR REPLACE VIEW NOUR_V_RAP_HERCERTIFICERING
(
INS_DEEL_KEY,
INS_DEEL_OMSCHRIJVING,
SRT_TRAINING,
NEXT_TRAINING,
PRS_PERSLID_KEY,
PRS_PERSLID_NAAM_FULL,
STATUS,
INS_DEEL_BEHEERDER
)
AS
SELECT d.ins_deel_key,
d.ins_deel_omschrijving,
d.ins_srtcontrole_omschrijving,
fac.nextcyclusdatedeel (d.ins_deel_key, d.ins_srtcontrole_key, 1),
d.prs_perslid_key,
d.prs_perslid_naam_full,
'Nog in te plannen' AS status,
d.beheerder
FROM (SELECT sc.ins_srtcontrole_key,
d.ins_deel_key,
d.ins_deel_omschrijving,
d.ins_deel_opmerking,
sc.ins_srtcontrole_omschrijving,
sc.ins_srtcontrole_periode,
sd.ins_srtdeel_omschrijving,
pfa.prs_perslid_key,
pfa.prs_perslid_naam_full,
pfab.prs_perslid_naam_full beheerder
FROM ins_srtcontrole sc,
ins_discipline di,
ins_v_aanwezigsrtgroep sg,
ins_v_aanwezigsrtdeel sd,
ins_v_aanwezigdeel d,
prs_perslid p,
prs_v_perslid_fullnames_all pfa,
prs_v_perslid_fullnames_all pfab
WHERE sd.ins_srtdeel_key = d.ins_srtdeel_key
AND sg.ins_srtgroep_key = sd.ins_srtgroep_key
AND sc.ins_srtinstallatie_key = sd.ins_srtdeel_key --- taken op trainingen zijn op srtdeel niveau vastgeleged
AND di.ins_discipline_key = sg.ins_discipline_key
AND d.prs_perslid_key_beh = pfab.prs_perslid_key (+)
AND COALESCE (d.ins_deel_vervaldatum, SYSDATE + 1) >= SYSDATE
AND p.prs_perslid_key = d.ins_alg_ruimte_key -- de trainingen zijn allen persoonsgebonden
AND pfa.prs_perslid_key = d.ins_alg_ruimte_key
AND sg.ins_srtgroep_key = 1) d
LEFT OUTER JOIN ins_srtcontroledl_xcp xcp
ON xcp.ins_deel_key = d.ins_deel_key
AND xcp.ins_srtcontrole_key = d.ins_srtcontrole_key
WHERE COALESCE (xcp.ins_srtcontroledl_xcp_periode,
d.ins_srtcontrole_periode) >
0
AND fac.nextcyclusdatedeel (d.ins_deel_key, d.ins_srtcontrole_key, 1) <=
ADD_MONTHS (SYSDATE, 1)
AND d.ins_deel_key NOT IN --- als een inspectie al is ingepland weegt dat zwaarder dan de oorspronkelijke datum, object komt op de lijst als plandatum komende maand is
(SELECT ins_deel_key
FROM ins_v_udr_deelinspect ins,
ins_deel opl,
ins_srtdeel sd,
ins_srtgroep sg
WHERE ins_deelsrtcontrole_plandatum IS NOT NULL
AND ins_deelsrtcontrole_datum IS NULL
AND opl.ins_deel_key = ins.deel_key
AND opl.ins_srtdeel_key = sd.ins_srtdeel_key
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
AND opl.ins_alg_ruimte_type = 'P'
AND sg.ins_srtgroep_key = 1
AND opl.ins_deel_verwijder IS NULL)
UNION ALL
SELECT opl.ins_deel_key,
opl.ins_deel_omschrijving,
ins.srtcontrole_omschrijving,
ins_deelsrtcontrole_plandatum,
pfa.prs_perslid_key,
pfa.prs_perslid_naam_full,
deelsrtcontrole_status,
pfab.prs_perslid_naam_full beheerder
FROM ins_v_udr_deelinspect ins,
ins_deel opl,
ins_srtdeel sd,
ins_srtgroep sg,
prs_perslid p,
prs_v_perslid_fullnames_all pfa,
prs_v_perslid_fullnames_all pfab
WHERE ins_deelsrtcontrole_plandatum IS NOT NULL
AND opl.ins_srtdeel_key = sd.ins_srtdeel_key
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
AND sg.ins_srtgroep_key = 1
AND opl.prs_perslid_key_beh = pfab.prs_perslid_key (+)
AND p.prs_perslid_key = opl.ins_alg_ruimte_key -- de trainingen zijn allen persoonsgebonden
AND pfa.prs_perslid_key = opl.ins_alg_ruimte_key
AND ins_deelsrtcontrole_datum IS NULL
AND opl.ins_alg_ruimte_type = 'P'
AND opl.ins_deel_key = ins.deel_key
AND opl.ins_deel_verwijder IS NULL
AND actief = 'ja'
AND ins_deelsrtcontrole_plandatum <= ADD_MONTHS (SYSDATE, 1);
-- notificatie voor hercertificeren
CREATE OR REPLACE FORCE VIEW NOUR_V_NOTI_TRAINING
(
CODE,
SENDER,
RECEIVER,
TEXT,
KEY,
XKEY
)
AS
SELECT sn.fac_srtnotificatie_code,
'',
cert.prs_perslid_key,
REPLACE (sn.fac_srtnotificatie_oms,
'##naam training##',
cert.ins_deel_omschrijving),
cert.ins_deel_key,
NULL
FROM nour_v_rap_hercertificering cert,
ins_deel sd,
fac_notificatie_job nj,
fac_srtnotificatie sn
WHERE cert.ins_deel_key = sd.ins_deel_key
AND sd.ins_srtdeel_key = 8225
AND sn.fac_srtnotificatie_code = 'CUST08'
AND nj.fac_notificatie_job_view = 'NOUR_V_NOTI_TRAINING'
AND TO_CHAR (SYSDATE, 'dd') = '01' -- Elke 1e dag van de maand
AND TO_CHAR (SYSDATE, 'mm') IN ( '01',
'02',
'03',
'04',
'05',
'06',
'07',
'08',
'09',
'10',
'11',
'12');
------ payload end ------
SET DEFINE OFF