FCLT#56091: Kleurmarkering bij inspecties werkt niet goed.
svn path=/Website/trunk/; revision=41017
This commit is contained in:
@@ -223,6 +223,42 @@ var authparams = user.checkAutorisation("WEB_INSUSE");
|
||||
dtsoon.setHours(0,0,0,0); // trunc datum
|
||||
var dtlate = new Date().setHours(0,0,0,0);
|
||||
|
||||
// Als het een eerste controle(1) is en er dan staat "Onbekend/Undetermined" in beeld. Dan ook rood weergeven.
|
||||
// Als de eerste controle is ingepland (en eventueel gestart) dan staat de plandatum in beeld en is undetermined false.
|
||||
// Onbepaald alleen bij een Controle(1) als er nog geen inspectie is geweest en de inspectie nog niet is ingepland.
|
||||
// Daarnaast moet gelden: a) de aanmaakdatum moet in het verleden liggen of
|
||||
// b) de startdatum moet na de aanmaakdatum liggen en in het verleden.
|
||||
var nonext = oRs("nonext").Value == 1;
|
||||
var ctr_controle_type = oRs("ctr_controle_type").Value;
|
||||
var ins_deelsrtcontrole_plandatum = oRs("plandatum").Value; // Ingeplande datum.
|
||||
var ins_srtcontroledl_xcp_startdat = oRs("ins_srtcontroledl_xcp_startdat").Value; // Startdatum (exception).
|
||||
var ins_deel_aanmaak = new Date(oRs("ins_deel_aanmaak").Value); // Aanmaakdatum/Registratiedatum object.
|
||||
var start_na_aanmaak = ins_srtcontroledl_xcp_startdat != null && new Date(ins_srtcontroledl_xcp_startdat) > ins_deel_aanmaak;
|
||||
var aanmaak_na_start = ins_srtcontroledl_xcp_startdat != null && new Date(ins_srtcontroledl_xcp_startdat) < ins_deel_aanmaak;
|
||||
var today = (oRs("eenheid").Value == 0? new Date() : new Date().midnight());
|
||||
if (nonext &&
|
||||
ctr_controle_type == 1 &&
|
||||
ins_deelsrtcontrole_plandatum == null &&
|
||||
((ins_srtcontroledl_xcp_startdat == null && ins_deel_aanmaak < today) ||
|
||||
(start_na_aanmaak && new Date(ins_srtcontroledl_xcp_startdat) < today) ||
|
||||
(aanmaak_na_start && ins_deel_aanmaak < today)))
|
||||
// Volgende actie is "Onbekend/Undetermined"
|
||||
return lclass + " expired2"; // Te laat.
|
||||
// Als de startdatum en/of aanmaakdatum in de toekomst ligt en voor dtsoon, dan kan het binnenkort zijn.
|
||||
// Dat kan alleen bij een Controle(1) als er nog geen inspectie is geweest en de inspectie nog niet is ingepland.
|
||||
// Daarnaast moet gelden: a) de aanmaakdatum moet tussen nu en dtsoon liggen of
|
||||
// b) de startdatum moet na de aanmaakdatum liggen tussen nu en dtsoon.
|
||||
// Eigelijk kan de voorwaarden dat de aanmaakdatum en startdatum na nu weg, want anders gelde vorige if voorwaarde wel.
|
||||
else if (nonext &&
|
||||
ctr_controle_type == 1 &&
|
||||
ins_deelsrtcontrole_plandatum == null &&
|
||||
((ins_srtcontroledl_xcp_startdat == null && ins_deel_aanmaak < dtsoon && ins_deel_aanmaak >= today) ||
|
||||
(start_na_aanmaak && new Date(ins_srtcontroledl_xcp_startdat) < dtsoon && new Date(ins_srtcontroledl_xcp_startdat) >= today) ||
|
||||
(aanmaak_na_start && ins_deel_aanmaak < dtsoon && ins_deel_aanmaak >= today)))
|
||||
{
|
||||
return lclass + " expired1"; // Binnenkort.
|
||||
}
|
||||
|
||||
if (dt >= dtsoon)
|
||||
return lclass; // meer dan 30 dagen in de toekomst
|
||||
|
||||
@@ -274,11 +310,36 @@ var authparams = user.checkAutorisation("WEB_INSUSE");
|
||||
var nonext = oRs("nonext").Value == 1;
|
||||
if (nonext && !ismjob)
|
||||
{
|
||||
if (oRs("ins_srtcontroledl_xcp_startdat").Value != null)
|
||||
{
|
||||
var dt = new Date(oRs("ins_srtcontroledl_xcp_startdat").Value); // Startdatum.
|
||||
// Er is nog geen inspectie geweest. Eerste controle moet nog plaatsvinden.
|
||||
// 1: Controle, 2: Vervanging, 3: Certificering.
|
||||
var aanmaak = new Date(oRs("ins_deel_aanmaak").Value); // Aanmaakdatum/Registratiedatum object.
|
||||
var startdate = oRs("ins_srtcontroledl_xcp_startdat").Value != null? new Date(oRs("ins_srtcontroledl_xcp_startdat").Value) : null; // Startdatum taak.
|
||||
if ((startdate != null || aanmaak.getTime() > new Date().midnight().getTime()) && oRs("plandatum").Value == null)
|
||||
{ // Er is nog geen inspectie geweest en de startdatum is ingevuld of de registratiedatum ligt in de toekomst.
|
||||
// De inspectie is nog niet ingepland.
|
||||
// Er geldt dan het volgende:
|
||||
// Voor Controle(1):
|
||||
// a) Als de startdatum is ingevuld is de eerste inspectie op MAX(startdatum, registratiedatum) van het object.
|
||||
// b) Als de startdatum niet is ingevuld en de registratiedatum ligt in de toekomst dan is de eerste inspectie de tekst
|
||||
// "Vanaf #registratiedatum eerste controle" (voor #registratiedatum de registratiedatum invullen).
|
||||
// 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.
|
||||
if (oRs("ctr_controle_type").Value == 1)
|
||||
{ // Controle.
|
||||
if (startdate == null)
|
||||
txt = L("lcl_ins_controle_from").format(oRs("eenheid").Value == 0? toDateTimeString(aanmaak) : toDateString(aanmaak));
|
||||
else
|
||||
dt = startdate.getTime() > aanmaak.getTime()? startdate : aanmaak; // Inspectiedatum is MAX(startdatum, registratiedatum).
|
||||
}
|
||||
else
|
||||
{ // Vervanging(2) of Certificering(3).
|
||||
dt = startdate != null && startdate.getTime() > aanmaak.getTime()? startdate : new Date(oRs("inspectie_next").Value); // Startdatum of de volgende inspectie.
|
||||
}
|
||||
if (!txt)
|
||||
txt = (oRs("eenheid").Value == 0? toDateTimeString(dt) : toDateString(dt));
|
||||
thisCostYear = dt.getFullYear();
|
||||
var txt = (oRs("eenheid").value == 0? toDateTimeString(dt) : toDateString(dt));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -539,8 +539,9 @@ function ins_list (pautfunction, params)
|
||||
var istatus = oRs("ins_deelsrtcontrole_status").Value != null? oRs("ins_deelsrtcontrole_status").Value : -1;
|
||||
|
||||
if (inspDone) return lclass;
|
||||
var ins_deelsrtcontrole_plandatum = oRs("ins_deelsrtcontrole_plandatum").Value;
|
||||
var ins_srtcontroledl_xcp_startdat = oRs("ins_srtcontroledl_xcp_startdat").Value;
|
||||
var ins_deelsrtcontrole_plandatum = oRs("ins_deelsrtcontrole_plandatum").Value; // Ingeplande datum.
|
||||
var ins_srtcontroledl_xcp_startdat = oRs("ins_srtcontroledl_xcp_startdat").Value; // Startdatum (exception).
|
||||
var ins_deel_aanmaak = new Date(oRs("ins_deel_aanmaak").Value); // Aanmaakdatum/Registratiedatum object.
|
||||
if (ins_deelsrtcontrole_plandatum == null)
|
||||
var dt = new Date(oRs("inspectie_next").Value);
|
||||
else
|
||||
@@ -551,22 +552,45 @@ function ins_list (pautfunction, params)
|
||||
dtsoon.setHours(0,0,0,0); // trunc datum
|
||||
var dtlate = new Date(new Date().setHours(0,0,0,0));
|
||||
|
||||
// Als het een eerste controle(1) is, dan staat "Onbekend/Undetermined" in beeld. Dan ook rood weergeven.
|
||||
// Als de eerste controle is ingepland (en eventueel gestart) dan staat de plandatum in beeld en is undetermined false.
|
||||
// Als het een eerste controle(1) is en er dan staat "Onbekend/Undetermined" in beeld. Dan ook rood weergeven.
|
||||
// Onbepaald alleen bij een Controle(1) als er nog geen inspectie is geweest en de inspectie nog niet is ingepland.
|
||||
// Daarnaast moet gelden: a) de aanmaakdatum moet in het verleden liggen of
|
||||
// b) de startdatum moet na de aanmaakdatum liggen en in het verleden.
|
||||
var nonext = oRs("nonext").Value == 1;
|
||||
var ctr_controle_type = oRs("ctr_controle_type").Value;
|
||||
var undetermined = (nonext &&
|
||||
ctr_controle_type == 1 &&
|
||||
ins_deelsrtcontrole_plandatum == null &&
|
||||
ins_srtcontroledl_xcp_startdat == null); // Eerste Controle(1) nog niet ingepland en uitgevoerd.
|
||||
var start_na_aanmaak = ins_srtcontroledl_xcp_startdat != null && new Date(ins_srtcontroledl_xcp_startdat) > ins_deel_aanmaak;
|
||||
var aanmaak_na_start = ins_srtcontroledl_xcp_startdat != null && new Date(ins_srtcontroledl_xcp_startdat) < ins_deel_aanmaak;
|
||||
var today = (oRs("inspectie_eenheid").Value == 0? new Date() : new Date().midnight());
|
||||
if (nonext &&
|
||||
ctr_controle_type == 1 &&
|
||||
ins_deelsrtcontrole_plandatum == null &&
|
||||
((ins_srtcontroledl_xcp_startdat == null && ins_deel_aanmaak < today) ||
|
||||
(start_na_aanmaak && new Date(ins_srtcontroledl_xcp_startdat) < today) ||
|
||||
(aanmaak_na_start && ins_deel_aanmaak < today)))
|
||||
// Volgende actie is "Onbekend/Undetermined"
|
||||
return lclass + " expired2"; // Te laat.
|
||||
// Als de startdatum en/of aanmaakdatum in de toekomst ligt en voor dtsoon, dan kan het binnenkort zijn.
|
||||
// Dat kan alleen bij een Controle(1) als er nog geen inspectie is geweest en de inspectie nog niet is ingepland.
|
||||
// Daarnaast moet gelden: a) de aanmaakdatum moet tussen nu en dtsoon liggen of
|
||||
// b) de startdatum moet na de aanmaakdatum liggen tussen nu en dtsoon.
|
||||
// Eigelijk kan de voorwaarden dat de aanmaakdatum en startdatum na nu weg, want anders gelde vorige if voorwaarde wel.
|
||||
else if (nonext &&
|
||||
ctr_controle_type == 1 &&
|
||||
ins_deelsrtcontrole_plandatum == null &&
|
||||
((ins_srtcontroledl_xcp_startdat == null && ins_deel_aanmaak < dtsoon && ins_deel_aanmaak >= today) ||
|
||||
(start_na_aanmaak && new Date(ins_srtcontroledl_xcp_startdat) < dtsoon && new Date(ins_srtcontroledl_xcp_startdat) >= today) ||
|
||||
(aanmaak_na_start && ins_deel_aanmaak < dtsoon && ins_deel_aanmaak >= today)))
|
||||
{
|
||||
return lclass + " expired1"; // Binnenkort.
|
||||
}
|
||||
|
||||
if (dt >= dtsoon && !undetermined)
|
||||
return lclass; // meer dan S("ins_inspect_soon_days") dagen in de toekomst
|
||||
if (dt >= dtsoon)
|
||||
return lclass; // Op tijd, meer dan S("ins_inspect_soon_days") dagen in de toekomst.
|
||||
|
||||
if (dt >= dtlate && !undetermined)
|
||||
return lclass + " expired1"; // Binnenkort
|
||||
if (dt >= dtlate)
|
||||
return lclass + " expired1"; // Binnenkort.
|
||||
|
||||
return lclass + " expired2"; // Te laat
|
||||
return lclass + " expired2"; // Te laat.
|
||||
}
|
||||
|
||||
function fnStatus(oRs)
|
||||
@@ -722,10 +746,33 @@ function ins_list (pautfunction, params)
|
||||
if (nonext && !ismjob)
|
||||
{ // Er is nog geen inspectie geweest. Eerste controle moet nog plaatsvinden.
|
||||
// 1: Controle, 2: Vervanging, 3: Certificering.
|
||||
if (oRs("ins_srtcontroledl_xcp_startdat").Value != null)
|
||||
{
|
||||
dt = new Date(oRs("ins_srtcontroledl_xcp_startdat").Value); // Startdatum.
|
||||
txt = (oRs("inspectie_eind").Value == 0? toDateTimeString(dt) : toDateString(dt));
|
||||
var aanmaak = new Date(oRs("ins_deel_aanmaak").Value); // Aanmaakdatum/Registratiedatum object.
|
||||
var startdate = oRs("ins_srtcontroledl_xcp_startdat").Value != null? new Date(oRs("ins_srtcontroledl_xcp_startdat").Value) : null; // Startdatum taak.
|
||||
if ((startdate != null || aanmaak.getTime() > new Date().midnight().getTime()) && oRs("ins_deelsrtcontrole_plandatum").Value == null)
|
||||
{ // Er is nog geen inspectie geweest en de startdatum is ingevuld of de registratiedatum ligt in de toekomst.
|
||||
// De inspectie is nog niet ingepland.
|
||||
// Er geldt dan het volgende:
|
||||
// Voor Controle(1):
|
||||
// a) Als de startdatum is ingevuld is de eerste inspectie op MAX(startdatum, registratiedatum) van het object.
|
||||
// b) Als de startdatum niet is ingevuld en de registratiedatum ligt in de toekomst dan is de eerste inspectie de tekst
|
||||
// "Vanaf #registratiedatum eerste controle" (voor #registratiedatum de registratiedatum invullen).
|
||||
// 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.
|
||||
if (oRs("ctr_controle_type").Value == 1)
|
||||
{ // Controle.
|
||||
if (startdate == null)
|
||||
txt = L("lcl_ins_controle_from").format(oRs("inspectie_eenheid").Value == 0? toDateTimeString(aanmaak) : toDateString(aanmaak));
|
||||
else
|
||||
dt = startdate.getTime() > aanmaak.getTime()? startdate : aanmaak; // Inspectiedatum is MAX(startdatum, registratiedatum).
|
||||
}
|
||||
else
|
||||
{ // Vervanging(2) of Certificering(3).
|
||||
dt = startdate != null && startdate.getTime() > aanmaak.getTime()? startdate : new Date(oRs("inspectie_next").Value); // Startdatum of de volgende inspectie.
|
||||
}
|
||||
if (!txt)
|
||||
txt = (oRs("inspectie_eenheid").Value == 0? toDateTimeString(dt) : toDateString(dt));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -734,7 +781,7 @@ function ins_list (pautfunction, params)
|
||||
case 1: { txt = L("lcl_ins_controle_first"); break; } // Eerste controle.
|
||||
case 2:
|
||||
case 3: { dt = new Date(oRs("inspectie_next").Value); // Registratiedatum.
|
||||
txt = (oRs("inspectie_eind").Value == 0? toDateTimeString(dt) : toDateString(dt));
|
||||
txt = (oRs("inspectie_eenheid").Value == 0? toDateTimeString(dt) : toDateString(dt));
|
||||
break;
|
||||
} // Eerste certificering.
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user