NYBU#33748 meldingen bij reservering
svn path=/Website/trunk/; revision=28642
This commit is contained in:
@@ -26,6 +26,7 @@ perform=false; // ???? JGL: MLD.INC gebruikt deze illegaal globaal TODO!
|
|||||||
frontend=false;
|
frontend=false;
|
||||||
|
|
||||||
var ruimte_key = getQParamInt("ruimte_key", -1);
|
var ruimte_key = getQParamInt("ruimte_key", -1);
|
||||||
|
var res_ruimte_key = getQParamInt("res_ruimte_key", -1);
|
||||||
var ins_key = getQParamInt("ins_key", -1);
|
var ins_key = getQParamInt("ins_key", -1);
|
||||||
var self = getQParamInt("self", -1);
|
var self = getQParamInt("self", -1);
|
||||||
var status = getQParamIntArray("status", []);
|
var status = getQParamIntArray("status", []);
|
||||||
@@ -38,8 +39,30 @@ var qrc = getQParamInt("qrc", 0) != 0;
|
|||||||
var grp_sel = getQParam("grp", "");
|
var grp_sel = getQParam("grp", "");
|
||||||
|
|
||||||
var subject = L("lcl_mobile_meldingen");
|
var subject = L("lcl_mobile_meldingen");
|
||||||
|
var ruimteKeyArr = [];
|
||||||
|
|
||||||
if (ruimte_key > -1)
|
// Reserveerbare ruimte: bepaal de alg_ruimte(s) en omschrijving
|
||||||
|
if (res_ruimte_key > -1 && ruimte_key == -1)
|
||||||
|
{
|
||||||
|
var sql = "SELECT res_ruimte_nr plaats "
|
||||||
|
+ " FROM res_ruimte"
|
||||||
|
+ " WHERE res_ruimte_key = " + res_ruimte_key
|
||||||
|
var oRs = Oracle.Execute(sql);
|
||||||
|
subject += " " + oRs("plaats").Value;
|
||||||
|
|
||||||
|
var sql = "SELECT alg_ruimte_key "
|
||||||
|
+ " FROM res_alg_ruimte rag"
|
||||||
|
+ " WHERE rag.res_ruimte_key = " + res_ruimte_key
|
||||||
|
+ " AND rag.res_alg_ruimte_verwijder IS NULL";
|
||||||
|
var oRs = Oracle.Execute(sql);
|
||||||
|
while (!oRs.eof) {
|
||||||
|
ruimte_key = oRs("alg_ruimte_key").value; // pak er maar eentje, meestal is het er maar een
|
||||||
|
ruimteKeyArr.push(oRs("alg_ruimte_key").value);
|
||||||
|
oRs.MoveNext();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Gewone ruimte: bepaal de omschrijving
|
||||||
|
if (ruimte_key > -1 && res_ruimte_key == -1)
|
||||||
{
|
{
|
||||||
var sql = "SELECT aog.alg_gebouw_code || '-' || aog.alg_verdieping_code || '-' || aog.alg_ruimte_nr plaats "
|
var sql = "SELECT aog.alg_gebouw_code || '-' || aog.alg_verdieping_code || '-' || aog.alg_ruimte_nr plaats "
|
||||||
+ " FROM alg_v_onroerendgoed_gegevens aog"
|
+ " FROM alg_v_onroerendgoed_gegevens aog"
|
||||||
@@ -48,6 +71,7 @@ if (ruimte_key > -1)
|
|||||||
|
|
||||||
subject += " " + oRs("plaats").Value;
|
subject += " " + oRs("plaats").Value;
|
||||||
}
|
}
|
||||||
|
// Object: bepaal de omschrijving
|
||||||
if (ins_key > -1)
|
if (ins_key > -1)
|
||||||
{
|
{
|
||||||
var sql = " SELECT ins_deel_omschrijving"
|
var sql = " SELECT ins_deel_omschrijving"
|
||||||
@@ -138,9 +162,13 @@ var authparams = user.checkAutorisation(autfunction);
|
|||||||
|
|
||||||
sqln += " AND mld_melding_parentkey IS NULL"; // child-meldingen hoef ik mobiel niet te zien.
|
sqln += " AND mld_melding_parentkey IS NULL"; // child-meldingen hoef ik mobiel niet te zien.
|
||||||
|
|
||||||
if (ruimte_key > -1)
|
if (ruimte_key > -1 && ruimteKeyArr.length <= 1)
|
||||||
{
|
{
|
||||||
sqln += " AND (l.alg_locatie_key IS NULL OR v.alg_ruimte_key = " + ruimte_key + ")";
|
sqln += " AND (l.alg_locatie_key IS NULL OR v.alg_ruimte_key = " + ruimte_key + ")"; // PF: ik denk dat plaatsloze meldingen niet getoond hoeven worden als ruimtekey is gegeven, maar het staat er vast niet voor niks
|
||||||
|
}
|
||||||
|
if (ruimteKeyArr.length > 1)
|
||||||
|
{
|
||||||
|
sqln += " AND v.alg_ruimte_key IN (" + ruimteKeyArr.join(',') + ")";
|
||||||
}
|
}
|
||||||
if (ins_key > -1)
|
if (ins_key > -1)
|
||||||
{
|
{
|
||||||
@@ -194,24 +222,28 @@ var authparams = user.checkAutorisation(autfunction);
|
|||||||
|
|
||||||
// Alleen groepering toepassen indien er 3 of meer vakgroepen zijn en meer dan 10 meldingen.
|
// Alleen groepering toepassen indien er 3 of meer vakgroepen zijn en meer dan 10 meldingen.
|
||||||
// Bepaal aantal vakgroepen en aantal meldingen.
|
// Bepaal aantal vakgroepen en aantal meldingen.
|
||||||
var sqln_count = "SELECT COUNT(ins_discipline_omschrijving) nr_vakgr"
|
|
||||||
+ " , ins_discipline_omschrijving vakgroep"
|
|
||||||
+ " FROM (" + sqln + ") rec2"
|
|
||||||
+ " GROUP BY ins_discipline_omschrijving";
|
|
||||||
var oRs = Oracle.Execute(sqln_count);
|
|
||||||
var cnt_vakgr = 0; // Aantal vakgroepen.
|
var cnt_vakgr = 0; // Aantal vakgroepen.
|
||||||
var cnt_mld = 0; // Aantal meldingen.
|
var cnt_mld = 0; // Aantal meldingen.
|
||||||
while (!oRs.eof)
|
|
||||||
{
|
|
||||||
cnt_vakgr++;
|
|
||||||
cnt_mld += oRs("nr_vakgr").Value;
|
|
||||||
oRs.MoveNext();
|
|
||||||
}
|
|
||||||
var show_vakgroepen = false;
|
var show_vakgroepen = false;
|
||||||
if (cnt_vakgr > 2 && cnt_mld > 10)
|
// PF: Dit is wel een hele dure query (net zo als de echte) die je wilt voorkomen wanneer het kan zeg!
|
||||||
show_vakgroepen = true;
|
// Bijvoorbeeld niet als ik specifieke parameters gebruik, maar liever nog minder vaak
|
||||||
|
if (ruimte_key == -1 && ins_key == 1) {
|
||||||
|
var sqln_count = "SELECT COUNT(ins_discipline_omschrijving) nr_vakgr"
|
||||||
|
+ " , ins_discipline_omschrijving vakgroep"
|
||||||
|
+ " FROM (" + sqln + ") rec2"
|
||||||
|
+ " GROUP BY ins_discipline_omschrijving";
|
||||||
|
var oRs = Oracle.Execute(sqln_count);
|
||||||
|
while (!oRs.eof)
|
||||||
|
{
|
||||||
|
cnt_vakgr++;
|
||||||
|
cnt_mld += oRs("nr_vakgr").Value;
|
||||||
|
oRs.MoveNext();
|
||||||
|
}
|
||||||
|
if (cnt_vakgr > 2 && cnt_mld > 10)
|
||||||
|
show_vakgroepen = true;
|
||||||
|
}
|
||||||
|
|
||||||
// @@ PF lijkt me ook niet altijd goed: wat is nou mogelijk zinvol?
|
// PF: lijkt me ook niet altijd goed: wat is nou mogelijk zinvol?
|
||||||
sqln = "SELECT * FROM (" + sqln + ") rec2"
|
sqln = "SELECT * FROM (" + sqln + ") rec2"
|
||||||
+ (grp_sel == ""
|
+ (grp_sel == ""
|
||||||
? ""
|
? ""
|
||||||
@@ -283,7 +315,6 @@ var authparams = user.checkAutorisation(autfunction);
|
|||||||
}
|
}
|
||||||
|
|
||||||
PAGE_START();
|
PAGE_START();
|
||||||
// TODO Alleen als ik schrijfrechten heb
|
|
||||||
HEADER({title: subject,
|
HEADER({title: subject,
|
||||||
back: !qrc,
|
back: !qrc,
|
||||||
addaction: "../pda/melding.asp?mld_key=-1" + (ins_key > -1? "&ins_key=" + ins_key : "") + (ruimte_key > -1? "&ruimte_key=" + ruimte_key : "")});
|
addaction: "../pda/melding.asp?mld_key=-1" + (ins_key > -1? "&ins_key=" + ins_key : "") + (ruimte_key > -1? "&ruimte_key=" + ruimte_key : "")});
|
||||||
|
|||||||
@@ -568,10 +568,10 @@ else
|
|||||||
if (toRs(0).value == 1) { // eentje slechts, dan naar de details; max is vanzelfsprekend die ene
|
if (toRs(0).value == 1) { // eentje slechts, dan naar de details; max is vanzelfsprekend die ene
|
||||||
BUTTON(L("lcl_mobile_meldingen")+ " (1)", {linkid: "./melding.asp?mld_key="+toRs(1).value , dataicon: "alert", dataajax: 'false'});
|
BUTTON(L("lcl_mobile_meldingen")+ " (1)", {linkid: "./melding.asp?mld_key="+toRs(1).value , dataicon: "alert", dataajax: 'false'});
|
||||||
} else if (toRs(0).value > 0) { // meerdere, dan naar lijst
|
} else if (toRs(0).value > 0) { // meerdere, dan naar lijst
|
||||||
BUTTON(L("lcl_mobile_meldingen")+" ("+toRs(0).value+")", {linkid: "./mld_list.asp?res_rsv_ruimte_key="+rsv_ruimte_key , dataicon: "alert", dataajax: 'false'});
|
BUTTON(L("lcl_mobile_meldingen")+" ("+toRs(0).value+")", {linkid: "./mld_list.asp?res_ruimte_key="+rsv.ruimtekey , dataicon: "alert", dataajax: 'false'});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
CONTROLGROUP_END()
|
CONTROLGROUP_END()
|
||||||
IFACE.FORM_END();
|
IFACE.FORM_END();
|
||||||
%>
|
%>
|
||||||
|
|||||||
Reference in New Issue
Block a user