Files
Facilitor/APPL/MLD/mld_melding_worker.asp
Arthur Egberink a1fc8ffdbb YKPN#60847 -- Projecten in calendar tonen
svn path=/Website/branches/v2019.2/; revision=45600
2020-01-28 08:40:25 +00:00

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));
%>