YKPN#52205 BEZ: BEZUPD notificatie wordt ook gestuurd als bokenmerken gewijzigd worden
svn path=/Website/branches/v2019.1/; revision=41683
This commit is contained in:
@@ -264,9 +264,10 @@ bez =
|
||||
|
||||
trackafspraakupdate:
|
||||
// Let op: dit moet wellicht niet altijd (aangeroepen na save)
|
||||
function (bez_key, ptxt)
|
||||
function (bez_key, ptxt, onlyFeKm)
|
||||
{
|
||||
shared.trackaction("BEZUPD", bez_key, ptxt);
|
||||
__DoLog("onlyFeKm: "+onlyFeKm);
|
||||
shared.trackaction((onlyFeKm ? "#" : "") + "BEZUPD", bez_key, ptxt);
|
||||
},
|
||||
|
||||
func_enabled_parkeerplaats: // Wat mag ik op parkeerplaatsen?
|
||||
|
||||
@@ -29,6 +29,7 @@ var afspr_key = getQParamInt("afspr_key");
|
||||
var rsv_ruimte_key = getQParamInt("rsv_ruimte_key", -1);
|
||||
var fronto = urole=="fo"; // DEPRECATED
|
||||
var backo = urole=="bo"; // DEPRECATED
|
||||
var onlyFeKm = false; // value to prevent unnecessary notifications to FE when only FE characteristics are changed
|
||||
|
||||
if (afspr_key < 0)
|
||||
{
|
||||
@@ -214,10 +215,13 @@ if (afspr_key != -1)
|
||||
|
||||
// bezUpd heeft na afloop handige oldjsvals
|
||||
var bezUpd = buildTrackingUpdate("bez_afspraak", " bez_afspraak_key = " + afspr_key, fields);
|
||||
onlyFeKm = !(bezUpd.trackarray && bezUpd.trackarray.length); // initial true when the appointment is unchanged
|
||||
// SUBMIT THE CHANGED DATA
|
||||
oRs = Oracle.Execute(bezUpd.sql);
|
||||
|
||||
var result = saveBezoekers(afspr_key, -1, { urole: urole, loctimechanged: changed, savepark: true });
|
||||
var result = saveBezoekers(afspr_key, -1, { urole: urole, loctimechanged: changed, savepark: true, onlyFeKm: onlyFeKm });
|
||||
|
||||
onlyFeKm = result.onlyFeKm;
|
||||
if (result.beztrack && result.beztrack.length > 0)
|
||||
bezUpd.trackarray.push(result.beztrack.join("\n"));
|
||||
|
||||
@@ -306,7 +310,7 @@ else
|
||||
if (afspr_key != -1)
|
||||
{
|
||||
if (bezUpd && bezUpd.trackarray && (bezUpd.trackarray.length)) {
|
||||
bez.trackafspraakupdate(afspr_key, L("lcl_bez_is_bezupdtrack").format(afspr_key) + "\n" + bezUpd.trackarray.join("\n"));
|
||||
bez.trackafspraakupdate(afspr_key, L("lcl_bez_is_bezupdtrack").format(afspr_key) + "\n" + bezUpd.trackarray.join("\n"), onlyFeKm);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -72,6 +72,7 @@ function saveBezoekers(afspraak_key, rsv_ruimte_key, params)
|
||||
var beznewkeyArr = [];
|
||||
var beztrack = [];
|
||||
var bezBadgeArr = [];
|
||||
params.onlyFeKm = params.onlyFeKm || false;
|
||||
|
||||
while ((bznum < next_vis)) {
|
||||
|
||||
@@ -84,6 +85,7 @@ function saveBezoekers(afspraak_key, rsv_ruimte_key, params)
|
||||
}
|
||||
|
||||
var result = saveOneBezoeker(afspraak_key, rsv_ruimte_key, bznum, params);
|
||||
params.onlyFeKm = result.onlyFeKm;
|
||||
afspraak_key = result.afspr_key;
|
||||
if (result.needPark) nr_park_needed++;
|
||||
if (result.hasPark) nr_park_reserved++;
|
||||
@@ -121,7 +123,8 @@ function saveBezoekers(afspraak_key, rsv_ruimte_key, params)
|
||||
bezBadgeArr: bezBadgeArr,
|
||||
warning: alert_text,
|
||||
beztrack: beztrack,
|
||||
afspr_deleted: afspr_deleted};
|
||||
afspr_deleted: afspr_deleted,
|
||||
onlyFeKm: params.onlyFeKm };
|
||||
}
|
||||
|
||||
// Maak er eentje aan voor onder de reservering
|
||||
@@ -512,6 +515,47 @@ function saveOneBezoeker(afspraak_key, rsv_ruimte_key, bznum, params)
|
||||
+ " WHERE k.bez_kenmerk_verwijder IS NULL"
|
||||
+ " AND k.bez_kenmerk_key = "; /* wordt in saveFlexkenmerken uitgebreid */
|
||||
|
||||
// detect whether other than FE characteristics change
|
||||
var onlyFeKm = params.onlyFeKm;
|
||||
if (onlyFeKm)
|
||||
onlyFeKm = !(bezUpd.trackarray && bezUpd.trackarray.length); // initial true when the visitor is unchanged
|
||||
if (onlyFeKm)
|
||||
{
|
||||
var kmObj = {};
|
||||
var curKmSQL = "SELECT kl.bez_kenmerk_key "
|
||||
+ " , kl.bez_kenmerkwaarde_waarde"
|
||||
+ " , k.bez_kenmerk_volgnr"
|
||||
+ " FROM bez_kenmerkwaarde kl, bez_kenmerk k "
|
||||
+ " WHERE k.bez_kenmerk_key = kl.bez_kenmerk_key "
|
||||
+ " AND bez_kenmerkwaarde_VERWIJDER IS NULL "
|
||||
+ " AND bez_bezoekers_key = " + bez_key;
|
||||
var oRsKm = Oracle.Execute(curKmSQL);
|
||||
while (!oRsKm.eof)
|
||||
{
|
||||
kmObj[oRsKm("bez_kenmerk_key").Value] = { waarde: oRsKm("bez_kenmerkwaarde_waarde").Value, volgnr: oRsKm("bez_kenmerk_volgnr").Value };
|
||||
oRsKm.MoveNext();
|
||||
}
|
||||
oRsKm.Close();
|
||||
|
||||
var flexdata = flexkenmerken2jsondata(
|
||||
{ allKenmerkenSQL: allKenmerkenSQL,
|
||||
nameprefix: "flex" + bznum + "_",
|
||||
flexPath: "BEZ/B"
|
||||
});
|
||||
// check whether only FE characteristics (< 0 or > 900) are changed
|
||||
for (kenmerkkey in flexdata)
|
||||
{
|
||||
var flex = flexdata[kenmerkkey];
|
||||
var vold = kmObj[flex.id]? kmObj[flex.id].waarde : "";
|
||||
var vnew = flex.value;
|
||||
if (vold != vnew && (kmObj[flex.id] && kmObj[flex.id].volgnr > -1 && kmObj[flex.id].volgnr <= 900))
|
||||
{
|
||||
onlyFeKm = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var flextrack = saveFlexKenmerken(bez_key,
|
||||
{ kenmerkTable: "bez_kenmerkwaarde",
|
||||
kenmerkParentKey : "bez_bezoekers_key",
|
||||
@@ -539,6 +583,7 @@ function saveOneBezoeker(afspraak_key, rsv_ruimte_key, bznum, params)
|
||||
isNew: isNew,
|
||||
needPark: prk == "on",
|
||||
hasPark: hasPark,
|
||||
beztrack: beztrack };
|
||||
beztrack: beztrack,
|
||||
onlyFeKm: onlyFeKm };
|
||||
}
|
||||
%>
|
||||
Reference in New Issue
Block a user