96 lines
3.5 KiB
Plaintext
96 lines
3.5 KiB
Plaintext
<%@language = "javascript" %>
|
|
<%
|
|
/* $Revision$
|
|
$Id$
|
|
|
|
File: mld_reopen_save.asp
|
|
Description: Save_script van mld_reopen.asp
|
|
Parameters: mld_key
|
|
|
|
|
|
Context:
|
|
Note:
|
|
|
|
*/
|
|
%>
|
|
<%
|
|
var JSON_Result = true;
|
|
%>
|
|
<!-- #include file="../Shared/common.inc" -->
|
|
<!-- #include file="../Shared/save2db.inc" -->
|
|
<!-- #include file="mld.inc" -->
|
|
<!-- #include file="mld_edit_note.inc" -->
|
|
<%
|
|
protectRequest.validateToken();
|
|
var mld_key = getQParamInt("mld_key");
|
|
var opmerk = getFParam("opmerk", "");
|
|
|
|
var result = {};
|
|
// Bepaal of de melding heropend kan of mag worden.
|
|
var this_mld = mld.func_enabled_melding(mld_key); // Wat heb ik zoal aan rechten op deze specifieke melding
|
|
var mld_info = mld.mld_melding_info(mld_key);
|
|
if (!this_mld.canReopen)
|
|
user.anything_todo_or_abort(false);
|
|
lcl.set_dialect(mld_info.srtdisc_key, "MLD_SRTDISCIPLINE_KEY");
|
|
|
|
if (opmerk)
|
|
{
|
|
mld_note_save(mld_key,
|
|
opmerk,
|
|
{ //isFE: false, // MGE: wordt volgens mij niet gebruikt.
|
|
zichtFE: true, /* altijd */
|
|
noValidateToken: true // validateToken wordt hierboven al gedaan.
|
|
});
|
|
}
|
|
|
|
// Er zijn alleen opdrachten met de status Afgemeld/Technisch voltooid(6), dus geen open opdrachten.
|
|
// Dan zetten we de Melding hier terug naar Geaccepteerd(4), zodat die bij de FO weer onder Inbehandeling valt.
|
|
// BLCC#79069: Niet via "mld.setmeldingstatus(mld_key, 4);" De status op 4 zetten. Anders kans dat er 2x moet worden afgemeld.
|
|
var mld_key_arr = [];
|
|
var sql = "SELECT mld_melding_key"
|
|
+ " FROM mld_melding "
|
|
+ " WHERE mld_melding_key = " + mld_key
|
|
+ " OR mld_melding_parentkey = " + mld_key; // De statussen van de childmeldingen synchroon laten lopen aan die van de parent.
|
|
oRs = Oracle.Execute(sql);
|
|
while (!oRs.eof)
|
|
{
|
|
mld_key_arr.push(oRs("mld_melding_key").Value);
|
|
oRs.MoveNext();
|
|
}
|
|
oRs.Close();
|
|
|
|
sql = "UPDATE mld_melding"
|
|
+ " SET mld_melding_status = 4"
|
|
+ " WHERE mld_melding_key IN (" + mld_key_arr.join(",") + ")";
|
|
Oracle.Execute(sql);
|
|
|
|
// De MLDAFM trackingen omzetten in een MLDUPD tracking. De tekst (fac_srtnotificatie_oms) blijft hetzelfde.
|
|
sql = "UPDATE fac_tracking"
|
|
+ " SET fac_srtnotificatie_key = ((SELECT fac_srtnotificatie_key"
|
|
+ " FROM fac_srtnotificatie tr"
|
|
+ " WHERE fac_srtnotificatie_code = 'MLDUPD'))"
|
|
+ " , fac_tracking_oms = lcl.l('lcl_mld_is_mldafm')"
|
|
+ " WHERE fac_tracking_refkey IN (" + mld_key_arr.join(",") + ")"
|
|
+ " AND fac_srtnotificatie_key = ((SELECT sn.fac_srtnotificatie_key"
|
|
+ " FROM fac_srtnotificatie sn"
|
|
+ " WHERE sn.fac_srtnotificatie_code = 'MLDAFM'))";
|
|
Oracle.Execute(sql);
|
|
|
|
// Een extra heropenen tracking toevoegen.
|
|
for (var i = 0; i < mld_key_arr.length; i++)
|
|
mld.trackmeldingupdate(mld_key_arr[i], L("lcl_mld_reopen_done"));
|
|
|
|
// Indien het heropenen niet goed is gegaan, dan een warning geven. Alleen de parent controleren.
|
|
sql = "SELECT ''"
|
|
+ " FROM mld_melding"
|
|
+ " WHERE mld_melding_key = " + mld_key_arr[0]
|
|
+ " AND mld_melding_status = 4";
|
|
oRs = Oracle.Execute(sql);
|
|
if (oRs.eof)
|
|
var warning = L("lcl_mld_reopen_failed");
|
|
oRs.Close();
|
|
|
|
var result = { success: true, warning: warning, mld_key: mld_key };
|
|
Response.Write(JSON.stringify(result));
|
|
%><% ASPPAGE_END(); %>
|