FSN#38083: Startmoment van de inspectie kunnen vastleggen bij het srtcontroledl_xcp record.

svn path=/Website/trunk/; revision=31409
This commit is contained in:
Maykel Geerdink
2016-11-10 09:54:58 +00:00
parent 6dc45c79d9
commit 0c47917281
3 changed files with 87 additions and 23 deletions

View File

@@ -152,8 +152,9 @@ if (ins_key_arr.length == 1)
var eenheid = -1;
var scmode = 1; // 0 = Momentmode, 1 = Intervalmode.
var sctype = -1;
var vervaldatum = null;
var aanmaakdatum = null;
var aanmaakdatum;
var startdatum;
var eersteinspectie;
var info = "";
sql = "SELECT *"
+ " FROM (SELECT DISTINCT COALESCE (xcp.ins_srtcontroledl_xcp_eenheid, di.ins_srtcontrole_eenheid) eenheid"
@@ -161,6 +162,11 @@ if (ins_key_arr.length == 1)
+ " , di.ins_srtcontrole_mode scmode"
+ " , di.ctr_controle_type sctype"
+ " , di.ins_deel_aanmaak"
+ " , xcp.ins_srtcontroledl_xcp_startdat startdatum"
+ " , (SELECT COUNT (idsc.ins_deelsrtcontrole_key)"
+ " FROM ins_deelsrtcontrole idsc1"
+ " WHERE idsc1.ins_deel_key = di.ins_deel_key"
+ " AND idsc1.ins_srtcontrole_key = di.ins_srtcontrole_key) aantal"
+ " FROM ins_v_defined_inspect di"
+ " , ins_srtcontroledl_xcp xcp"
+ " , ins_deelsrtcontrole idsc"
@@ -178,6 +184,8 @@ if (ins_key_arr.length == 1)
scmode = oRs("scmode").Value;
sctype = oRs("sctype").Value;
aanmaakdatum = new Date(oRs("ins_deel_aanmaak").Value);
startdatum = oRs("startdatum").Value != null? new Date(oRs("startdatum").Value) : null;
eersteinspectie = oRs("aantal").Value == 0;
oRs.MoveNext();
while (!oRs.eof)
{
@@ -221,9 +229,9 @@ if (ins_key_arr.length == 1)
+ " WHERE idsc.ins_srtcontrole_key = isc.ins_srtcontrole_key"
+ " AND idsc.ins_srtcontrole_key = xcp.ins_srtcontrole_key(+)"
+ " AND idsc.ins_deel_key = xcp.ins_deel_key(+)"
+ " AND idsc.ins_deel_key IN (" + ingesloten.join(",") + ")"
+ " AND idsc.ins_deel_key IN (" + ingesloten[0] + ")"
+ " AND COALESCE(xcp.ins_srtcontroledl_xcp_periode, isc.ins_srtcontrole_periode) > 0"
+ " AND idsc.ins_srtcontrole_key = " + ingeslotensc.join(",");
+ " AND idsc.ins_srtcontrole_key = " + ingeslotensc[0];
var oRs = Oracle.Execute(sql);
while (!oRs.eof)
{ %>
@@ -602,7 +610,7 @@ if (ins_key_arr.length == 1)
var dsc_is_afgemeld = false;
var multidsc_has_afgemeld = false;
if (!multi && ingeslotendsc[0] > 0)
{
{ // Bestaande inspectie.
var sql = "SELECT ins_deelsrtcontrole_datum"
+ " , ins_controlemode_key"
+ " , ins_deelsrtcontrole_opmerking"
@@ -625,10 +633,12 @@ if (ins_key_arr.length == 1)
oRs.Close();
}
else
{
inspect_data = {deelsrtcontrole_datum: null,
{ // Nieuwe inspectie of multi.
// Inplannen: Als niet multi en het is de eerste inspectie en de startdatum heeft een waarde dan deze waarde invullen als PLANDATUM.
// Gereed melden/Afronden: Als niet multi en het is de eerste inspectie en de startdatum heeft een waarde dan deze waarde invullen als CONTROLEDATUM.
inspect_data = {deelsrtcontrole_datum: insClose && !multi && startdatum != null && eersteinspectie? startdatum : null,
controlemode_key: -1,
deelsrtcontrole_plandatum: insPlan? new Date(): null,
deelsrtcontrole_plandatum: insPlan? (!multi && startdatum != null && eersteinspectie? startdatum : new Date()): null,
deelsrtcontrole_opmerking: "",
deelsrtcontrole_status: insstatus,
deelsrtcontrole_status_str: status_str};

View File

@@ -51,6 +51,7 @@ var xcp_kosten2;
var xcp_kosten3;
var xcp_perc;
var xcp_groep;
var xcp_startdatum = null;
var xcp_vervaldatum = null;
var xcp_opmerk;
var periodereartext = "";
@@ -109,6 +110,7 @@ if (srtcont_key > 0)
+ " , xcp.ins_srtcontroledl_xcp_kosten3"
+ " , xcp.ins_srtcontroledl_xcp_perc"
+ " , xcp.ins_srtcontroledl_xcp_groep"
+ " , xcp.ins_srtcontroledl_xcp_startdat"
+ " , xcp.ins_srtcontroledl_xcp_eind"
+ " , xcp.ins_srtcontroledl_xcp_opmerk"
+ " , xcp.ins_scenario_key"
@@ -143,6 +145,7 @@ if (srtcont_key > 0)
xcp_kosten3 = oRs("ins_srtcontroledl_xcp_kosten3").Value;
xcp_perc = oRs("ins_srtcontroledl_xcp_perc").Value;
xcp_groep = oRs("ins_srtcontroledl_xcp_groep").Value;
xcp_startdatum = oRs("ins_srtcontroledl_xcp_startdat").Value? new Date(oRs("ins_srtcontroledl_xcp_startdat").Value) : null;
xcp_vervaldatum = oRs("ins_srtcontroledl_xcp_eind").Value? new Date(oRs("ins_srtcontroledl_xcp_eind").Value) : null;
xcp_opmerk = oRs("ins_srtcontroledl_xcp_opmerk").Value;
periode = oRs("ins_srtcontrole_periode").Value;
@@ -511,6 +514,27 @@ if (srtcont_key > 0)
$("#stdopmerk").prop("title", getSrtControleValue("opmerk_std"));
$("#xcp_key").val(getSrtControleValue("xcp_key"));
// Zet de startdatum
var startdatum_xcp_dag = getSrtControleValue("start_xcp_dag");
var startdatum_xcp_maand = getSrtControleValue("start_xcp_maand");
var startdatum_xcp_jaar = getSrtControleValue("start_xcp_jaar");
var startdatum_xcp = (startdatum_xcp_dag === ""? "" : new Date(startdatum_xcp_jaar, (startdatum_xcp_maand - 1), startdatum_xcp_dag));
// Waarde van de startdatum moet kleiner zijn als de eigenlijke nextdatum (1 dag eerder).
var nextdate_dag = getSrtControleValue("nextdate_dag");
var nextdate_maand = getSrtControleValue("nextdate_maand");
var nextdate_jaar = getSrtControleValue("nextdate_jaar");
var nextdate = new Date(nextdate_jaar, (nextdate_maand - 1), nextdate_dag - 1); // (1 dag eerder).
// Als er al inspecties zijn geweest dan is de startdatum niet meer van belang. Dan de startdatum readonly maken/weergeven.
var hascontroles = getSrtControleValue("hascontroles");
var startdatum_ro = (hascontroles == 1) || (<%=(!this_ins.canChangeXcp && !this_ins.hasAnyWriteXcp)? 1 : 0%> == 1);
$("#show_startdatum").closest("td").load("../Shared/loadCalendar.asp",
{ cal_id: "startdatum",
datum: (startdatum_xcp === ""? "" : startdatum_xcp.getTime()),
initEmpty: startdatum_xcp === ""? 1 : 0,
readonly: startdatum_ro? 1 : 0,
maxDate: nextdate.getTime()
});
}
function calcKosten(number)
@@ -604,6 +628,10 @@ if (srtcont_key > 0)
+ " , di.ins_srtcontrole_opmerking opmerk_std"
+ " , xcp.ins_srtcontroledl_xcp_opmerk opmerk_xcp"
+ " , COALESCE(xcp.ins_srtcontroledl_xcp_key, -1) xcp_key"
+ " , xcp.ins_srtcontroledl_xcp_startdat startdate_xcp"
+ " , TO_CHAR(xcp.ins_srtcontroledl_xcp_startdat, 'DD') start_xcp_dag"
+ " , TO_CHAR(xcp.ins_srtcontroledl_xcp_startdat, 'MM') start_xcp_maand"
+ " , TO_CHAR(xcp.ins_srtcontroledl_xcp_startdat, 'YYYY') start_xcp_jaar"
+ " , di.ins_srtcontrole_eind eind_std"
+ " , TO_CHAR(di.ins_srtcontrole_eind, 'DD') eind_std_dag"
+ " , TO_CHAR(di.ins_srtcontrole_eind, 'MM') eind_std_maand"
@@ -612,7 +640,19 @@ if (srtcont_key > 0)
+ " , TO_CHAR(xcp.ins_srtcontroledl_xcp_eind, 'DD') eind_xcp_dag"
+ " , TO_CHAR(xcp.ins_srtcontroledl_xcp_eind, 'MM') eind_xcp_maand"
+ " , TO_CHAR(xcp.ins_srtcontroledl_xcp_eind, 'YYYY') eind_xcp_jaar"
+ " , TO_CHAR(ins.nextcyclusdate (di.ins_deel_key, di.ins_srtcontrole_key, 1), 'DD') nextdate_dag"
+ " , TO_CHAR(ins.nextcyclusdate (di.ins_deel_key, di.ins_srtcontrole_key, 1), 'MM') nextdate_maand"
+ " , TO_CHAR(ins.nextcyclusdate (di.ins_deel_key, di.ins_srtcontrole_key, 1), 'YYYY') nextdate_jaar"
+ " , di.ctr_ismjob ismjob"
+ " , CASE"
+ " WHEN (SELECT COUNT(sdc.ins_deelsrtcontrole_key)"
+ " FROM ins_deelsrtcontrole sdc"
+ " WHERE sdc.ins_deel_key = di.ins_deel_key"
+ " AND sdc.ins_srtcontrole_key = di.ins_srtcontrole_key"
+ " AND sdc.ins_deelsrtcontrole_status = 6) > 0"
+ " THEN 1"
+ " ELSE 0"
+ " END hascontroles"
+ " FROM ins_v_defined_inspect di"
+ " , ins_srtcontroledl_xcp xcp"
+ " WHERE di.ins_srtcontrole_key = xcp.ins_srtcontrole_key(+)"
@@ -669,6 +709,7 @@ if (srtcont_key > 0)
+ " , xcp.ins_srtcontroledl_xcp_materia"
+ " , xcp.ins_srtcontroledl_xcp_perc"
+ " , xcp.ins_srtcontroledl_xcp_opmerk"
+ " , xcp.ins_srtcontroledl_xcp_startdat"
+ " , xcp.ins_srtcontroledl_xcp_eind"
+ " , di.ctr_ismjob"
+ " HAVING COUNT(*) = " + cntdeel // Als multi dan alleen de inspecties die voor *alle* objecten gelden
@@ -688,14 +729,18 @@ if (srtcont_key > 0)
+ ", kosten_std1, kosten_xcp1, kosten_std2, kosten_xcp2, kosten_std3, kosten_xcp3"
+ ", uren_std, uren_xcp, materiaal_std, materiaal_xcp, perc_std, perc_xcp"
+ ", opmerk_std, opmerk_xcp, xcp_key, groep_std, groep_xcp"
+ ", start_xcp_dag, start_xcp_maand, start_xcp_jaar"
+ ", eind_std_dag, eind_xcp_dag, eind_std_maand, eind_xcp_maand, eind_std_jaar, eind_xcp_jaar"
+ ", ismjob",
+ ", nextdate_dag, nextdate_maand, nextdate_jaar"
+ ", ismjob, hascontroles",
extraParamValueInit: "1, -1, -1, , , , "
+ ", , , , , , "
+ ", , , , , , "
+ ", , , , , "
+ ", , , "
+ ", , , , , , "
+ ", "
+ ", , , "
+ ", , "
});
%>
<input type="hidden" id="xcp_key" name="xcp_key" value="-1">
@@ -889,6 +934,13 @@ if (srtcont_key > 0)
readonly: !this_ins.canChangeXcp && !this_ins.hasAnyWriteXcp,
suppressEmpty: !this_ins.canChangeXcp && !this_ins.hasAnyWriteXcp
});
FCLTcalendar("startdatum",
{ datum: xcp_startdatum,
label : L("lcl_ins_startdatum"),
initEmpty: xcp_startdatum == null,
readonly: !this_ins.canChangeXcp && !this_ins.hasAnyWriteXcp,
suppressEmpty: !this_ins.canChangeXcp && !this_ins.hasAnyWriteXcp
});
FCLTcalendar("vervaldatum",
{ datum: xcp_vervaldatum,
label : L("lcl_ins_vervaldatum") + "<span id='stdvervaldatum'></span>",

View File

@@ -88,7 +88,8 @@ var uren = getFParamFloat("uren") || null; // ins_srtcontroledl_xcp_uren.
var materiaal = getFParamFloat("materiaal", null); // ins_srtcontroledl_xcp_materia.
var perc = getFParamInt("perc", null); // ins_srtcontroledl_xcp_perc.
var groep = getFParam("groep", null); // ins_srtcontroledl_xcp_groep.
var vervaldatum = getFParamDate("vervaldatum", null); // ins_srtcontroledl_xcp_eenheid.
var startdatum = getFParamDate("startdatum", null); // ins_srtcontroledl_xcp_startdat.
var vervaldatum = getFParamDate("vervaldatum", null); // ins_srtcontroledl_xcp_eind.
var opmerk = getFParam("opmerk", null); // ins_srtcontroledl_xcp_opmerk.
var bits = 0;
@@ -141,23 +142,24 @@ var paramsdiffer = ((eenheid != -1 && (eenheid != eenheid_std || (periode != nul
(perc != null && perc != perc_std) ||
(groep != "" && groep != groep_std) ||
(opmerk != "" && opmerk != opmerk_std) ||
datumdiffer);
datumdiffer || startdatum != null);
var deactivate = periode_std == 0 && (periode == null || periode == 0); // Beide periodes zijn 0. Controle wordt inactief. Uitzonderings regel kan weg in ins_srtcontroledl_xcp.
if (paramsdiffer && !deactivate)
{ // parameters wijken af van de standaard of er is een respijtdatum of groep ingevuld.
{ // parameters wijken af van de standaard of er is een startdatum ingevuld.
var result = { success: true, srtcontroledl_xcp_key: xcp_key };
var fields = [ { dbs: "ins_deel_key", typ: "key", val: ins_key },
{ dbs: "ins_srtcontrole_key", typ: "key", frm: "sel_srtcontrole" },
{ dbs: "ins_srtcontroledl_xcp_eenheid", typ: "number", val: (eenheid == -1 || eenheid == eenheid_std || eenheid < 0? null : eenheid) }, // Waarde gelijk aan standaard niet opslaan.
{ dbs: "ins_srtcontroledl_xcp_periode", typ: "number", val: (periode == null || periode == periode_std? null : periode) }, // Waarde gelijk aan standaard niet opslaan.
{ dbs: "ins_srtcontroledl_xcp_bits", typ: "number", val: (bits == null || bits == bits_std? null : bits) }, // Waarde gelijk aan standaard niet opslaan.
{ dbs: "ins_srtcontroledl_xcp_uren", typ: "float", val: (uren == null || uren == uren_std? null : uren) },
{ dbs: "ins_srtcontroledl_xcp_perc", typ: "float", val: (perc == null || perc == perc_std? null : perc) },
{ dbs: "ins_srtcontroledl_xcp_groep", typ: "varchar", val: (groep == "" || groep == groep_std? null : groep) },
{ dbs: "ins_srtcontroledl_xcp_opmerk", typ: "varchar", val: (opmerk == "" || opmerk == opmerk_std? null : opmerk) },
{ dbs: "ins_srtcontroledl_xcp_eind", typ: "datetime", val: (datumdiffer? vervaldatum : null) }
var fields = [ { dbs: "ins_deel_key", typ: "key", val: ins_key },
{ dbs: "ins_srtcontrole_key", typ: "key", frm: "sel_srtcontrole" },
{ dbs: "ins_srtcontroledl_xcp_eenheid", typ: "number", val: (eenheid == -1 || eenheid == eenheid_std || eenheid < 0? null : eenheid) }, // Waarde gelijk aan standaard niet opslaan.
{ dbs: "ins_srtcontroledl_xcp_periode", typ: "number", val: (periode == null || periode == periode_std? null : periode) }, // Waarde gelijk aan standaard niet opslaan.
{ dbs: "ins_srtcontroledl_xcp_bits", typ: "number", val: (bits == null || bits == bits_std? null : bits) }, // Waarde gelijk aan standaard niet opslaan.
{ dbs: "ins_srtcontroledl_xcp_uren", typ: "float", val: (uren == null || uren == uren_std? null : uren) },
{ dbs: "ins_srtcontroledl_xcp_perc", typ: "float", val: (perc == null || perc == perc_std? null : perc) },
{ dbs: "ins_srtcontroledl_xcp_groep", typ: "varchar", val: (groep == "" || groep == groep_std? null : groep) },
{ dbs: "ins_srtcontroledl_xcp_opmerk", typ: "varchar", val: (opmerk == "" || opmerk == opmerk_std? null : opmerk) },
{ dbs: "ins_srtcontroledl_xcp_startdat", typ: "datetime", frm: "startdatum" },
{ dbs: "ins_srtcontroledl_xcp_eind", typ: "datetime", val: (datumdiffer? vervaldatum : null) }
];
var ins_xcp_active_cost = S("ins_xcp_active_cost");