FSN#27183 Anders offertes automatisch afkeuren beter implementeren zodat ook goed vanuit mobile

svn path=/Website/trunk/; revision=19194
This commit is contained in:
Jos Groot Lipman
2013-09-19 13:35:42 +00:00
parent fea765a6ee
commit 1a26f6f34d
4 changed files with 43 additions and 72 deletions

View File

@@ -3546,10 +3546,33 @@ mld = {setmeldingstatus:
sql = "SELECT * FROM(" + sql + ") ORDER BY 5, 6";
return sql;
},
reject_offerte:
function _reject_offerte(opdr_key, opmerk)
{
var mld_opdr = mld.mld_opdr_info(opdr_key);
lcl.set_dialect(mld_opdr.opdr_type, "MLD_TYPEOPDR_KEY");
// Nog de afmeld opmerking opslaan.
var this_opdr = mld.func_enabled_opdracht(opdr_key); // wat mag ik zoal op deze opdracht
if (this_opdr.canOpmChange && opmerk)
{
var fields = [ { dbs: "mld_opdr_opmerking", typ: "varchar", val: opmerk, track: L("lcl_mld_inf_Opmerking") } ];
var mldUpd = buildTrackingUpdate("mld_opdr", "mld_opdr_key = " + opdr_key, fields);
if (mldUpd && mldUpd.trackarray.length)
{
Oracle.Execute(mldUpd.sql);
mld.trackopdrachtupdate(opdr_key, L("lcl_ord_is_ordupd") + "\n" + mldUpd.trackarray.join("\n"));
}
}
// Zetten van de status en afhandelen van de tracking van het afwijzen (reject).
mld.setopdrachtstatus(opdr_key, 2); // Afgekeurd
// De status van de melding zou gewijzigd kunnen/moeten worden hierdoor
mld.updatemeldingstatus(mld_opdr.mld_key, 0);
}
}
%>

View File

@@ -120,43 +120,18 @@ function opdr_finish()
function opdrAcceptOfferCallback(json, textStatus)
{
function showVervolgOpdracht(json1, textStatus1)
// Automatisch een vervolg uitvoeringsopdracht (opdr_type is mld_typeopdr_typeopdr_key) aanmaken
// Als er een typeopdr_key is gedefinieerd voor de offerte, wordt er automatisch een opdracht aangemaakt. Anders refresh offerte.
if (json.typeopdr_key > 0)
{
// Automatisch een vervolg uitvoeringsopdracht (opdr_type is mld_typeopdr_typeopdr_key) aanmaken
// Als er een typeopdr_key is gedefinieerd voor de offerte, wordt er automatisch een opdracht aangemaakt. Anders refresh offerte.
if (json.typeopdr_key > 0)
{
FcltMgr.setTitle(L("lcl_mld_opdr_uitvoeringopdracht"));
window.location.href = "mld_opdr.asp?urole=" + urole
+ "&opdr_key=" + json.opdr_key
+ "&opdr_type=" + json.typeopdr_key
+ "&opdr_copy=1";
}
else
FcltCallbackRefresh(json, textStatus);
}
if (json.success)
{
if (json.afwijsArray.length > 0)
{
var data = { opdr_key: json.afwijsArray.join(",")
, opdr_opm: L("lcl_mld_opdr_alternatief")
};
protectRequest.dataToken(data);
$.post( "opdr_reject_offer.asp?submit=1"
, data
, function(json1, textStatus1)
{
showVervolgOpdracht(json1, textStatus1)
}
);
}
else
showVervolgOpdracht(json, textStatus);
FcltMgr.setTitle(L("lcl_mld_opdr_uitvoeringopdracht"));
window.location.href = "mld_opdr.asp?urole=" + urole
+ "&opdr_key=" + json.opdr_key
+ "&opdr_type=" + json.typeopdr_key
+ "&opdr_copy=1";
}
else
FcltCallback(json, textStatus);
FcltCallbackRefresh(json, textStatus);
}
function opdr_accept_offer()

View File

