diff --git a/CTR/CTR_VIE.SRC b/CTR/CTR_VIE.SRC index c07eb6cf..300ee771 100644 --- a/CTR/CTR_VIE.SRC +++ b/CTR/CTR_VIE.SRC @@ -401,7 +401,7 @@ AS m.ins_srtcontrole_periode, m.ins_srtcontrole_bits, 1, - 0), + 0) volgendedatum, m.discipline, m.soort, m.groep, @@ -439,6 +439,23 @@ AS OR ig.vervaldatum > ig.volgendedatum) AND ig.volgendedatum BETWEEN TRUNC(ADD_MONTHS(SYSDATE, -12), 'YYYY') AND TRUNC(ADD_MONTHS(SYSDATE, 24), 'YYYY') AND TRUNC(ig.volgendedatum, 'YYYY') < TRUNC(ADD_MONTHS(SYSDATE, 24), 'YYYY') -- 1 januari in het jaar dat 2 jaar verder ligt niet meetellen. + AND TO_CHAR(ig.volgendedatum, 'YYYY-MM') NOT IN (SELECT TO_CHAR(di.ins_deelsrtcontrole_datum, 'YYYY-MM') jaarmaand -- Toekomstige inspecties mogen niet al zijn uitgevoerd. Ofwel 1c mag geen 2 bevatten in dezelfde maand. + FROM ins_v_udr_deelinspect di, + ins_srtcontrole sc, + ctr_disc_params dp + WHERE di.ins_srtcontrole_key = sc.ins_srtcontrole_key + AND sc.ctr_discipline_key = dp.ctr_ins_discipline_key + AND dp.ctr_disc_params_ismjob = 0 + AND sc.ins_srtcontrole_eenheid > 2 + AND di.ins_deelsrtcontrole_datum BETWEEN 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) -- Inspecties die zijn uitgevoerd, uitgezonderd de laatste (2), want die zitten onder 1a. + FROM ins_deelsrtcontrole id2 + WHERE id2.ins_deel_key = di.deel_key + AND id2.ins_srtcontrole_key = di.ins_srtcontrole_key + AND id2.ins_scenario_key = 1) + AND di.deel_key = ig.ins_deel_key + AND di.ins_srtcontrole_key = ig.ins_srtcontrole_key) UNION ALL -- 2) Inspecties die vorig jaar en dit jaar zijn uitgevoerd, uitgezonderd de laatste. SELECT di.discipline,