FCLT#53547: MJOB: MJOB aanvullingen.
svn path=/Website/trunk/; revision=38434
This commit is contained in:
@@ -2608,14 +2608,15 @@ ins = {checkAutLevel:
|
||||
// Bepaling in welk jaar er een inspectie is gepland.
|
||||
// 1) In het jaar dat er nog een geaccordeerde/bevroren(2) inspectie actief is.
|
||||
// 2) In het jaar van de plandatum.
|
||||
// 3) De startdatum is ingevuld of de registratiedatum ligt in de toekomst. Er dan geldt het volgende:
|
||||
// 3) Laatste inpspectie is NIET succesvol (laatste_not_suc IS NOT NULL).
|
||||
// Volgende inspectie is in het freeze jaar.
|
||||
// Eventuele startdatum doet er niet meer toe, vandaar dit punt eerder controleren.
|
||||
// 4) 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).
|
||||
// Volgende inspectie is in het freeze jaar.
|
||||
// 5) a) Laatste inspectie is NULL (eerste inspectie moet nog komen) en het is een Controle(1).
|
||||
// Volgende inspectie is in het freeze jaar.
|
||||
// b) Laatste inspectie is NULL (eerste inspectie moet nog komen) en het is een Vervanging(2) of Certificering(3).
|
||||
@@ -2639,7 +2640,12 @@ ins = {checkAutLevel:
|
||||
+ " ELSE NULL"
|
||||
+ " END"
|
||||
+ " , 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) Laatste inspectie is NIET succesvol.
|
||||
+ " WHEN e.laatste_not_suc IS NOT NULL AND c.laatste IS NULL"
|
||||
+ " THEN TO_DATE('" + mjb_freeze_year + "', 'YYYY')"
|
||||
+ " ELSE NULL"
|
||||
+ " END"
|
||||
+ " , CASE" // 4) Eventueel startdatum (ins_srtcontroledl_xcp_startdat) i.g.v. als er nog geen inspectie heeft plaatsgevonden.
|
||||
+ " WHEN c.laatste IS NULL AND" // Als er al een inspectie is geweest, is de startdatum niet meer van belang.
|
||||
+ " 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.
|
||||
@@ -2688,11 +2694,6 @@ ins = {checkAutLevel:
|
||||
+ " END"
|
||||
+ " ELSE NULL"
|
||||
+ " END"
|
||||
+ " , CASE" // 4) Laatste inspectie is NIET succesvol.
|
||||
+ " WHEN e.laatste_not_suc IS NOT NULL AND c.laatste IS NULL"
|
||||
+ " THEN TO_DATE('" + mjb_freeze_year + "', 'YYYY')"
|
||||
+ " ELSE NULL"
|
||||
+ " END"
|
||||
+ " , CASE" // 5) Berekenen jaar.
|
||||
+ " WHEN c.laatste IS NULL AND e.ctr_controle_type = 1" // 5a) 1: Controle.
|
||||
+ " THEN TO_DATE('" + mjb_freeze_year + "', 'YYYY')"
|
||||
@@ -2726,15 +2727,37 @@ ins = {checkAutLevel:
|
||||
: " EXTRACT(YEAR FROM c.ins_deelsrtcontrole_freezedate)")) + " vervangingsjaar";
|
||||
|
||||
// Eerste inspectie datum bepalen zonder na de plandatum te kijken (orginele inspectie datum).
|
||||
// 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.
|
||||
// 1) Eerst controleren of laatste inpspectie NIET succesvol (laatste_not_suc IS NOT NULL) is geweest.
|
||||
// De volgende inspectie is dan in het freeze jaar.
|
||||
// 2) Er is nog geen inspectie geweest en 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.
|
||||
// 3) Bereken jaar.
|
||||
// a) Laatste inspectie is NULL (eerste inspectie moet nog komen) en het is een Controle(1).
|
||||
// Volgende inspectie is in het freeze jaar.
|
||||
// b) Laatste inspectie is NULL (eerste inspectie moet nog komen) en het is een Vervanging(2) of Certificering(3).
|
||||
// Nextdate is na het freeze jaar?
|
||||
// Ja) Vorige inspectie ligt na het start jaar en ligt niet in het aanmaak jaar?
|
||||
// Ja) Volgende inspectie is in het freeze jaar.
|
||||
// Nee) Volgende inspectie is het jaar van de nextdate.
|
||||
// Nee) De laatst ingeplande inspectie (nextdate) is na of in het start jaar?
|
||||
// Ja) Volgende inspectie is in het freeze jaar.
|
||||
// Nee) Volgende inspectie is in het jaar "nextdatum + periode".
|
||||
// c) Laatste inspectie is niet NULL. Er is al 1 of meerdere keren geinspecteerd.
|
||||
// Ligt de laatst ingeplande inspectie (nextdate) na dit jaar?
|
||||
// Ja) Volgende inspectie is het jaar van de nextdate (in de toekomst).
|
||||
// Nee) Volgende inspectie is in het freeze jaar.
|
||||
// LET OP: c.laatste is de laatste geplande, geaccordeerde of succesvol uitgevoerde taak.
|
||||
// laatste_not_suc is de laatste NIET succesvoll uitgevoerde taak.
|
||||
// P.S.: 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 =
|
||||
" EXTRACT (YEAR FROM COALESCE(CASE"
|
||||
+ " WHEN c.laatste IS NULL AND" // Startdatum is ingevuld en er is nog geen inspectie geweest.
|
||||
+ " WHEN e.laatste_not_suc IS NOT NULL" // 1) Laatste inspectie is NIET succesvol. De volgende inspectie direct in het freeze jaar.
|
||||
+ " THEN TO_DATE('" + mjb_freeze_year + "', 'YYYY')"
|
||||
+ " WHEN c.laatste IS NULL AND" // 2) Startdatum is ingevuld en er is nog geen inspectie geweest.
|
||||
+ " e.ins_srtcontroledl_xcp_startdat IS NOT NULL"
|
||||
+ " THEN" // Startdatum is ingevuld en ligt in het verleden of de toekomst en er is nog geen inspectie geweest.
|
||||
+ " CASE"
|
||||
@@ -2782,7 +2805,7 @@ ins = {checkAutLevel:
|
||||
+ " END"
|
||||
+ " ELSE NULL"
|
||||
+ " END"
|
||||
+ " , CASE" // Berekenen jaar.
|
||||
+ " , CASE" // 3) Berekenen jaar.
|
||||
+ " WHEN c.laatste IS NULL AND e.ctr_controle_type = 1" // 1: Controle.
|
||||
+ " THEN TO_DATE('" + mjb_freeze_year + "', 'YYYY')"
|
||||
+ " WHEN c.laatste IS NULL AND e.ctr_controle_type != 1" // 2: Vervanging, 3: Certificering.
|
||||
|
||||
Reference in New Issue
Block a user