<%@language = "javascript" %>
<% /*
     $Revision$
     $Id$

     File:               mld_afronden.asp
     Description:        Afronden van een melding
     Parameters:         mld_melding_key

     Context:
     Note:

  */ %>
<%
var JSON_Result = true;
%>

<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/kenmerk_common.inc" -->
<!-- #include file="mld.inc" -->

<%
protectRequest.validateToken();
var mld_key_arr = getFParamIntArray("mld_key");
var error = 0;

var ingesloten = [];
var warnings = [];
// Bepaal de meldingen in de selectie die
// ook echt afgewezen kunnen of mogen worden.
for (var i = 0; i < mld_key_arr.length; i++)
{
  var this_mld = mld.func_enabled_melding(mld_key_arr[i]); // Wat heb ik zoal aan rechten op deze specifieke melding
  if (this_mld.canAfrond)
  {
    var emptyFlexRequired = mld.hasRequiredStatusEmptyMelding(mld_key_arr[i], 52); // Melding pseudo status Afgerond(52) (Afgemeld[=5], Afgerond is Afgemeld deel 2, dus -> 52)
    if (emptyFlexRequired.kenm_ontbreekt.length)
    {
      error = 1;
      var mldnr = mld.mld_prefix(mld_key_arr[i]) + mld_key_arr[i];
      warnings.push(L("lcl_mld_req_status_empty").format(emptyFlexRequired.kenm_ontbreekt.join(", "), mldnr) );
    }
    else
      ingesloten.push(mld_key_arr[i]);
  }
}

user.anything_todo_or_abort(ingesloten.length || warnings.length); // Warnings voor lege kenmerken die verplicht zijn bij afronden willen we wel tonen

if (ingesloten.length)
{
  var afrondsql = "UPDATE mld_melding SET mld_melding_afgerond = 1 WHERE mld_melding_key IN (" + ingesloten.join(",") + ")";
  Oracle.Execute(afrondsql);
}

for (var i = 0; i < ingesloten.length; i++)
{
  var mld_melding = mld.mld_melding_info(ingesloten[i]); // Globale variabele met alle mld_melding informatie
  lcl.set_dialect(mld_melding.srtdisc_key, "MLD_SRTDISCIPLINE_KEY");
  var stdm_info = mld.mld_stdmeldinginfo(mld_melding.stdm_key);
  var formattedID = stdm_info.ins_srtdiscipline_prefix + ingesloten[i] + " ("+ stdm_info.discipline_omschrijving + "/" + stdm_info.stdmelding_omschrijving + ")";
  mld.trackmeldingafronden(ingesloten[i], L("lcl_mld_is_mldafrtrack").format(formattedID));
}

var result = { key: ingesloten.join(","), success: ingesloten.length, error: error, warning: warnings.join("\n") };
Response.Write(JSON.stringify(result));
%>
<% ASPPAGE_END(); %>
