NOUR#65589: Uitbreiding maandelijkse taak voor discipline engineering

svn path=/Customer/trunk/; revision=49574
This commit is contained in:
Suzan Wiegerinck
2021-01-27 12:47:26 +00:00
parent 0cc26a80cd
commit 94c698e103

View File

@@ -6228,136 +6228,147 @@ AS
'G', s.ins_srtgroep_key,
'D', g.ins_discipline_key);
CREATE OR REPLACE VIEW nour_V_NOTI_OBJBEH
CREATE OR REPLACE VIEW NOUR_V_NOTI_OBJBEH
(
METHODE,
TO_KEY,
TO_OMSCHR,
REF_KEY,
REF_OMSCHR,
KPN_KEY,
AANTAL,
BETREFT
METHODE,
TO_KEY,
TO_OMSCHR,
REF_KEY,
REF_OMSCHR,
KPN_KEY,
AANTAL,
BETREFT
)
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,
AS
WITH
taken
AS
(SELECT 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,
d.ins_deel_key,
d.ins_deel_omschrijving,
sc.ins_srtcontrole_periode,
sd.ins_srtdeel_omschrijving,
a.prs_kostenplaats_key,
pfa.prs_perslid_key,
pfa.prs_perslid_naam_full,
ud.fac_usrdata_key,
ud.fac_usrdata_omschr
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,
(SELECT *
FROM ins_kenmerkdeel kd, ins_kenmerk k
WHERE kd.ins_kenmerkdeel_verwijder IS NULL
AND kd.ins_kenmerk_key = k.ins_kenmerk_key
AND k.ins_srtkenmerk_key = 3742) kd, -- Uitvoerder regime
fac_usrdata ud
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 + 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 kd.ins_deel_key = d.ins_deel_key
AND NOT EXISTS
(SELECT sk.ins_srtkenmerk_omschrijving,
kd.ins_deel_key
FROM ins_srtkenmerk sk,
ins_kenmerk k,
ins_kenmerkdeel kd
WHERE sk.ins_srtkenmerk_key = 3922
AND k.ins_srtkenmerk_key =
sk.ins_srtkenmerk_key
AND kd.ins_kenmerk_key =
k.ins_kenmerk_key
AND kd.ins_deel_key = d.ins_deel_key)
AND ( sc.ins_srtcontrole_eind IS NULL
OR sc.ins_srtcontrole_eind > SYSDATE)
AND kd.ins_kenmerkdeel_waarde != '4321' -- 'N.v.t.'
AND ud.fac_usrdata_key =
fac.safe_to_number (kd.ins_kenmerkdeel_waarde)
AND sc.ins_srtinstallatie_key =
DECODE (ins_srtcontrole_niveau,
'D', di.ins_discipline_key,
'G', sg.ins_srtgroep_key,
'S', sd.ins_srtdeel_key)) 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
-- De eerste paar dagen van volgende maand ook vast meepakken, dat scheelt verrassingen
AND COALESCE (
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)) <
ADD_MONTHS (SYSDATE, 1) + 3)
SELECT 'mail' methode,
prs_perslid_key to_key,
prs_perslid_naam_full to_omschr,
NULL ref_key,
NULL ref_omschr,
NULL kpn_key,
COUNT (*) aantal,
LISTAGG (ins_deel_omschrijving, ', ')
WITHIN GROUP (ORDER BY ins_deel_omschrijving) AS betreft
FROM taken
WHERE fac_usrdata_key = 4318 -- Objectbeheerder
GROUP BY prs_perslid_key, prs_perslid_naam_full
UNION ALL
SELECT 'melding' methode,
fac_usrdata_key to_key,
fac_usrdata_omschr to_omschr,
prs_perslid_key ref_key,
prs_perslid_naam_full ref_omschr,
prs_kostenplaats_key kpn_key,
COUNT (*) aantal,
LISTAGG (ins_deel_omschrijving, ', ')
WITHIN GROUP (ORDER BY ins_deel_omschrijving) AS betreft
FROM taken
WHERE fac_usrdata_key NOT IN (4321, 4318) -- alles behalve nvt en beheerder
GROUP BY fac_usrdata_key,
fac_usrdata_omschr,
prs_kostenplaats_key,
prs_perslid_key,
prs_perslid_naam_full
ORDER BY methode, to_omschr, ref_omschr;
1)) volgende_ctr,
d.*,
xcp.ins_srtcontroledl_xcp_periode
FROM (SELECT sc.ins_srtcontrole_key,
d.ins_deel_key,
d.ins_deel_omschrijving,
sc.ins_srtcontrole_periode,
sd.ins_srtdeel_omschrijving,
a.prs_kostenplaats_key,
pfa.prs_perslid_key,
pfa.prs_perslid_naam_full,
CASE
WHEN UPPER (ud.fac_usrdata_omschr) LIKE
'TS-DISCIPLINE%'
THEN
4404 --- op deze manier mappen we alle TS-DISCIPLINE opties terug naar 1
ELSE
ud.fac_usrdata_key
END AS fac_usrdata_key,
ud.fac_usrdata_omschr
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,
(SELECT *
FROM ins_kenmerkdeel kd, ins_kenmerk k
WHERE kd.ins_kenmerkdeel_verwijder IS NULL
AND kd.ins_kenmerk_key =
k.ins_kenmerk_key
AND k.ins_srtkenmerk_key = 3742) kd, -- Uitvoerder regime
fac_usrdata ud
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 + 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 kd.ins_deel_key = d.ins_deel_key
AND NOT EXISTS
(SELECT sk.ins_srtkenmerk_omschrijving,
kd.ins_deel_key
FROM ins_srtkenmerk sk,
ins_kenmerk k,
ins_kenmerkdeel kd
WHERE sk.ins_srtkenmerk_key = 3922
AND k.ins_srtkenmerk_key =
sk.ins_srtkenmerk_key
AND kd.ins_kenmerk_key =
k.ins_kenmerk_key
AND kd.ins_deel_key =
d.ins_deel_key)
AND ( sc.ins_srtcontrole_eind IS NULL
OR sc.ins_srtcontrole_eind > SYSDATE)
AND kd.ins_kenmerkdeel_waarde != '4321' -- 'N.v.t.'
AND ud.fac_usrdata_key =
fac.safe_to_number (
kd.ins_kenmerkdeel_waarde)
AND sc.ins_srtinstallatie_key =
DECODE (ins_srtcontrole_niveau,
'D', di.ins_discipline_key,
'G', sg.ins_srtgroep_key,
'S', sd.ins_srtdeel_key)) 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
-- De eerste paar dagen van volgende maand ook vast meepakken, dat scheelt verrassingen
AND COALESCE (
p.ins_deelsrtcontrole_plandatum,
fac.nextcyclusdatedeel (d.ins_deel_key,
d.ins_srtcontrole_key,
1)) <
ADD_MONTHS (SYSDATE, 1) + 3)
SELECT 'mail' methode,
prs_perslid_key to_key,
prs_perslid_naam_full to_omschr,
NULL ref_key,
NULL ref_omschr,
NULL kpn_key,
COUNT (*) aantal,
LISTAGG (ins_deel_omschrijving, ', ')
WITHIN GROUP (ORDER BY ins_deel_omschrijving) AS betreft
FROM taken
WHERE fac_usrdata_key = 4318 -- Objectbeheerder
GROUP BY prs_perslid_key, prs_perslid_naam_full
UNION ALL
SELECT 'melding' methode,
fac_usrdata_key to_key,
fac_usrdata_omschr to_omschr,
prs_perslid_key ref_key,
prs_perslid_naam_full ref_omschr,
prs_kostenplaats_key kpn_key,
COUNT (*) aantal,
LISTAGG (ins_deel_omschrijving, ', ')
WITHIN GROUP (ORDER BY ins_deel_omschrijving) AS betreft
FROM taken
WHERE fac_usrdata_key NOT IN (4321, 4318) -- alles behalve nvt en beheerder
GROUP BY fac_usrdata_key,
fac_usrdata_omschr,
prs_kostenplaats_key,
prs_perslid_key,
prs_perslid_naam_full
ORDER BY methode, to_omschr, ref_omschr;
CREATE OR REPLACE FORCE VIEW nour_V_TAKEN_STOPLICHT
(
@@ -6722,7 +6733,6 @@ AS
CURSOR c
IS
SELECT * FROM nour_v_noti_objbeh;
BEGIN
@@ -6798,10 +6808,11 @@ BEGIN
rec.ref_key,
rec.kpn_key,
DECODE(rec.to_key,
4320, 1481, -- EIA / Uitvoering regime
4320, 1481, -- EIA / Uitvoering regime
4319, 1482, -- WTB / Uitvoering regime
4347, 1581, -- LDW/ Uitvoering regime
4388, 1610), -- S/Park / Uitvoering regime
4347, 1581, -- LDW/ Uitvoering regime
4388, 1610, -- S/Park / Uitvoering regime
4404, 1821), -- TS-Disciplines / Uitvoering regime
121, -- DEV
SYSDATE,
45, -- System