@@ -37,18 +37,16 @@ if (this_opdr.canOpmChange)
{
var fields = [ { dbs: "mld_opdr_opmerking", typ: "varchar", frm: "opdr_opm", track: L("lcl_mld_inf_Opmerking") } ];
var mldUpd = buildTrackingUpdate("mld_opdr", "mld_opdr_key = " + opdr_key, fields);
}
if (mldUpd && mldUpd.trackarray.length)
{
Oracle.Execute(mldUpd.sql);
mld.trackopdrachtupdate(opdr_key, L("lcl_ord_is_ordupd") + "\n" + mldUpd.trackarray.join("\n"));
if (mldUpd && mldUpd.trackarray.length)
{
Oracle.Execute(mldUpd.sql);
mld.trackopdrachtupdate(opdr_key, L("lcl_ord_is_ordupd") + "\n" + mldUpd.trackarray.join("\n"));
}
}
// Zetten van de status en afhandelen van de tracking van het accepteren (accept).
mld.setopdrachtstatus(opdr_key, 9); // Kosten Voltooid (KTV) (Afgemeld)
var afwijsArray = [];
if (mld_opdr.offerteauto)
{
// Eventueel andere offertes afwijzen
@@ -64,12 +62,11 @@ if (mld_opdr.offerteauto)
oRs = Oracle.Execute(sql);
while (!oRs.eof)
{
afwijsArray.push(oRs("mld_opdr_key").value)
mld.reject_offerte(oRs("mld_opdr_key").value, L("lcl_mld_opdr_alternatief"));
oRs.MoveNext();
}
oRs.Close();
}
result.afwijsArray = afwijsArray;
var mld_typeopdr_typeopdr_key = -1;
// Opdracht type bepalen voor een vervolg uitvoeringsopdracht (mld_typeopdr_typeopdr_key)
@@ -89,8 +86,6 @@ result.typeopdr_key = mld_typeopdr_typeopdr_key;
mld.updatemeldingstatus(mld_opdr.mld_key, 0);
result.success = true;
//result = { close: true, success: true, opmerk: opmerk };
Response.Write(JSON.stringify(result));
Response.End;
%>

View File

@@ -42,7 +42,7 @@ var toberejected = 0;
var maychangeopm = false;
var ingesloten = [];
var reqStatusEmpty = [];
var opdr_type;
// Bepaal de opdrachten in de selectie die
// ook echt afgewezen kunnen of mogen worden.
for (var i = 0; i < opdr_key_arr.length; i++)
@@ -73,29 +73,7 @@ var result = { opdr_key: ingesloten.join(","), message: "", success: false };
for (var i = 0; i < ingesloten.length; i++)
{
var mld_opdr = mld.mld_opdr_info(ingesloten[i]);
opdr_type = mld_opdr.opdr_type;
lcl.set_dialect(opdr_type, "MLD_TYPEOPDR_KEY");
// Nog de afmeld opmerking opslaan.
var this_opdr = mld.func_enabled_opdracht(ingesloten[i]); // wat mag ik zoal op deze opdracht
if (this_opdr.canOpmChange)
{
var fields = [ { dbs: "mld_opdr_opmerking", typ: "varchar", frm: "opdr_opm", track: L("lcl_mld_inf_Opmerking") } ];
var mldUpd = buildTrackingUpdate("mld_opdr", "mld_opdr_key = " + ingesloten[i], fields);
}
if (mldUpd && mldUpd.trackarray.length)
{
Oracle.Execute(mldUpd.sql);
mld.trackopdrachtupdate(ingesloten[i], L("lcl_ord_is_ordupd") + "\n" + mldUpd.trackarray.join("\n"));
}
// Zetten van de status en afhandelen van de tracking van het afwijzen (reject).
mld.setopdrachtstatus(ingesloten[i], 2); // Afgekeurd
// De status van de melding zou gewijzigd kunnen/moeten worden hierdoor
mld.updatemeldingstatus(mld_opdr.mld_key, 0);
mld.reject_offerte(ingesloten[i], getFParam("opdr_opm", ""));
}
result.success = true;