MARX#53152 Opdracht-tracking voor 'Einddatum', 'Geplande aanvang' & 'Geplande einddatum' toegevoegd (ook voor API)

svn path=/Website/trunk/; revision=37981
This commit is contained in:
2018-05-29 13:09:10 +00:00
parent a3b487555f
commit b050508dd3
4 changed files with 105 additions and 19 deletions

View File

@@ -556,24 +556,45 @@ for (i=0; i < opdrachten.length; i++)
if (opdrkosten != null) if (opdrkosten != null)
opdr_fields.push({ dbs: "mld_opdr_kosten", typ: "float", val: opdrkosten, track: L("lcl_total_cost") }); opdr_fields.push({ dbs: "mld_opdr_kosten", typ: "float", val: opdrkosten, track: L("lcl_total_cost") });
if (plandatum != null) var ins_srtdiscipline_prefix = mld.mld_prefix(mld_key);
{ var formattedID = ins_srtdiscipline_prefix + opdrid;
var plandatumdate = XMLtoJsDate(plandatum);
opdr_fields.push({ dbs: "mld_opdr_plandatum", typ: "datetime", val: plandatumdate, track: L("lcl_opdr_plandate") });
}
if (plandatum2 != null)
{
var plandatumdate2 = XMLtoJsDate(plandatum2);
opdr_fields.push({ dbs: "mld_opdr_plandatum2", typ: "datetime", val: plandatumdate2, track: L("lcl_opdr_plandate2") });
}
var orddat_tracking = "";
if (opdrgereed != null) if (opdrgereed != null)
{ {
var opdrgereeddate = XMLtoJsDate(opdrgereed); var old_einddatum = mld_opdr.mld_opdr_einddatum;
opdr_fields.push({ dbs: "mld_opdr_einddatum", typ: "date", val: opdrgereeddate, track: L("lcl_opdr_enddate") }); var new_einddatum = XMLtoJsDate(opdrgereed);
if (old_einddatum == null || old_einddatum.midnight().getTime() != new_einddatum.midnight().getTime()) // Difference? (Check Date only)
{
opdr_fields.push({ dbs: "mld_opdr_einddatum", typ: "date", val: new_einddatum });
orddat_tracking = L("lcl_ord_is_orddattrack").format(formattedID) + ": " + buildTrackText("date", old_einddatum, new_einddatum);
}
if (autoorder) // Ooit: net als appendRemark via json configureerbaar maken? if (autoorder) // Ooit: net als appendRemark via json configureerbaar maken?
mld_fields.push({ dbs: "mld_melding_einddatum", typ: "date", val: opdrgereeddate, track: L("lcl_mld_enddate") }); mld_fields.push({ dbs: "mld_melding_einddatum", typ: "date", val: new_einddatum, track: L("lcl_mld_enddate") });
}
var ordpld_tracking = "";
if (plandatum != null)
{
var old_plandatum = mld_opdr.mld_opdr_plandatum;
var new_plandatum = XMLtoJsDate(plandatum);
if (old_plandatum == null || old_plandatum.getTime() != new_plandatum.getTime()) // Difference?
{
opdr_fields.push({ dbs: "mld_opdr_plandatum", typ: "datetime", val: new_plandatum });
ordpld_tracking = L("lcl_ord_is_ordpldtrack").format(formattedID) + ": " + buildTrackText("datetime", old_plandatum, new_plandatum);
}
}
var ordpl2_tracking = "";
if (plandatum2 != null)
{
var old_plandatum2 = mld_opdr.mld_opdr_plandatum2;
var new_plandatum2 = XMLtoJsDate(plandatum2);
if (old_plandatum2 == null || old_plandatum2.getTime() != new_plandatum2.getTime()) // Difference?
{
opdr_fields.push({ dbs: "mld_opdr_plandatum2", typ: "datetime", val: new_plandatum2 });
ordpl2_tracking = L("lcl_ord_is_ordpl2track").format(formattedID) + ": " + buildTrackText("datetime", old_plandatum2, new_plandatum2);
}
} }
// Flag, ignore if invalid // Flag, ignore if invalid
@@ -662,6 +683,21 @@ for (i=0; i < opdrachten.length; i++)
var sql = "BEGIN fac.backtrackaction('ORDUPD', " + opdr_key + ", " + user_key + ", " + mut_datum.toSQL(true) +"); END;" var sql = "BEGIN fac.backtrackaction('ORDUPD', " + opdr_key + ", " + user_key + ", " + mut_datum.toSQL(true) +"); END;"
Oracle.Execute(sql); Oracle.Execute(sql);
} }
// Tracken en notificeren van de einddatum (ORDDAT) (notificeren aan de gebouwverantwoordelijke van het betreffende gebouw van de onderliggende melding).
if (orddat_tracking != "")
{
mld.trackopdreinddatumupdate(opdr_key, orddat_tracking);
}
// Tracken en notificeren van de geplande aanvang datum (ORDPLD) (notificeren aan interne contactpersoon).
if (ordpld_tracking != "")
{
mld.trackopdrplandatumupdate(opdr_key, ordpld_tracking);
}
// Tracken en notificeren van de geplande einddatum (ORDPL2) (notificeren aan interne contactpersoon).
if (ordpl2_tracking != "")
{
mld.trackopdrplandatum2update(opdr_key, ordpl2_tracking);
}
} }
} }

