MARX#90078: Opdracht-actiestatus via API1 bij 'onderbroken/AFR' bij de (FO)BO kunnen zetten.

svn path=/Website/trunk/; revision=71124
This commit is contained in:
Maykel Geerdink
2025-12-03 09:22:09 +00:00
parent 9517935e17
commit 1c4f2b313b
3 changed files with 34 additions and 22 deletions

View File

@@ -921,31 +921,43 @@ for (var i = 0; i < opdrachten.length; i++)
}
}
if (resultcode == -1 && !isNaN(actiecode) && actiecode >= 0)
{ // Actie code.
var newActiecode = 0;
if ((actiecode & 128) == 128)
{
newActiecode += 128; // BO attentie
}
if (S("mld_opdr_actiecode") > 0 && ((actiecode & 1) == 1))
{
newActiecode += 1; // + BO actie
}
var sql = "UPDATE mld_opdr"
+ " SET mld_opdr_actiecode = mld_opdr_actiecode + " + newActiecode + " - BITAND(mld_opdr_actiecode, " + newActiecode + ")"
+ " WHERE mld_opdr_key = " + mld_opdr.opdr_key;
Oracle.Execute(sql);
}
if (resultcode == -1) // Nog steeds geen fouten.
{
var tracking_key = coalesce(coalesce(status_tracking_key, datum_tracking_key), update_tracking_key); // volgorde van belangrijkheid
add_note(tracking_key); // voor als nog niet eerder gebeurd
// Alleen als er een notitie is aangemaakt mag ik de actiecode ook aanpassen.
if (note_key > 0)
{ // Er is een notitie aangemaakt.
// Actie bij +1=FOBO behandelaar, +2=melder, +4=uitvoerende, +128=attentie FOBO, +512=attentie uitvoerende.
if (resultcode == -1 && !isNaN(actiecode) && actiecode >= 0)
{ // Actie code.
var newActiecode = 0;
if ((actiecode & 128) == 128)
{
newActiecode += 128; // BO attentie
}
var BOactie = false;
if (S("mld_opdr_actiecode") > 0 && ((actiecode & 1) == 1))
{
newActiecode += 1; // + BO actie
BOactie = true;
}
var sql = "UPDATE mld_opdr"
+ " SET mld_opdr_actiecode = mld_opdr_actiecode" // Bestaande bitjes zoals 512 mag niet verloren gaan.
+ " + " + newActiecode
+ " - BITAND(mld_opdr_actiecode, " + newActiecode + ")" // Als het bitje 1 of 128 al gezet was dan deze waarde weer in minderinig brengen.
+ (BOactie
? " - BITAND(mld_opdr_actiecode, 6)" // Van de bitjes 1+2+4 (=7) moet er altijd 1 aan staan. Als we bitje 1 zetten, dan moeten we bitjes 2 of 4 wissen.
: "") // Bitje 1 is niet gezet. Bitjes 2 en 4 ongemoeit laten.
+ " WHERE mld_opdr_key = " + mld_opdr.opdr_key;
Oracle.Execute(sql);
}
}
resultcode = 0; // Ik heb gedaan wat ik moest en mocht doen voor deze opdracht.
}
else if (resultcode > 0)

View File

@@ -3121,7 +3121,7 @@ mld = {
return summarystring;
},
setActiecode:
setOpdrActiecode:
function (mld_opdr, this_opdr, params)
{
var result = {};

View File

@@ -30,7 +30,7 @@ function _set_actiecode(params, jsondata) {
var result = {};
_translate_for_api(params, jsondata);
result = mld.setActiecode(mld_opdr, this_opdr, params);
result = mld.setOpdrActiecode(mld_opdr, this_opdr, params);
return result;
}