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

    File:        mld_melding_worker.asp
    Description: Levert JSON op voor een shared/fullcalendar.asp
                 met mijn lopende meldingen
    Parameters:  date-from/date-to
    Context:

*/
var JSON_Result = true;
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/json2.js" -->
<%
// fullCalendar werkt een factor 1000 kleiner met hun datums dan wij.
  var date_from = new Date(getQParamInt("start") * 1000);
  var date_to = new Date(getQParamInt("end") * 1000);
  var behkey = getQParamInt("bk");

  function fnNodeColor(oRs) {
    var lecolor = "#ccc";
    switch (oRs("mld_melding_status").value)
    {
        // ja, eigenlijk naar css
        case 0: lecolor = "#007000"; break;
        case 4: lecolor = "#F27E20"; break;
        case 7: lecolor = "#009000"; break;
    }
    return lecolor;
 }

    // Raar maar waar: er blijkt behandelaar mogelijk buiten de autorisatie die je hebt
    // Ik vind Behandelaar zijn een prima autorisatie, het is gek als daar nog 3D overheen moet.
  var sql = "SELECT item||' '||detail oms"              // de externe referentie (meldingnummer)
         + ",  item_key key"                            // de interne referentie (key)
         + ",  datum1 van"                              // de datum van de service (varieert)
         + ",  datum2 tot "                             // de datum van de service (varieert)
         + ",  'default.asp?u=melding&k='||item_key fclturl"   // de url naar de details
         + ",  mld_melding_status "                     // te gebruiken voor styling
         + " FROM ("
       + "SELECT mld_melding_key item_key"
       + ",      sd.ins_srtdiscipline_prefix||mld_melding_key item"  // +prefix
       + ",      mld_stdmelding_omschrijving detail"
       + ",      mld_melding_datum datum1"
       + ",      mld_melding_einddatum datum2"
       + ",      mld_melding_status"
       + "  FROM mld_melding m"
       + ",      mld_stdmelding s"
       + ",      ins_tab_discipline d"
       + ",      ins_srtdiscipline sd"
       + " WHERE m.mld_stdmelding_key = s.mld_stdmelding_key"
       + "   AND s.mld_ins_discipline_key = d.ins_discipline_key"
       + "   AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key"
       + "   AND m.mld_melding_status IN (0,2,3,4,7)"  // lopende
       + "   AND m.fac_activiteit_key IS NULL"
       + "   AND m.mld_melding_behandelaar_key = " + behkey
       + "   AND m.mld_melding_datum <= " + date_to.toSQL(true)
       + "   AND m.mld_melding_einddatum >= " + date_from.toSQL(true)
        + ")";


    var oRs = Oracle.Execute(sql);

    result = [];
    while (!oRs.Eof)
    {
        result.push({ title:     oRs("oms").Value||L("lcl_unknown"),
                      start:     new Date(oRs("van").Value).getTime() / 1000,
                      end:       new Date(oRs("tot").Value).getTime() / 1000,
                      fclturl:   oRs("fclturl").Value,
                      color:     fnNodeColor(oRs),
                      textColor: "#fff",
                      allDay: false
                    });

        oRs.MoveNext();
    }
    oRs.Close();
    Response.Write(JSON.stringify(result));
%>
