85 lines
3.3 KiB
Plaintext
85 lines
3.3 KiB
Plaintext
<%@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" -->
|
|
<%
|
|
// 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");
|
|
var disckey = getQParamInt("disc");
|
|
|
|
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?internal=1&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_melding_onderwerp 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"
|
|
+ (disckey==-1?"":" AND d.ins_discipline_key = " + disckey)
|
|
+ " AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key"
|
|
+ " AND m.mld_melding_status IN (0,2,4,7)" // lopende
|
|
+ " AND m.fac_activiteit_key IS NULL"
|
|
+ (behkey==-1?"":" 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));
|
|
%>
|