View File

@@ -151,6 +151,18 @@ mld = {setmeldingstatus:
shared.trackaction("ORDUPD", opdr_key, ptxt); shared.trackaction("ORDUPD", opdr_key, ptxt);
}, },
trackopdrplandatumupdate:
function (opdr_key, ptxt)
{
shared.trackaction("ORDPLD", opdr_key, ptxt);
},
trackopdrplandatum2update:
function (opdr_key, ptxt)
{
shared.trackaction("ORDPL2", opdr_key, ptxt);
},
trackopdreinddatumupdate: trackopdreinddatumupdate:
function (opdr_key, ptxt) function (opdr_key, ptxt)
{ {

View File

@@ -657,8 +657,6 @@ for (var u = 0; u < uitvkeyArray.length; u++)
{ dbs: "mld_opdr_kosten", typ: "float", frm: "tot_kosten", track: L("lcl_total_cost") + " " + L("lcl_valutasign") }, { dbs: "mld_opdr_kosten", typ: "float", frm: "tot_kosten", track: L("lcl_total_cost") + " " + L("lcl_valutasign") },
{ dbs: "mld_opdr_ordernr", typ: "varchar", frm: "opdr_ordernr", track: L("lcl_mld_inf_Ordernr") }, { dbs: "mld_opdr_ordernr", typ: "varchar", frm: "opdr_ordernr", track: L("lcl_mld_inf_Ordernr") },
{ dbs: "cnt_contract_key", typ: "key", frm: "contract", track: L("lcl_contract"), foreign: "cnt_contract" }, { dbs: "cnt_contract_key", typ: "key", frm: "contract", track: L("lcl_contract"), foreign: "cnt_contract" },
{ dbs: "mld_opdr_plandatum", typ: "datetime",frm: "date_plan", track: L("lcl_opdr_plandate") },
{ dbs: "mld_opdr_plandatum2", typ: "datetime",frm: "date_plan2", track: L("lcl_opdr_plandate2") },
{ dbs: "mld_opdr_id", typ: "varchar", frm: "opdr_id", track: L("lcl_opdr_id") }, { dbs: "mld_opdr_id", typ: "varchar", frm: "opdr_id", track: L("lcl_opdr_id") },
{ dbs: "prs_kostensoort_key", typ: "key", frm: "srtkosten", track: L("lcl_mld_opdr_alt_charge_type"), foreign: "prs_kostensoort" } { dbs: "prs_kostensoort_key", typ: "key", frm: "srtkosten", track: L("lcl_mld_opdr_alt_charge_type"), foreign: "prs_kostensoort" }
]; ];
@@ -744,7 +742,12 @@ for (var u = 0; u < uitvkeyArray.length; u++)
oRs.Close(); oRs.Close();
fields.push({ dbs: "mld_opdr_datumbegin", typ: "datetime", val: startdate, track: L("lcl_orderdate") }); // Opdrachtdatum (begindatum) fields.push({ dbs: "mld_opdr_datumbegin", typ: "datetime", val: startdate, track: L("lcl_orderdate") }); // Opdrachtdatum (begindatum)
var new_einddatum = getFParamDate("date_done", null); var new_einddatum = getFParamDate("date_done", null);
var old_plandatum = mld_opdr.mld_opdr_plandatum;
var new_plandatum = getFParamDate("date_plan", null);
var old_plandatum2 = mld_opdr.mld_opdr_plandatum2;
var new_plandatum2 = getFParamDate("date_plan2", null);
if (!new_einddatum && mld_info.uitvoertijd_eenheid == 'U') if (!new_einddatum && mld_info.uitvoertijd_eenheid == 'U')
{ {
var extra_einddatum = getFParamFloat("extra_einddatum", null); // extra uren erbij var extra_einddatum = getFParamFloat("extra_einddatum", null); // extra uren erbij
@@ -754,6 +757,31 @@ for (var u = 0; u < uitvkeyArray.length; u++)
new_einddatum.setMinutes(new_einddatum.getMinutes() + extra_einddatum * 60); new_einddatum.setMinutes(new_einddatum.getMinutes() + extra_einddatum * 60);
} }
} }
var ins_srtdiscipline_prefix = mld.mld_prefix(mld_key);
var formattedID = ins_srtdiscipline_prefix + mld_key + "/" + volgnr;
var diff = (old_plandatum != null || new_plandatum != null)
&& (( old_plandatum == null && new_plandatum != null)
|| (old_plandatum != null && new_plandatum == null)
|| (old_plandatum.getTime() != new_plandatum.getTime()));
var ordpld_tracking = "";
if (diff)
{
fields.push({ dbs: "mld_opdr_plandatum", typ: "datetime", val: new_plandatum });
ordpld_tracking = L("lcl_ord_is_ordpldtrack").format(formattedID) + ": " + buildTrackText("datetime", old_plandatum, new_plandatum);
}
diff = (old_plandatum2 != null || new_plandatum2 != null)
&& (( old_plandatum2 == null && new_plandatum2 != null)
|| (old_plandatum2 != null && new_plandatum2 == null)
|| (old_plandatum2.getTime() != new_plandatum2.getTime()));
var ordpl2_tracking = "";
if (diff)
{
fields.push({ dbs: "mld_opdr_plandatum2", typ: "datetime", val: new_plandatum2 });
ordpl2_tracking = L("lcl_ord_is_ordpl2track").format(formattedID) + ": " + buildTrackText("datetime", old_plandatum2, new_plandatum2);
}
if (new_einddatum) if (new_einddatum)
{ {
// Einddatum, wijzigen bestaande opdracht (AALB#32981 en WTCA#38303). // Einddatum, wijzigen bestaande opdracht (AALB#32981 en WTCA#38303).
@@ -769,8 +797,6 @@ for (var u = 0; u < uitvkeyArray.length; u++)
// Als het tijdsveld niet aanwezig is en de datum is aangepast, dan de eindtijd op einde van de werkdag zetten (fac_t_endofworkday). // Als het tijdsveld niet aanwezig is en de datum is aangepast, dan de eindtijd op einde van de werkdag zetten (fac_t_endofworkday).
// Dan moet ik eerst weten of het tijdsveld aanwezig was. // Dan moet ik eerst weten of het tijdsveld aanwezig was.
// Of het tijdsveld van de einddatum aanwezig was is afhankelijk van de uitvoertijd type van de melding. // Of het tijdsveld van de einddatum aanwezig was is afhankelijk van de uitvoertijd type van de melding.
var ins_srtdiscipline_prefix = mld.mld_prefix(mld_key);
var formattedID = ins_srtdiscipline_prefix + mld_key + "/" + volgnr;
if (mld_info.uitvoertijd_eenheid == 'U') if (mld_info.uitvoertijd_eenheid == 'U')
{ {
// Als uitvoertijd in uren is, dan is er een tijdsveld aanwezig geweest en dan wordt de tijd automatisch opgeslagen. // Als uitvoertijd in uren is, dan is er een tijdsveld aanwezig geweest en dan wordt de tijd automatisch opgeslagen.
@@ -1035,6 +1061,16 @@ if (!isNew)
{ {
mld.trackopdreinddatumupdate(opdr_key, orddat_tracking); mld.trackopdreinddatumupdate(opdr_key, orddat_tracking);
} }
// Tracken en notificeren van de geplande aanvang datum (ORDPLD) (notificeren aan interne contactpersoon).
if (ordpld_tracking != "")
{
mld.trackopdrplandatumupdate(opdr_key, ordpld_tracking);
}
// Tracken en notificeren van de geplande einddatum (ORDPL2) (notificeren aan interne contactpersoon).
if (ordpl2_tracking != "")
{
mld.trackopdrplandatum2update(opdr_key, ordpl2_tracking);
}
// Bij update van uitvoerende en als status 5 is, dan uitvoerende tracken (ORDMLI (intern) of ORDMLE (extern) // Bij update van uitvoerende en als status 5 is, dan uitvoerende tracken (ORDMLI (intern) of ORDMLE (extern)
// Tekstueel is dit (ook) wel wel vermeld i trackopdrachtupdate maar de ORDMLI of MLE notificatie moet nog // Tekstueel is dit (ook) wel wel vermeld i trackopdrachtupdate maar de ORDMLI of MLE notificatie moet nog
if (uitvoerende > -1 && old_uitvoerende != uitvoerende && opdr_status == 5) if (uitvoerende > -1 && old_uitvoerende != uitvoerende && opdr_status == 5)

View File

@@ -150,6 +150,8 @@ var status = {
case "ORDNEW" : tekst = L("lcl_ord_is_ordnew") ; break; case "ORDNEW" : tekst = L("lcl_ord_is_ordnew") ; break;
case "ORDUPD" : tekst = L("lcl_ord_is_ordupd") ; break; case "ORDUPD" : tekst = L("lcl_ord_is_ordupd") ; break;
case "ORDDAT" : tekst = L("lcl_ord_is_orddat") ; break; case "ORDDAT" : tekst = L("lcl_ord_is_orddat") ; break;
case "ORDPLD" : tekst = L("lcl_ord_is_ordpld") ; break;
case "ORDPL2" : tekst = L("lcl_ord_is_ordpl2") ; break;
case "ORDAFM" : tekst = L("lcl_ord_is_ordafm") ; break; case "ORDAFM" : tekst = L("lcl_ord_is_ordafm") ; break;
case "ORDFIA" : tekst = L("lcl_ord_is_ordfia") ; break; case "ORDFIA" : tekst = L("lcl_ord_is_ordfia") ; break;
case "ORDFOK" : tekst = L("lcl_ord_is_ordfok") ; break; case "ORDFOK" : tekst = L("lcl_ord_is_ordfok") ; break;