FCLT#53547: MJOB: MJOB aanvullingen.

svn path=/Website/trunk/; revision=38420
This commit is contained in:
Maykel Geerdink
2018-07-09 09:52:05 +00:00
parent d814058223
commit b258fabab4

View File

@@ -2608,7 +2608,12 @@ ins = {checkAutLevel:
// Bepaling in welk jaar er een inspectie is gepland. // Bepaling in welk jaar er een inspectie is gepland.
// 1) In het jaar dat er nog een geaccordeerde/bevroren(2) inspectie actief is. // 1) In het jaar dat er nog een geaccordeerde/bevroren(2) inspectie actief is.
// 2) In het jaar van de plandatum. // 2) In het jaar van de plandatum.
// 3) In het jaar van de startdatum. // 3) De startdatum is ingevuld of de registratiedatum ligt in de toekomst. Er dan geldt het volgende:
// Voor Controle(1): Eerste inspectie tonen op MAX(startdatum, registratiedatum) van het object.
// Voor Vervanging(2) of Certificering(3):
// a) Als registratiedatum het verst in de toekomst ligt: Eerste inspectie tonen op 1 periode verder dan de registratiedatum.
// b) Als de startdatum het verst in de toekomst ligt: Eerste inspectie tonen op de startdatum.
// De aanmaakdatum/Registratiedatum is altijd ingevuld en als er al een inspectie is geweest, zijn de startdatum en registratiedatum niet meer van belang.
// 4) Laatste inpspectie is NIET succesvol (laatste IS NOT NULL && laatste_suc IS NULL). // 4) Laatste inpspectie is NIET succesvol (laatste IS NOT NULL && laatste_suc IS NULL).
// Volgende inspectie is in het freeze jaar. // Volgende inspectie is in het freeze jaar.
// 5) a) Laatste inspectie is NULL (eerste inspectie moet nog komen) en het is een Controle(1). // 5) a) Laatste inspectie is NULL (eerste inspectie moet nog komen) en het is een Controle(1).
@@ -2635,8 +2640,52 @@ ins = {checkAutLevel:
+ " END" + " END"
+ " , COALESCE(c.plandatum, e.plandatum)" // 2) Plandatum. + " , COALESCE(c.plandatum, e.plandatum)" // 2) Plandatum.
+ " , CASE" // 3) Eventueel startdatum (ins_srtcontroledl_xcp_startdat) i.g.v. als er nog geen inspectie heeft plaatsgevonden. + " , CASE" // 3) Eventueel startdatum (ins_srtcontroledl_xcp_startdat) i.g.v. als er nog geen inspectie heeft plaatsgevonden.
+ " WHEN c.laatste IS NULL" // Als er al een inspectie is geweest, is de startdatum niet meer van belang. + " WHEN c.laatste IS NULL AND" // Als er al een inspectie is geweest, is de startdatum niet meer van belang.
+ " THEN e.ins_srtcontroledl_xcp_startdat" + " e.ins_srtcontroledl_xcp_startdat IS NOT NULL" // Startdatum is ingevuld en er is nog geen inspectie geweest.
+ " THEN" // Startdatum is ingevuld en ligt in het verleden of de toekomst en er is nog geen inspectie geweest.
+ " CASE"
+ " WHEN EXTRACT(YEAR FROM e.ins_srtcontroledl_xcp_startdat) >= EXTRACT(YEAR FROM e.ins_deel_aanmaak)"
+ " THEN" // Startdatum op of na aanmaakdatum/registratiedatum.
+ " CASE"
+ " WHEN EXTRACT(YEAR FROM e.ins_srtcontroledl_xcp_startdat) < " + mjb_freeze_year
+ " THEN TO_DATE('" + mjb_freeze_year + "', 'YYYY')"
+ " ELSE e.ins_srtcontroledl_xcp_startdat"
+ " END"
+ " ELSE" // Aanmaakdatum/Registratiedatum is na de startdatum.
+ " CASE"
+ " WHEN e.ctr_controle_type = 1" // 1: Controle.
+ " THEN"
+ " CASE"
+ " WHEN EXTRACT(YEAR FROM e.ins_deel_aanmaak) < " + mjb_freeze_year
+ " THEN TO_DATE('" + mjb_freeze_year + "', 'YYYY')"
+ " ELSE e.ins_deel_aanmaak" // Registratiedatum.
+ " END"
+ " ELSE" // 2: Vervanging, 3: Certificering.
+ " CASE"
+ " WHEN EXTRACT(YEAR FROM ADD_MONTHS(e.ins_deel_aanmaak, 12 * e.ins_srtcontrole_periode)) < " + mjb_freeze_year
+ " THEN TO_DATE('" + mjb_freeze_year + "', 'YYYY')"
+ " ELSE ADD_MONTHS(e.ins_deel_aanmaak, 12 * e.ins_srtcontrole_periode)" // 1 periode na registratiedatum.
+ " END"
+ " END"
+ " END"
+ " WHEN c.laatste IS NULL AND"
+ " EXTRACT(YEAR FROM e.ins_deel_aanmaak) > EXTRACT(YEAR FROM SYSDATE)" // Alleen de aanmaakdatum/registratiedatum is ingevuld.
+ " THEN" // Aanmaakdatum/Registratiedatum is ingevuld en ligt in de toekomst en er is nog geen inspectie geweest.
+ " CASE"
+ " WHEN e.ctr_controle_type = 1" // 1: Controle.
+ " THEN"
+ " CASE"
+ " WHEN EXTRACT( YEAR FROM e.ins_deel_aanmaak) < " + mjb_freeze_year
+ " THEN TO_DATE('" + mjb_freeze_year + "', 'YYYY')"
+ " ELSE e.ins_deel_aanmaak"
+ " END"
+ " ELSE" // 2: Vervanging, 3: Certificering.
+ " CASE"
+ " WHEN EXTRACT( YEAR FROM ADD_MONTHS(e.ins_deel_aanmaak, 12 * e.ins_srtcontrole_periode)) < " + mjb_freeze_year
+ " THEN TO_DATE('" + mjb_freeze_year + "', 'YYYY')"
+ " ELSE ADD_MONTHS(e.ins_deel_aanmaak, 12 * e.ins_srtcontrole_periode)"
+ " END"
+ " END"
+ " ELSE NULL" + " ELSE NULL"
+ " END" + " END"
+ " , CASE" // 4) Laatste inspectie is NIET succesvol. + " , CASE" // 4) Laatste inspectie is NIET succesvol.
@@ -2677,7 +2726,7 @@ ins = {checkAutLevel:
: " EXTRACT(YEAR FROM c.ins_deelsrtcontrole_freezedate)")) + " vervangingsjaar"; : " EXTRACT(YEAR FROM c.ins_deelsrtcontrole_freezedate)")) + " vervangingsjaar";
// Eerste inspectie datum bepalen zonder na de plandatum te kijken (orginele inspectie datum). // Eerste inspectie datum bepalen zonder na de plandatum te kijken (orginele inspectie datum).
// Als de registratiedatum in de toekomst ligt en de startdatum eventueel ook dan geldt het volgende: // De startdatum is ingevuld of de registratiedatum ligt in de toekomst. Er dan geldt het volgende:
// Voor Controle(1): Eerste inspectie tonen op MAX(startdatum, registratiedatum) van het object. // Voor Controle(1): Eerste inspectie tonen op MAX(startdatum, registratiedatum) van het object.
// Voor Vervanging(2) of Certificering(3): // Voor Vervanging(2) of Certificering(3):
// a) Als registratiedatum het verst in de toekomst ligt: Eerste inspectie tonen op 1 periode verder dan de registratiedatum. // a) Als registratiedatum het verst in de toekomst ligt: Eerste inspectie tonen op 1 periode verder dan de registratiedatum.
@@ -2685,11 +2734,9 @@ ins = {checkAutLevel:
// De aanmaakdatum/Registratiedatum is altijd ingevuld en als er al een inspectie is geweest, zijn de startdatum en registratiedatum niet meer van belang. // De aanmaakdatum/Registratiedatum is altijd ingevuld en als er al een inspectie is geweest, zijn de startdatum en registratiedatum niet meer van belang.
var sql_org_nextdate = var sql_org_nextdate =
" EXTRACT (YEAR FROM COALESCE(CASE" " EXTRACT (YEAR FROM COALESCE(CASE"
+ " WHEN c.laatste IS NULL AND" // Startdatum of registratiedatum in de toekomst en er is nog geen inspectie geweest. + " WHEN c.laatste IS NULL AND" // Startdatum is ingevuld en er is nog geen inspectie geweest.
+ " (e.ins_srtcontroledl_xcp_startdat IS NOT NULL AND" + " e.ins_srtcontroledl_xcp_startdat IS NOT NULL"
+ " (EXTRACT(YEAR FROM e.ins_srtcontroledl_xcp_startdat) > EXTRACT(YEAR FROM SYSDATE) OR" + " THEN" // Startdatum is ingevuld en ligt in het verleden of de toekomst en er is nog geen inspectie geweest.
+ " EXTRACT(YEAR FROM e.ins_deel_aanmaak) > EXTRACT(YEAR FROM SYSDATE)))"
+ " THEN" // Startdatum is ingevuld en ligt in de toekomst en er is nog geen inspectie geweest.
+ " CASE" + " CASE"
+ " WHEN EXTRACT(YEAR FROM e.ins_srtcontroledl_xcp_startdat) >= EXTRACT(YEAR FROM e.ins_deel_aanmaak)" + " WHEN EXTRACT(YEAR FROM e.ins_srtcontroledl_xcp_startdat) >= EXTRACT(YEAR FROM e.ins_deel_aanmaak)"
+ " THEN" // Startdatum op of na aanmaakdatum/registratiedatum. + " THEN" // Startdatum op of na aanmaakdatum/registratiedatum.