KFNS#37931: Einddatum verzetten door leverancier met notificatie.

svn path=/Website/trunk/; revision=33726
This commit is contained in:
Maykel Geerdink
2017-05-08 13:20:38 +00:00
parent 405abfd0e4
commit 17ffdace6d
3 changed files with 26 additions and 8 deletions

View File

@@ -152,7 +152,7 @@ mld = {setmeldingstatus:
},
trackopdreinddatumupdate:
function (opdr_key, pprs_key, ptxt)
function (opdr_key, ptxt)
{
shared.trackaction("ORDDAT", opdr_key, ptxt);
},

View File

@@ -215,6 +215,8 @@ var initopdrkey = opdr_key;
var reapprove = false;
var refiat = false;
var for_approval = false;
var mldUpd = { trackarray: [] };
var orddat_tracking = "";
for (var u = 0; u < uitvkeyArray.length; u++)
{
if (isNew)
@@ -734,9 +736,19 @@ 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.
fields.push({ dbs: "mld_opdr_einddatum", typ: "datetime", frm: "date_done", track: L("lcl_opdr_enddate") });
fields.push({ dbs: "mld_opdr_einddatum", typ: "datetime", frm: "date_done" });
// Is de einddatum aangepast?
var old_einddatum = mld_opdr.mld_opdr_einddatum.getTime();
var new_einddatum = new_einddatum.getTime();
if (old_einddatum != new_einddatum)
// Tracken en notificeren van de einddatum (ORDDAT).
orddat_tracking = L("lcl_ord_is_orddattrack").format(formattedID) + ": " + toDateTimeString(new Date(old_einddatum)) + L("lcl_trackto") + toDateTimeString(new Date(new_einddatum));
}
else
{ // Het tijdsveld was niet aanwezig.
// Is de einddatum aangepast? Vergelijk oude en nieuwe einddatum (zonder tijd)
@@ -752,12 +764,16 @@ for (var u = 0; u < uitvkeyArray.length; u++)
{
// Datum is gelijk aan einddatum melding. Maak de tijd (+ datum) gelijk aan de einddatum melding.
fields.push({ dbs: "mld_opdr_einddatum", typ: "datetime", val: mld_einddatum });
// Tracken en notificeren van de einddatum (ORDDAT).
orddat_tracking = L("lcl_ord_is_orddattrack").format(formattedID) + ": " + toDateString(new Date(old_einddatum_m)) + L("lcl_trackto") + toDateString(mld_einddatum);
}
else
{ // Zet de eindtijd van de nieuwe einddatum op einde werkdag (fac_t_endofworkday)
var endofworkday = parseFloat(S("fac_t_endofworkday"));
new_einddatum.setHours(Math.floor(endofworkday), (endofworkday - Math.floor(endofworkday)) * 60);
fields.push({ dbs: "mld_opdr_einddatum", typ: "datetime", val: new_einddatum, track: L("lcl_opdr_enddate") });
fields.push({ dbs: "mld_opdr_einddatum", typ: "datetime", val: new_einddatum });
// Tracken en notificeren van de einddatum (ORDDAT).
orddat_tracking = L("lcl_ord_is_orddattrack").format(formattedID) + ": " + toDateString(new Date(old_einddatum_m)) + L("lcl_trackto") + toDateString(new_einddatum);
}
}
//else: Einddatum is niet gewijzigd. Dan ook de tijd niet aanpassen, ofwel het gehele veld niet opslaan.
@@ -785,7 +801,7 @@ for (var u = 0; u < uitvkeyArray.length; u++)
// Met FSN#20132 kan bij bestaande opdrachten via deze weg niet meer het opdrachttype wijzigen
// Documentfolders hernoemen (RenameFlexFolders) is dus niet meer nodig
var mldUpd = buildTrackingUpdate("mld_opdr", "mld_opdr_key = " + opdr_key, fields);
mldUpd = buildTrackingUpdate("mld_opdr", "mld_opdr_key = " + opdr_key, fields);
var err = Oracle.Execute(mldUpd.sql, true);
if (err.friendlyMsg)
@@ -794,10 +810,6 @@ for (var u = 0; u < uitvkeyArray.length; u++)
// tracking doen we gelijk met de flexkenmerken
// Opdrachtstatus aanpassen i.v.m. hergoedkeuring en/of herfiattering moet na de tracking, dus ook later.
}
else
{
mldUpd = { trackarray: [] };
}
if (shiftdate)
{
@@ -983,6 +995,11 @@ if (!isNew)
var formattedID = ins_srtdiscipline_prefix + mld_key + "/" + volgnr;
mld.trackopdrachtupdate(opdr_key, L("lcl_ord_is_ordupdtrack").format(formattedID) + "\n" + mldUpd.trackarray.concat(flextrack).join("\n"));
}
// 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);
}
// 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)

View File

@@ -149,6 +149,7 @@ 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 "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;