HPJI#67097 Aanpassing notificatie periodieke taken

svn path=/Customer/trunk/; revision=62302
This commit is contained in:
Suzan Wiegerinck
2023-10-24 06:57:08 +00:00
parent fb58e17a44
commit 3c8ba59f5c

View File

@@ -3283,74 +3283,162 @@ AS
WITH
taken
AS
(SELECT fac.nextcyclusdatedeel (d.ins_deel_key,
d.ins_srtcontrole_key,
1) volgende_cyclus,
p.ins_deelsrtcontrole_plandatum datum_gepland,
COALESCE (
p.ins_deelsrtcontrole_plandatum,
fac.nextcyclusdatedeel (d.ins_deel_key,
d.ins_srtcontrole_key,
1)) volgende_ctr,
d.*,
xcp.ins_srtcontroledl_xcp_periode
FROM (SELECT sc.ins_srtcontrole_key,
(SELECT deel.ins_srtdeel_omschrijving,
deel.ins_deel_key,
deel.ins_deel_omschrijving,
deel.ins_deel_opmerking,
deel.ins_srtcontrole_omschrijving,
TRUNC (last_insp.ins_deelsrtcontrole_datum)
laatste_insp,
insp_result.ins_controlemode_oms
result_laatste_insp,
TRUNC (deel.ins_deelsrtcontrole_datum),
deel.deelsrtcontrole_status
FROM (SELECT sd.ins_srtdeel_omschrijving,
obj.ins_deel_key,
ins_deel_omschrijving,
ins_deel_opmerking,
sc.ins_srtcontrole_omschrijving,
dc.ins_deelsrtcontrole_datum,
(SELECT icm.ins_controlemode_oms
FROM ins_controlemode icm
WHERE icm.ins_controlemode_key =
dc.ins_controlemode_key)
controlemode_omschrijving,
(SELECT lcl.x ('fc2l.fac_code2label_label',
fc2l.fac_code2label_key,
fc2l.fac_code2label_label)
FROM fac_code2label fc2l
WHERE fc2l.fac_code2label_domein =
'controle'
AND fc2l.fac_code2label_code =
dc.ins_deelsrtcontrole_status)
deelsrtcontrole_status
FROM ins_deel obj,
ins_deelsrtcontrole dc,
ins_srtdeel sd,
ins_srtcontrole sc
WHERE ins_deel_verwijder IS NULL
AND sc.ins_srtcontrole_key =
dc.ins_srtcontrole_key
AND sd.ins_srtdeel_key = obj.ins_srtdeel_key
AND ins_deel_actief = 1
AND dc.ins_deel_key = obj.ins_deel_key
AND dc.ins_deelsrtcontrole_status = 6 -- alle voltooide taken
AND ins_deelsrtcontrole_datum >=
ADD_MONTHS (SYSDATE, -1)
AND ins_deelsrtcontrole_datum <= SYSDATE
UNION ALL
SELECT d.ins_srtdeel_omschrijving,
d.ins_deel_key,
d.ins_deel_omschrijving,
sc.ins_srtcontrole_periode,
sd.ins_srtdeel_omschrijving,
a.prs_kostenplaats_key,
p.prs_perslid_key,
p.prs_perslid_email,
pfa.prs_perslid_naam_full
FROM ins_srtcontrole sc,
ins_discipline di,
ins_v_aanwezigsrtgroep sg,
ins_v_aanwezigsrtdeel sd,
ins_v_aanwezigdeel d,
prs_perslid p,
prs_afdeling a,
prs_v_perslid_fullnames_all pfa
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
AND di.ins_discipline_key = sg.ins_discipline_key
AND COALESCE (d.ins_deel_vervaldatum,
SYSDATE + 1) >
SYSDATE
AND p.prs_perslid_key = d.prs_perslid_key_beh
AND a.prs_afdeling_key(+) = p.prs_afdeling_key
AND pfa.prs_perslid_key = d.prs_perslid_key_beh
AND ( sc.ins_srtcontrole_eind IS NULL
OR sc.ins_srtcontrole_eind > SYSDATE)) d,
ins_srtcontroledl_xcp xcp,
(SELECT *
FROM ins_v_udr_deelinspect ins
WHERE deelsrtcontrole_status = 'Gepland'
AND ins_deelsrtcontrole_plandatum IS NOT NULL) p
WHERE xcp.ins_deel_key(+) = d.ins_deel_key
AND xcp.ins_srtcontrole_key(+) = d.ins_srtcontrole_key
AND p.deel_key(+) = d.ins_deel_key
AND p.ins_srtcontrole_key(+) = d.ins_srtcontrole_key
AND COALESCE (xcp.ins_srtcontroledl_xcp_periode,
d.ins_srtcontrole_periode) >
0
AND COALESCE (
p.ins_deelsrtcontrole_plandatum,
d.ins_deel_opmerking,
d.ins_srtcontrole_omschrijving,
fac.nextcyclusdatedeel (d.ins_deel_key,
d.ins_srtcontrole_key,
1)) <
ADD_MONTHS (SYSDATE, 2))
SELECT prs_perslid_key to_key,
prs_perslid_email to_email,
prs_perslid_naam_full to_omschr,
1),
''
AS ctrmode,
''
AS status
FROM (SELECT sc.ins_srtcontrole_key,
sc.ins_srtcontrole_omschrijving,
d.ins_deel_key,
d.ins_deel_omschrijving,
d.ins_deel_opmerking,
sc.ins_srtcontrole_periode,
sd.ins_srtdeel_omschrijving
FROM ins_srtcontrole sc,
ins_discipline di,
ins_v_aanwezigsrtgroep sg,
ins_v_aanwezigsrtdeel sd,
ins_v_aanwezigdeel d
WHERE sd.ins_srtdeel_key =
d.ins_srtdeel_key
AND sg.ins_srtgroep_key =
sd.ins_srtgroep_key
AND di.ins_discipline_key =
sg.ins_discipline_key
AND ( COALESCE (d.ins_deel_vervaldatum,
SYSDATE + 2) >=
SYSDATE
OR d.ins_deel_vervaldatum IS NULL))
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, 2)
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 obj
WHERE ins_deelsrtcontrole_plandatum
IS NOT NULL
AND ins_deelsrtcontrole_datum
IS NULL
AND obj.ins_deel_key =
ins.deel_key
AND obj.ins_deel_verwijder
IS NULL)
UNION ALL
SELECT sd.ins_srtdeel_omschrijving,
obj.ins_deel_key,
obj.ins_deel_omschrijving,
obj.ins_deel_opmerking,
ins.srtcontrole_omschrijving,
ins_deelsrtcontrole_plandatum,
'' ctrmode,
deelsrtcontrole_status
FROM ins_v_udr_deelinspect ins,
ins_deel obj,
ins_srtdeel sd
WHERE ins_deelsrtcontrole_plandatum IS NOT NULL
AND sd.ins_srtdeel_key = obj.ins_srtdeel_key
AND ins_deelsrtcontrole_datum IS NULL
AND obj.ins_deel_key = ins.deel_key
AND obj.ins_deel_verwijder IS NULL
AND actief = 'ja'
AND ins_deelsrtcontrole_plandatum <=
ADD_MONTHS (SYSDATE, 2)) deel,
( SELECT MAX (sc.ins_deelsrtcontrole_datum)
ins_deelsrtcontrole_datum,
sc.ins_deel_key,
MAX (sc.ins_deelsrtcontrole_key)
ins_deelsrtcontrole_key
FROM ins_deelsrtcontrole sc
WHERE sc.ins_deelsrtcontrole_status = 6
GROUP BY sc.ins_deel_key) last_insp,
(SELECT sc.ins_deelsrtcontrole_key,
cm.ins_controlemode_oms
FROM ins_deelsrtcontrole sc, ins_controlemode cm
WHERE sc.ins_controlemode_key = cm.ins_controlemode_key)
insp_result
WHERE deel.ins_deel_key = last_insp.ins_deel_key(+)
AND last_insp.ins_deelsrtcontrole_key =
insp_result.ins_deelsrtcontrole_key(+))
SELECT p.prs_perslid_key to_key,
p.prs_perslid_email to_email,
DECODE (p.prs_perslid_voornaam,
NULL, '',
p.prs_perslid_voornaam || ' ')
|| DECODE (p.prs_perslid_tussenvoegsel,
NULL, '',
p.prs_perslid_tussenvoegsel || ' ')
|| prs_perslid_naam to_omschr,
ins_srtcontrole_omschrijving,
ins_deel_key,
ins_srtdeel_omschrijving || ' - ' || ins_deel_omschrijving betreft
FROM taken
WHERE DATUM_GEPLAND IS NULL;
FROM taken, prs_perslid p
WHERE p.prs_perslid_key = 34541
ORDER BY ins_srtcontrole_omschrijving;
CREATE OR REPLACE PROCEDURE hpji_monthly
AS