HPJI#67097 Aanpassing notificatie periodieke taken
svn path=/Customer/trunk/; revision=62302
This commit is contained in:
208
HPJI/hpji.sql
208
HPJI/hpji.sql
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user