FCLT#70361: Management rapportage voor periodieke taken.
svn path=/Database/trunk/; revision=57604
This commit is contained in:
156
CTR/CTR_VIE.SRC
156
CTR/CTR_VIE.SRC
@@ -14,7 +14,7 @@ DEFINIEER_VIEW_AANWEZIG(ctr_discipline, ins_discipline_verwijder,
|
|||||||
|
|
||||||
CREATE_VIEW(ctr_v_monthly_recurring_tasks, 0)
|
CREATE_VIEW(ctr_v_monthly_recurring_tasks, 0)
|
||||||
AS
|
AS
|
||||||
-- Inspecties die dit jaar nog uitgevoerd moeten worden.
|
-- Inspecties die dit jaar en volgend jaar nog uitgevoerd moeten worden.
|
||||||
SELECT gedeelte,
|
SELECT gedeelte,
|
||||||
ig.ins_deel_key,
|
ig.ins_deel_key,
|
||||||
ig.ins_srtcontrole_key,
|
ig.ins_srtcontrole_key,
|
||||||
@@ -36,13 +36,20 @@ AS
|
|||||||
ig.perslid,
|
ig.perslid,
|
||||||
ig.ins_deelsrtcontrole_datum_org,
|
ig.ins_deelsrtcontrole_datum_org,
|
||||||
ig.ins_deelsrtcontrole_plandatum,
|
ig.ins_deelsrtcontrole_plandatum,
|
||||||
|
ins_deelsrtcontrole_status,
|
||||||
|
ins_controlemode_success,
|
||||||
ig.deelsrtcontrole_status,
|
ig.deelsrtcontrole_status,
|
||||||
TO_CHAR(ig.volgendedatum, 'MM') maand,
|
TO_CHAR(ig.volgendedatum, 'MM') maand,
|
||||||
|
TO_CHAR(ig.volgendedatum, 'YYYY') jaar,
|
||||||
|
TO_CHAR(ig.volgendedatum, 'YYYY-MM') jaarmaand,
|
||||||
ig.volgendedatum,
|
ig.volgendedatum,
|
||||||
ig.ins_srtcontrole_eenheid,
|
ig.ins_srtcontrole_eenheid,
|
||||||
ig.ins_srtcontrole_periode,
|
ig.ins_srtcontrole_periode,
|
||||||
ig.vervaldatum,
|
ig.vervaldatum,
|
||||||
ig.ins_deelsrtcontrole_key
|
ig.ins_deelsrtcontrole_key,
|
||||||
|
TO_CHAR(ADD_MONTHS(SYSDATE, -12), 'YYYY') lastyear,
|
||||||
|
TO_CHAR(SYSDATE, 'YYYY') thisyear,
|
||||||
|
TO_CHAR(ADD_MONTHS(SYSDATE, 12), 'YYYY') nextyear
|
||||||
FROM (WITH
|
FROM (WITH
|
||||||
comps(gedeelte,
|
comps(gedeelte,
|
||||||
ins_deel_key,
|
ins_deel_key,
|
||||||
@@ -68,19 +75,22 @@ AS
|
|||||||
ins_deelsrtcontrole_opmerking,
|
ins_deelsrtcontrole_opmerking,
|
||||||
perslid,
|
perslid,
|
||||||
ins_deelsrtcontrole_plandatum,
|
ins_deelsrtcontrole_plandatum,
|
||||||
|
ins_deelsrtcontrole_status,
|
||||||
|
ins_controlemode_success,
|
||||||
deelsrtcontrole_status,
|
deelsrtcontrole_status,
|
||||||
vervaldatum,
|
vervaldatum,
|
||||||
ins_deelsrtcontrole_key)
|
ins_deelsrtcontrole_key)
|
||||||
AS
|
AS
|
||||||
(
|
(-- 1a) Eerste deel bepaald de laatste inspectie (geplande(0), gestarte(2), afgemeld(5) of verwerkt(6)).
|
||||||
-- 1a) Eerste deel bepaald de laatste inspectie (geplande, gestarte of afgeronde).
|
|
||||||
SELECT '1a' gedeelte,
|
SELECT '1a' gedeelte,
|
||||||
di.deel_key ins_deel_key,
|
di.deel_key ins_deel_key,
|
||||||
xcp.ins_srtcontrole_key,
|
xcp.ins_srtcontrole_key,
|
||||||
di.ins_deelsrtcontrole_datum,
|
di.ins_deelsrtcontrole_datum,
|
||||||
xcp.ins_srtcontrole_eenheid,
|
xcp.ins_srtcontrole_eenheid,
|
||||||
xcp.ins_srtcontrole_periode,
|
xcp.ins_srtcontrole_periode,
|
||||||
COALESCE(di.ins_deelsrtcontrole_datum, di.ins_deelsrtcontrole_plandatum) volgendedatum,
|
COALESCE(di.ins_deelsrtcontrole_datum,
|
||||||
|
di.ins_deelsrtcontrole_plandatum,
|
||||||
|
di.ins_deelsrtcontrole_datum_org) volgendedatum,
|
||||||
discipline,
|
discipline,
|
||||||
soort,
|
soort,
|
||||||
groep,
|
groep,
|
||||||
@@ -98,9 +108,44 @@ AS
|
|||||||
ins_deelsrtcontrole_opmerking,
|
ins_deelsrtcontrole_opmerking,
|
||||||
perslid,
|
perslid,
|
||||||
ins_deelsrtcontrole_plandatum,
|
ins_deelsrtcontrole_plandatum,
|
||||||
DECODE(deelsrtcontrole_status,
|
(SELECT ins_deelsrtcontrole_status
|
||||||
'Voltooid', DECODE(controlemode_omschrijving, 'Goed', 'Goed', 'Fout'),
|
FROM ins_deelsrtcontrole
|
||||||
deelsrtcontrole_status) deelsrtcontrole_status,
|
WHERE ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key) ins_deelsrtcontrole_status,
|
||||||
|
COALESCE((SELECT icm.ins_controlemode_success
|
||||||
|
FROM ins_controlemode icm
|
||||||
|
WHERE icm.ins_controlemode_key = (SELECT di2.ins_controlemode_key
|
||||||
|
FROM ins_deelsrtcontrole di2
|
||||||
|
WHERE di2.ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)), -1) ins_controlemode_success,
|
||||||
|
CASE (SELECT ins_deelsrtcontrole_status
|
||||||
|
FROM ins_deelsrtcontrole
|
||||||
|
WHERE ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)
|
||||||
|
WHEN 0
|
||||||
|
THEN lcl.L('lcl_ins_controle_pending')
|
||||||
|
WHEN 2
|
||||||
|
THEN lcl.L('lcl_ins_controle_gestart')
|
||||||
|
WHEN 5
|
||||||
|
THEN
|
||||||
|
CASE
|
||||||
|
WHEN ((SELECT icm.ins_controlemode_success
|
||||||
|
FROM ins_controlemode icm
|
||||||
|
WHERE icm.ins_controlemode_key = (SELECT di2.ins_controlemode_key
|
||||||
|
FROM ins_deelsrtcontrole di2
|
||||||
|
WHERE di2.ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)) = 1)
|
||||||
|
THEN lcl.L('lcl_ins_controlemode_approved')
|
||||||
|
ELSE lcl.L('lcl_ins_controlemode_deprecated')
|
||||||
|
END
|
||||||
|
WHEN 6
|
||||||
|
THEN
|
||||||
|
CASE
|
||||||
|
WHEN ((SELECT icm.ins_controlemode_success
|
||||||
|
FROM ins_controlemode icm
|
||||||
|
WHERE icm.ins_controlemode_key = (SELECT ins_controlemode_key
|
||||||
|
FROM ins_deelsrtcontrole
|
||||||
|
WHERE ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)) = 1)
|
||||||
|
THEN lcl.L('lcl_ins_controlemode_approved')
|
||||||
|
ELSE lcl.L('lcl_ins_controlemode_deprecated')
|
||||||
|
END
|
||||||
|
END deelsrtcontrole_status,
|
||||||
xcp.ins_srtcontrole_eind vervaldatum,
|
xcp.ins_srtcontrole_eind vervaldatum,
|
||||||
di.ins_deelsrtcontrole_key
|
di.ins_deelsrtcontrole_key
|
||||||
FROM ins_v_udr_deelinspect di,
|
FROM ins_v_udr_deelinspect di,
|
||||||
@@ -117,19 +162,18 @@ AS
|
|||||||
AND id2.ins_srtcontrole_key = di.ins_srtcontrole_key
|
AND id2.ins_srtcontrole_key = di.ins_srtcontrole_key
|
||||||
AND id2.ins_scenario_key = 1)
|
AND id2.ins_scenario_key = 1)
|
||||||
UNION ALL
|
UNION ALL
|
||||||
-- 1b) Tweede deel bepaalt/berekent de toekomstige inspecties van dit jaar
|
-- 1b) Tweede deel bepaalt/berekent de toekomstige inspecties van dit jaar en volgend jaar.
|
||||||
SELECT '1b' gedeelte,
|
SELECT '1b' gedeelte,
|
||||||
m.ins_deel_key,
|
m.ins_deel_key,
|
||||||
m.ins_srtcontrole_key,
|
m.ins_srtcontrole_key,
|
||||||
NULL ins_deelsrtcontrole_datum,
|
NULL ins_deelsrtcontrole_datum,
|
||||||
m.ins_srtcontrole_eenheid,
|
m.ins_srtcontrole_eenheid,
|
||||||
m.ins_srtcontrole_periode,
|
m.ins_srtcontrole_periode,
|
||||||
ADD_MONTHS(
|
ADD_MONTHS(volgendedatum, CASE
|
||||||
volgendedatum,
|
WHEN m.ins_srtcontrole_eenheid = 3
|
||||||
CASE
|
THEN m.ins_srtcontrole_periode
|
||||||
WHEN m.ins_srtcontrole_eenheid = 3 THEN m.ins_srtcontrole_periode
|
ELSE m.ins_srtcontrole_periode * 12
|
||||||
ELSE m.ins_srtcontrole_periode * 12
|
END),
|
||||||
END),
|
|
||||||
discipline,
|
discipline,
|
||||||
soort,
|
soort,
|
||||||
groep,
|
groep,
|
||||||
@@ -147,26 +191,24 @@ AS
|
|||||||
NULL ins_deelsrtcontrole_opmerking,
|
NULL ins_deelsrtcontrole_opmerking,
|
||||||
NULL perslid,
|
NULL perslid,
|
||||||
NULL ins_deelsrtcontrole_plandatum,
|
NULL ins_deelsrtcontrole_plandatum,
|
||||||
'Niet gepland' deelsrtcontrole_status,
|
-1 ins_deelsrtcontrole_status,
|
||||||
|
-1 ins_controlemode_success,
|
||||||
|
lcl.L('lcl_ins_controlemode_notplaned') deelsrtcontrole_status,
|
||||||
vervaldatum,
|
vervaldatum,
|
||||||
NULL
|
NULL ins_deelsrtcontrole_key
|
||||||
ins_deelsrtcontrole_key
|
|
||||||
FROM comps m
|
FROM comps m
|
||||||
WHERE ADD_MONTHS(
|
WHERE ADD_MONTHS(volgendedatum, CASE
|
||||||
volgendedatum,
|
WHEN m.ins_srtcontrole_eenheid = 3
|
||||||
CASE
|
THEN m.ins_srtcontrole_periode
|
||||||
WHEN m.ins_srtcontrole_eenheid = 3 THEN m.ins_srtcontrole_periode
|
ELSE m.ins_srtcontrole_periode * 12
|
||||||
ELSE m.ins_srtcontrole_periode * 12
|
END) <= TRUNC(ADD_MONTHS(SYSDATE, 24), 'YYYY'))
|
||||||
END) <=
|
|
||||||
TRUNC(add_months(SYSDATE, 12), 'YYYY'))
|
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM comps
|
FROM comps
|
||||||
WHERE volgendedatum BETWEEN TRUNC(SYSDATE, 'YYYY')
|
WHERE volgendedatum BETWEEN TRUNC(ADD_MONTHS(SYSDATE, -12), 'YYYY')
|
||||||
AND TRUNC(add_months(SYSDATE, 12), 'YYYY')) ig
|
AND TRUNC(ADD_MONTHS(SYSDATE, 24), 'YYYY')) ig
|
||||||
WHERE vervaldatum IS NULL
|
WHERE (vervaldatum IS NULL OR vervaldatum > volgendedatum)
|
||||||
OR vervaldatum > SYSDATE
|
|
||||||
UNION ALL
|
UNION ALL
|
||||||
-- 2) Inspecties die dit jaar zijn uitgevoerd, uitgezonderd de laatste
|
-- 2) Inspecties die vorig jaar en dit jaar zijn uitgevoerd, uitgezonderd de laatste.
|
||||||
SELECT '2' gedeelte,
|
SELECT '2' gedeelte,
|
||||||
di.deel_key ins_deel_key,
|
di.deel_key ins_deel_key,
|
||||||
sc.ins_srtcontrole_key,
|
sc.ins_srtcontrole_key,
|
||||||
@@ -188,15 +230,56 @@ AS
|
|||||||
di.perslid,
|
di.perslid,
|
||||||
di.ins_deelsrtcontrole_datum_org,
|
di.ins_deelsrtcontrole_datum_org,
|
||||||
di.ins_deelsrtcontrole_plandatum,
|
di.ins_deelsrtcontrole_plandatum,
|
||||||
DECODE(di.deelsrtcontrole_status,
|
(SELECT ins_deelsrtcontrole_status
|
||||||
'Voltooid', DECODE(di.controlemode_omschrijving, 'Goed', 'Goed', 'Fout'),
|
FROM ins_deelsrtcontrole
|
||||||
di.deelsrtcontrole_status) deelsrtcontrole_status,
|
WHERE ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)
|
||||||
|
ins_deelsrtcontrole_status,
|
||||||
|
COALESCE((SELECT icm.ins_controlemode_success
|
||||||
|
FROM ins_controlemode icm
|
||||||
|
WHERE icm.ins_controlemode_key = (SELECT di2.ins_controlemode_key
|
||||||
|
FROM ins_deelsrtcontrole di2
|
||||||
|
WHERE di2.ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)), -1) ins_controlemode_success,
|
||||||
|
CASE (SELECT di2.ins_deelsrtcontrole_status
|
||||||
|
FROM ins_deelsrtcontrole di2
|
||||||
|
WHERE di2.ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)
|
||||||
|
WHEN 0
|
||||||
|
THEN lcl.L('lcl_ins_controle_pending')
|
||||||
|
WHEN 2
|
||||||
|
THEN lcl.L('lcl_ins_controle_gestart')
|
||||||
|
WHEN 5
|
||||||
|
THEN
|
||||||
|
CASE
|
||||||
|
WHEN ((SELECT icm.ins_controlemode_success
|
||||||
|
FROM ins_controlemode icm
|
||||||
|
WHERE icm.ins_controlemode_key = (SELECT ins_controlemode_key
|
||||||
|
FROM ins_deelsrtcontrole
|
||||||
|
WHERE ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)) = 1)
|
||||||
|
THEN lcl.L('lcl_ins_controlemode_approved')
|
||||||
|
ELSE lcl.L('lcl_ins_controlemode_deprecated')
|
||||||
|
END
|
||||||
|
WHEN 6
|
||||||
|
THEN
|
||||||
|
CASE
|
||||||
|
WHEN ((SELECT icm.ins_controlemode_success
|
||||||
|
FROM ins_controlemode icm
|
||||||
|
WHERE icm.ins_controlemode_key = (SELECT ins_controlemode_key
|
||||||
|
FROM ins_deelsrtcontrole
|
||||||
|
WHERE ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)) = 1)
|
||||||
|
THEN lcl.L('lcl_ins_controlemode_approved')
|
||||||
|
ELSE lcl.L('lcl_ins_controlemode_deprecated')
|
||||||
|
END
|
||||||
|
END deelsrtcontrole_status,
|
||||||
TO_CHAR(di.ins_deelsrtcontrole_datum, 'MM') maand,
|
TO_CHAR(di.ins_deelsrtcontrole_datum, 'MM') maand,
|
||||||
|
TO_CHAR(di.ins_deelsrtcontrole_datum, 'YYYY') jaar,
|
||||||
|
TO_CHAR(di.ins_deelsrtcontrole_datum, 'YYYY-MM') jaarmaand,
|
||||||
di.ins_deelsrtcontrole_datum volgendedatum,
|
di.ins_deelsrtcontrole_datum volgendedatum,
|
||||||
sc.ins_srtcontrole_eenheid,
|
sc.ins_srtcontrole_eenheid,
|
||||||
sc.ins_srtcontrole_periode,
|
sc.ins_srtcontrole_periode,
|
||||||
di.vervaldatum,
|
di.vervaldatum,
|
||||||
di.ins_deelsrtcontrole_key
|
di.ins_deelsrtcontrole_key,
|
||||||
|
TO_CHAR(ADD_MONTHS(SYSDATE, -12), 'YYYY') lastyear,
|
||||||
|
TO_CHAR(SYSDATE, 'YYYY') thisyear,
|
||||||
|
TO_CHAR(ADD_MONTHS(SYSDATE, 12), 'YYYY') nextyear
|
||||||
FROM ins_v_udr_deelinspect di,
|
FROM ins_v_udr_deelinspect di,
|
||||||
ins_srtcontrole sc,
|
ins_srtcontrole sc,
|
||||||
ctr_disc_params dp
|
ctr_disc_params dp
|
||||||
@@ -204,8 +287,8 @@ AS
|
|||||||
AND ctr_discipline_key = ctr_ins_discipline_key
|
AND ctr_discipline_key = ctr_ins_discipline_key
|
||||||
AND ctr_disc_params_ismjob = 0
|
AND ctr_disc_params_ismjob = 0
|
||||||
AND ins_srtcontrole_eenheid > 2
|
AND ins_srtcontrole_eenheid > 2
|
||||||
AND ins_deelsrtcontrole_datum BETWEEN TRUNC(SYSDATE, 'YYYY')
|
AND ins_deelsrtcontrole_datum BETWEEN TRUNC(ADD_MONTHS(SYSDATE, -12), 'YYYY')
|
||||||
AND TRUNC(add_months(SYSDATE, 12), 'YYYY')
|
AND TRUNC(ADD_MONTHS(SYSDATE, 24), 'YYYY')
|
||||||
AND di.ins_deelsrtcontrole_key NOT IN (SELECT MAX(ins_deelsrtcontrole_key)
|
AND di.ins_deelsrtcontrole_key NOT IN (SELECT MAX(ins_deelsrtcontrole_key)
|
||||||
FROM ins_deelsrtcontrole id2
|
FROM ins_deelsrtcontrole id2
|
||||||
WHERE id2.ins_deel_key = di.deel_key
|
WHERE id2.ins_deel_key = di.deel_key
|
||||||
@@ -215,6 +298,7 @@ AS
|
|||||||
ins_deel_key,
|
ins_deel_key,
|
||||||
ins_srtcontrole_key,
|
ins_srtcontrole_key,
|
||||||
ins_deelsrtcontrole_datum,
|
ins_deelsrtcontrole_datum,
|
||||||
|
jaar,
|
||||||
maand;
|
maand;
|
||||||
|
|
||||||
REGISTERRUN('$Id$')
|
REGISTERRUN('$Id$')
|
||||||
|
|||||||
Reference in New Issue
Block a user