FCLT#84285 Notities via api_opdrsoap.asp worden niet verwerkt

svn path=/Website/branches/v2024.2/; revision=65257
This commit is contained in:
Jos Groot Lipman
2024-06-20 15:50:17 +00:00
parent 1d3071ce5e
commit 739b548356

View File

@@ -822,6 +822,7 @@ for (var i = 0; i < opdrachten.length; i++)
if (newstatus != -1)
{
add_note(); // zodat we note_key hebben
mld.setopdrachtstatus(opdr_key, newstatus, null, note_key);
// Hier terugchecken van de status
tsql = "SELECT mld_statusopdr_key FROM mld_opdr"
@@ -897,8 +898,6 @@ for (var i = 0; i < opdrachten.length; i++)
// Zodat die bij de FO weer onder Inbehandeling valt.
mld.setmeldingstatus (mld_key, 4); // Geaccepteerd
}
// else status van de melding niet aanpassen.
resultcode = 0;
}
else
{
@@ -911,38 +910,9 @@ for (var i = 0; i < opdrachten.length; i++)
if (resultcode == -1) // Nog steeds geen fouten.
{
if (opdraction == "update" && opdrnote != null)
{
var fields = [ { dbs: "mld_opdr_note_key", typ: "key", seq: "mld_s_mld_opdr_note_key" },
{ dbs: "mld_opdr_key", typ: "key", val: opdr_key },
{ dbs: "prs_perslid_key", typ: "key", val: user_key },
{ dbs: "mld_opdr_note_flag", typ: "number", val: opdrnoteflag || 4 }, // default alleen uitvoerende, +1 voor FE-zichtbaar
{ dbs: "mld_opdr_note_omschrijving", typ: "varchar", val: opdrnote, len: 4000 }
];
if (this_opdr.canVeldChange)
var noteIns = buildInsert("mld_opdr_note", fields, { noValidateToken: true });
note_key = noteIns.sequences["mld_opdr_note_key"];
Oracle.Execute(noteIns.sql);
// later registreren we eventueel nog een tracking_key
}
// Registeren bij de laatste notitie
if (note_key > 0)
{
var tracking_key = coalesce(coalesce(status_tracking_key, datum_tracking_key), update_tracking_key); // volgorde van belangrijkheid
if (!(tracking_key > 0))
{ // Er is alleen een losse notitie. De opdracht is niet aangepast.
if ((opdrnoteflag & 1) == 1) // voor FE-zichtbaar
tracking_key = mld.trackmeldingaddnote(mld_key); // MLDNOT tracking.
else
tracking_key = mld.trackopdrachtaddnote(opdr_key); // ORDNOB tracking.
}
var sql = "UPDATE mld_opdr_note"
+ " SET fac_tracking_key = " + tracking_key
+ " WHERE mld_opdr_note_key = " + note_key;
Oracle.Execute(sql);
}
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
resultcode = 0; // Ik heb gedaan wat ik moest en mocht doen voor deze opdracht.
}
@@ -977,6 +947,37 @@ for (var i = 0; i < opdrachten.length; i++)
} // end for
// Alle opdracht-nodes zijn behandeld.
// Voeg een notitie toe en koppel hem eventueel direct aan tracking_key
function add_note(tracking_key)
{
if (/*global*/ note_key > 0)
return; // hadden we het al gedaan
if (opdraction == "update" && opdrnote != null)
{
var fields = [ { dbs: "mld_opdr_note_key", typ: "key", seq: "mld_s_mld_opdr_note_key" },
{ dbs: "mld_opdr_key", typ: "key", val: opdr_key },
{ dbs: "prs_perslid_key", typ: "key", val: user_key },
{ dbs: "mld_opdr_note_flag", typ: "number", val: opdrnoteflag || 4 }, // default alleen uitvoerende, +1 voor FE-zichtbaar
{ dbs: "mld_opdr_note_omschrijving", typ: "varchar", val: opdrnote, len: 4000 }
];
var noteIns = buildInsert("mld_opdr_note", fields, { noValidateToken: true });
note_key = noteIns.sequences["mld_opdr_note_key"];
Oracle.Execute(noteIns.sql);
if (!(tracking_key > 0))
{ // Er is alleen een losse notitie. De opdracht is niet aangepast.
if ((opdrnoteflag & 1) == 1) // voor FE-zichtbaar
tracking_key = mld.trackmeldingaddnote(mld_key); // MLDNOT tracking.
else
tracking_key = mld.trackopdrachtaddnote(opdr_key); // ORDNOB tracking.
}
var sql = "UPDATE mld_opdr_note"
+ " SET fac_tracking_key = " + tracking_key
+ " WHERE mld_opdr_note_key = " + note_key;
Oracle.Execute(sql);
}
}
// Als key1 geldig is heeft die de voorkeur, anders keys
function coalesce(key1, key2)