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:
@@ -556,24 +556,45 @@ for (i=0; i < opdrachten.length; i++)
|
||||
if (opdrkosten != null)
|
||||
opdr_fields.push({ dbs: "mld_opdr_kosten", typ: "float", val: opdrkosten, track: L("lcl_total_cost") });
|
||||
|
||||
if (plandatum != null)
|
||||
{
|
||||
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 ins_srtdiscipline_prefix = mld.mld_prefix(mld_key);
|
||||
var formattedID = ins_srtdiscipline_prefix + opdrid;
|
||||
|
||||
var orddat_tracking = "";
|
||||
if (opdrgereed != null)
|
||||
{
|
||||
var opdrgereeddate = XMLtoJsDate(opdrgereed);
|
||||
opdr_fields.push({ dbs: "mld_opdr_einddatum", typ: "date", val: opdrgereeddate, track: L("lcl_opdr_enddate") });
|
||||
var old_einddatum = mld_opdr.mld_opdr_einddatum;
|
||||
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?
|
||||
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
|
||||
@@ -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;"
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -151,6 +151,18 @@ mld = {setmeldingstatus:
|
||||
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:
|
||||
function (opdr_key, ptxt)
|
||||
{
|
||||
|
||||
@@ -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_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: "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: "prs_kostensoort_key", typ: "key", frm: "srtkosten", track: L("lcl_mld_opdr_alt_charge_type"), foreign: "prs_kostensoort" }
|
||||
];
|
||||
@@ -745,6 +743,11 @@ for (var u = 0; u < uitvkeyArray.length; u++)
|
||||
fields.push({ dbs: "mld_opdr_datumbegin", typ: "datetime", val: startdate, track: L("lcl_orderdate") }); // Opdrachtdatum (begindatum)
|
||||
|
||||
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')
|
||||
{
|
||||
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);
|
||||
}
|
||||
}
|
||||
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)
|
||||
{
|
||||
// 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).
|
||||
// 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.
|
||||
var ins_srtdiscipline_prefix = mld.mld_prefix(mld_key);
|
||||
var formattedID = ins_srtdiscipline_prefix + mld_key + "/" + volgnr;
|
||||
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.
|
||||
@@ -1035,6 +1061,16 @@ if (!isNew)
|
||||
{
|
||||
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)
|
||||
// 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)
|
||||
|
||||
@@ -150,6 +150,8 @@ var status = {
|
||||
case "ORDNEW" : tekst = L("lcl_ord_is_ordnew") ; break;
|
||||
case "ORDUPD" : tekst = L("lcl_ord_is_ordupd") ; 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 "ORDFIA" : tekst = L("lcl_ord_is_ordfia") ; break;
|
||||
case "ORDFOK" : tekst = L("lcl_ord_is_ordfok") ; break;
|
||||
|
||||
Reference in New Issue
Block a user