FCLT#84285 Notities via api_opdrsoap.asp worden niet verwerkt
svn path=/Website/branches/v2024.2/; revision=65257
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user