NYBU#52809 Filters bij bezettingsgraden
svn path=/Website/trunk/; revision=38869
This commit is contained in:
@@ -11,12 +11,12 @@
|
||||
showall show all orders which meets with the given requirements
|
||||
datefrom search for reservations at the selected date-month-year
|
||||
dateto search for reservations at the selected date-month-year
|
||||
dist_key search for reservations for the selected district
|
||||
loc_key search for reservations for the selected location
|
||||
bld_key search for reservations for the selected building
|
||||
flr_key search for reservations for the selected floor
|
||||
room_key search for reservations for the selected room
|
||||
room_key_arr search for reservations with the selected room categories/types
|
||||
dist_key_arr search for reservations for the selected district
|
||||
loc_key_arr search for reservations for the selected location
|
||||
bld_key_arr search for reservations for the selected building
|
||||
flr_key_arr search for reservations for the selected floor
|
||||
room_key_arr search for reservations for the selected room
|
||||
roomcat_key_arr search for reservations with the selected room categories/types
|
||||
dayschedule give an overview at day schedule level
|
||||
groupres groupres the reservations by
|
||||
Context: Search action from res_search_ppi.asp form
|
||||
@@ -49,12 +49,12 @@ function res_list_ppi(pautfunction, params)
|
||||
// params.showall : boolean (true | false)
|
||||
// params.datefrom : date
|
||||
// params.dateto : date
|
||||
// params.dist_key : key
|
||||
// params.loc_key : key
|
||||
// params.bld_key : key
|
||||
// params.flr_key : key
|
||||
// params.room_key : key
|
||||
// params.room_key_arr : array met keys
|
||||
// params.dist_key_arr : key
|
||||
// params.loc_key_arr : key
|
||||
// params.bld_key_arr : key
|
||||
// params.flr_key_arr : key
|
||||
// params.room_key_arr : key
|
||||
// params.roomcat_key_arr : array met keys
|
||||
// params.dayschedule : boolean (true | false)
|
||||
// params.groupres : key
|
||||
|
||||
@@ -79,12 +79,14 @@ function res_list_ppi(pautfunction, params)
|
||||
|
||||
var datefrom = params.datefrom; // Periode van
|
||||
var dateto = params.dateto; // Periode tot
|
||||
var dist_key = params.dist_key; // District
|
||||
var loc_key = params.loc_key; // Locatie
|
||||
var bld_key = params.bld_key; // Gebouw
|
||||
var flr_key = params.flr_key; // Verdieping
|
||||
var room_key = params.room_key; // Ruimte
|
||||
var room_key_arr = params.room_key_arr; // Ruimte categorie array
|
||||
var timefrom = datefrom ? params.datefrom.getHours() : S("res_rap_t1") == -1 ? S("res_t1") : S("res_rap_t1"); // Tijd van
|
||||
var timeto = dateto ? params.dateto.getHours() : S("res_rap_t2") == -1 ? S("res_t2") : S("res_rap_t2"); // Tijd tot
|
||||
var dist_key_arr = params.dist_key_arr; // District
|
||||
var loc_key_arr = params.loc_key_arr; // Locatie
|
||||
var bld_key_arr = params.bld_key_arr; // Gebouw
|
||||
var flr_key_arr = params.flr_key_arr; // Verdieping
|
||||
var room_key_arr = params.room_key_arr; // Ruimte
|
||||
var roomcat_key_arr = params.roomcat_key_arr; // Ruimte categorie array
|
||||
var dayschedule = params.dayschedule; // Dagverdeling
|
||||
var groupres = params.groupres; // Groepering
|
||||
|
||||
@@ -114,7 +116,7 @@ function res_list_ppi(pautfunction, params)
|
||||
var sql_rooms = "";
|
||||
var sql_dept = "";
|
||||
var sql_account = "";
|
||||
var sql_room_key = "";
|
||||
var sql_roomcat_key = "";
|
||||
|
||||
// If from and to are given both are used
|
||||
// If only one of from and to are give, this is used as a (1) day, not an half open interval
|
||||
@@ -137,33 +139,26 @@ function res_list_ppi(pautfunction, params)
|
||||
|
||||
//date_sql = " AND beschik.res_reservering_van BETWEEN " + ora_date1 + " AND " + ora_date2;
|
||||
|
||||
if (room_key)
|
||||
sql_rooms = " AND ruimte_geg.alg_ruimte_key = " + room_key;
|
||||
else if (flr_key)
|
||||
sql_floor = " AND ruimte_geg.alg_verdieping_key = " + flr_key;
|
||||
else if (bld_key)
|
||||
sql_bld = " AND ruimte_geg.alg_gebouw_key = " + bld_key;
|
||||
else if (loc_key)
|
||||
sql_loc = " AND ruimte_geg.alg_locatie_key = " + loc_key;
|
||||
else if (dist_key)
|
||||
sql_dis = " AND ruimte_geg.alg_district_key = " + dist_key;
|
||||
|
||||
if (room_key_arr)
|
||||
sql_room_key = " AND beschik.res_discipline_key IN (" + room_key_arr.join(",") + ")";
|
||||
sql_rooms = " AND ruimte_geg.alg_ruimte_key IN (" + room_key_arr.join(",") + ")";
|
||||
else if (flr_key_arr)
|
||||
sql_floor = " AND ruimte_geg.alg_verdieping_key IN (" + flr_key_arr.join(",") + ")";
|
||||
else if (bld_key_arr)
|
||||
sql_bld = " AND ruimte_geg.alg_gebouw_key IN (" + bld_key_arr.join(",") + ")";
|
||||
else if (loc_key_arr)
|
||||
sql_loc = " AND ruimte_geg.alg_locatie_key IN (" + loc_key_arr.join(",") + ")";
|
||||
else if (dist_key_arr)
|
||||
sql_dis = " AND ruimte_geg.alg_district_key IN (" + dist_key_arr.join(",") + ")";
|
||||
|
||||
// Leuke functie om voor alle uren een resultaat op te leveren.
|
||||
// Zie res_list_ppi.inc;7 voor wat er gegenereerd wordt.
|
||||
var rap_t1_overruled = S("res_rap_t1") < 0;
|
||||
var rap_t2_overruled = S("res_rap_t2") < 0;
|
||||
settings.overrule_setting("res_rap_t1", rap_t1_overruled? S("res_t1") : S("res_rap_t1"));
|
||||
settings.overrule_setting("res_rap_t2", rap_t2_overruled? S("res_t2") : S("res_rap_t2"));
|
||||
if (roomcat_key_arr)
|
||||
sql_roomcat_key = " AND beschik.res_discipline_key IN (" + roomcat_key_arr.join(",") + ")";
|
||||
|
||||
function forhours(fn)
|
||||
{
|
||||
var i;
|
||||
var res = []
|
||||
// Wel met hele uren rekenen, anders geeft dat hier problemen.
|
||||
for (i = Math.floor(S("res_rap_t1")); i < Math.floor(S("res_rap_t2") + 0.6); i++)
|
||||
for (i = timefrom; i < timeto; i++)
|
||||
{
|
||||
var h = getServerHour(i)
|
||||
res.push(fn.call(null, h, i));
|
||||
@@ -216,15 +211,15 @@ function calcTotals(sql)
|
||||
? (" ," + forhours(function (h) { return " SUM(n" + String(h) + ") b" + String(h); }))
|
||||
: " , SUM(GREATEST(0, GREATEST(LEAST(to_number(TO_CHAR(res_rsv_ruimte_tot_tz, 'SSSSS')) / 3600"
|
||||
+ " , COALESCE(res_ruimte_eindtijd, " + S("res_t2") + ")"
|
||||
+ " ," + (rap_t2_overruled? 24 : S("res_rap_t2")) // Als res_rap_t2 overruled is (geen waarde had) dan LEAST automatisch 1-ste waarde te laten kiezen.
|
||||
+ " ," + (timeto)
|
||||
+ " )"
|
||||
+ " ," + (rap_t1_overruled? 0 : S("res_rap_t1")) // Als res_rap_t1 overruled is (geen waarde had) dan GREATEST automatisch 1-ste waarde te laten kiezen.
|
||||
+ " ," + (timefrom)
|
||||
+ " )"
|
||||
+ " - LEAST(GREATEST(to_number(TO_CHAR(res_rsv_ruimte_van_tz, 'SSSSS')) / 3600"
|
||||
+ " , COALESCE(res_ruimte_begintijd, " + S("res_t1") + ")"
|
||||
+ " ," + (rap_t1_overruled? 0 : S("res_rap_t1")) // Als res_rap_t1 overruled is (geen waarde had) dan GREATEST automatisch 1-ste waarde te laten kiezen.
|
||||
+ " ," + (timefrom)
|
||||
+ " )"
|
||||
+ " ," + (rap_t2_overruled? 24 : S("res_rap_t2")) // Als res_rap_t2 overruled is (geen waarde had) dan LEAST automatisch 1-ste waarde te laten kiezen.
|
||||
+ " ," + (timeto)
|
||||
+ " ))"
|
||||
+ " ) bezetting")
|
||||
+ " FROM (SELECT r.res_rsv_ruimte_key"
|
||||
@@ -269,10 +264,10 @@ function calcTotals(sql)
|
||||
+ (dayschedule
|
||||
? ""
|
||||
: " * (GREATEST(0, LEAST(COALESCE(rr1.res_ruimte_eindtijd, " + S("res_t2") + ")"
|
||||
+ " ," + (rap_t2_overruled? 24 : S("res_rap_t2")) // Als res_rap_t2 overruled is (geen waarde had) dan LEAST automatisch 1-ste waarde te laten kiezen.
|
||||
+ " ," + (timeto)
|
||||
+ " )"
|
||||
+ " - GREATEST(COALESCE(rr1.res_ruimte_begintijd, " + S("res_t1") + ")"
|
||||
+ " ," + (rap_t1_overruled? 0 : S("res_rap_t1")) // Als res_rap_t1 overruled is (geen waarde had) dan GREATEST automatisch 1-ste waarde te laten kiezen.
|
||||
+ " ," + (timefrom)
|
||||
+ " )"
|
||||
+ " - (COALESCE(rr1.res_ruimte_eindtijdblok, 12)"
|
||||
+ " - COALESCE(rr1.res_ruimte_begintijdblok, 12)))"
|
||||
@@ -293,7 +288,7 @@ function calcTotals(sql)
|
||||
+ " AND beschik.alg_ruimte_key = ruimte_geg.alg_ruimte_key"
|
||||
+ " AND ruimte_geg.alg_locatie_key = l.alg_locatie_key"
|
||||
+ " AND l.alg_district_key = di.alg_district_key"
|
||||
+ sql_room_key
|
||||
+ sql_roomcat_key
|
||||
+ sql_dis
|
||||
+ sql_loc
|
||||
+ sql_bld
|
||||
@@ -369,7 +364,7 @@ function calcTotals(sql)
|
||||
+ " / 3600, "
|
||||
+ " COALESCE (rarg.res_ruimte_begintijd, " + S("res_t1") +")), "
|
||||
+ " COALESCE (rarg.res_ruimte_eindtijd, " + S("res_t2") +"), "
|
||||
+ " " + (rap_t2_overruled ? 24 : S("res_rap_t2")) + ") "
|
||||
+ " " + (timeto) + ") "
|
||||
+ " - GREATEST ( "
|
||||
+ " LEAST ( "
|
||||
+ " TO_NUMBER ( "
|
||||
@@ -377,7 +372,7 @@ function calcTotals(sql)
|
||||
+ " / 3600, "
|
||||
+ " COALESCE (rarg.res_ruimte_eindtijd, " + S("res_t2") +")), "
|
||||
+ " COALESCE (rarg.res_ruimte_begintijd, " + S("res_t1") +"), "
|
||||
+ " " + (rap_t1_overruled? 0 : S("res_rap_t1")) + "))"
|
||||
+ " " + (timefrom) + "))"
|
||||
+ " ) bezetting")
|
||||
+ " FROM ("+ sql_reservering + ") rarg"
|
||||
+ " WHERE rarg.res_rsv_ruimte_van BETWEEN " + ora_date3 + " AND " + ora_date4;
|
||||
@@ -416,10 +411,10 @@ function calcTotals(sql)
|
||||
+ (dayschedule
|
||||
? ""
|
||||
: " * (GREATEST(0, LEAST(COALESCE(rr1.res_ruimte_eindtijd, " + S("res_t2") + ")"
|
||||
+ " ," + (rap_t2_overruled ? 24 : S("res_rap_t2")) // Als res_rap_t2 overruled is (geen waarde had) dan LEAST automatisch 1-ste waarde te laten kiezen.
|
||||
+ " ," + (timeto)
|
||||
+ " )"
|
||||
+ " - GREATEST(COALESCE(rr1.res_ruimte_begintijd, " + S("res_t1") + ")"
|
||||
+ " ," + (rap_t1_overruled? 0 : S("res_rap_t1")) // Als res_rap_t1 overruled is (geen waarde had) dan GREATEST automatisch 1-ste waarde te laten kiezen.
|
||||
+ " ," + (timefrom)
|
||||
+ " )"
|
||||
+ " - (COALESCE(rr1.res_ruimte_eindtijdblok, 12) - COALESCE(rr1.res_ruimte_begintijdblok, 12)))"
|
||||
+ " )")
|
||||
@@ -456,7 +451,7 @@ function calcTotals(sql)
|
||||
+ " AND beschik.alg_ruimte_key = ruimte_geg.alg_ruimte_key"
|
||||
+ " AND ruimte_geg.alg_locatie_key = l.alg_locatie_key"
|
||||
+ " AND l.alg_district_key = di.alg_district_key"
|
||||
+ sql_room_key
|
||||
+ sql_roomcat_key
|
||||
+ sql_dis
|
||||
+ sql_loc
|
||||
+ sql_bld
|
||||
|
||||
@@ -36,13 +36,13 @@ var datefrom = getFParamDate("date_from", null);
|
||||
var dateto = getFParamDate("date_to", null);
|
||||
|
||||
// Voor velden die de user in kan typen valideren we zodanig dat we er tegen kunnen
|
||||
var dist_key = getFParamInt("districtkey", -1);
|
||||
var loc_key = getFParamInt("locatiekey", -1);
|
||||
var bld_key = getFParamInt("gebouwkey", -1);
|
||||
var flr_key = getFParamInt("verdiepingkey", -1);
|
||||
var room_key = getFParamInt("ruimtekey", -1);
|
||||
var dist_key_arr = getFParamIntArray("districtkey", -1);
|
||||
var loc_key_arr = getFParamIntArray("locatiekey", -1);
|
||||
var bld_key_arr = getFParamIntArray("gebouwkey", -1);
|
||||
var flr_key_arr = getFParamIntArray("verdiepingkey", -1);
|
||||
var room_key_arr = getFParamIntArray("ruimtekey", -1);
|
||||
|
||||
var room_key_arr = getFParamIntArray("roomcatmulti", []); // Ruimte soort catalogus
|
||||
var roomcat_key_arr = getFParamIntArray("roomcatmulti", []); // Ruimte soort catalogus
|
||||
var dayschedule = getFParamInt("dayschedule", 0) == 1; // Dagverdeling standaard niet aangevinkt indien niet meegegeven
|
||||
var groupres = getFParamInt("groupby", -1); // Groepering
|
||||
// ** de velden van de form zijn nu allemaal bekend **
|
||||
@@ -62,12 +62,12 @@ res_list_ppi( autfunction,
|
||||
showall: showall,
|
||||
datefrom: datefrom,
|
||||
dateto: dateto,
|
||||
dist_key: (dist_key != -1? dist_key : null),
|
||||
loc_key: (loc_key != -1? loc_key : null),
|
||||
bld_key: (bld_key != -1? bld_key : null),
|
||||
flr_key: (flr_key != -1? flr_key : null),
|
||||
room_key: (room_key != -1? room_key : null),
|
||||
room_key_arr: (room_key_arr.length != 0 ? room_key_arr : null),
|
||||
dist_key_arr: (dist_key_arr != -1? dist_key_arr : null),
|
||||
loc_key_arr: (loc_key_arr!= -1? loc_key_arr : null),
|
||||
bld_key_arr: (bld_key_arr!= -1? bld_key_arr : null),
|
||||
flr_key_arr: (flr_key_arr!= -1? flr_key_arr : null),
|
||||
room_key_arr: (room_key_arr != -1? room_key_arr : null),
|
||||
roomcat_key_arr: (roomcat_key_arr.length != 0 ? roomcat_key_arr : null),
|
||||
dayschedule: dayschedule,
|
||||
groupres: (groupres != -1? groupres : null)
|
||||
}
|
||||
|
||||
@@ -17,7 +17,8 @@
|
||||
|
||||
<%
|
||||
FCLTHeader.Requires({ plugins: ["jQuery", "kenmerk"],
|
||||
js: ["../res/res_search.js"]
|
||||
js: ["../res/res_search.js", "jquery.timepicker-table.js"],
|
||||
css: ["timePicker-table.css"]
|
||||
});
|
||||
|
||||
/***** Get webform parameters *****/
|
||||
@@ -26,6 +27,8 @@ var urole = "mi";
|
||||
var cal_intv = 0; // default date offset (in workdays?!) for calendar 2
|
||||
var date_from = getQParamDate("date_from", null);
|
||||
var date_to = getQParamDate("date_to", null);
|
||||
var time_from = getQParamDate("time_from", null);
|
||||
var time_to = getQParamDate("time_to", null);
|
||||
var dis_key = getQParamInt("district_key", -1); // District
|
||||
var loc_key = getQParamInt("locatie_key", -1); // Locatie
|
||||
var bld_key = getQParamInt("gebouw_key", -1); // Gebouw
|
||||
@@ -34,19 +37,26 @@ var room_key = getQParamInt("ruimte_key", -1); // Ruimte
|
||||
var room_key_arr = getQParamIntArray("roomcatmulti", [-1]); // Ruimte soort catalogus
|
||||
var group = getQParamInt("groupby", -1); // Groepering
|
||||
var dayschedule = getQParamInt("dayschedule", 0) == 1; // Dagverdeling standaard niet aangevinkt indien niet meegegeven
|
||||
var start_time = S("res_rap_t1") == -1 ? S("res_t1") : S("res_rap_t1");
|
||||
var end_time = S("res_rap_t2") == -1 ? S("res_t2") : S("res_rap_t2");
|
||||
|
||||
|
||||
if (!date_from && date_to)
|
||||
if (!date_from && date_to) {
|
||||
date_from = date_to;
|
||||
else if (date_from && !date_to)
|
||||
}
|
||||
else if (date_from && !date_to) {
|
||||
date_to = date_from;
|
||||
}
|
||||
else if (!date_from && !date_to)
|
||||
{
|
||||
var dt = new Date(); // Vandaag
|
||||
dt = new Date(dt.getFullYear(), dt.getMonth(), 1); // Eerste dag van de huidige maand
|
||||
date_to = new Date(dt.setDate(0)); // Laatste dag van de vorige maand
|
||||
date_from = new Date(dt.setDate(1)); // Eerste dag van de vorige maand
|
||||
date_from.setHours( start_time, 0, 0, 0 );
|
||||
date_to.setHours( end_time, 0, 0, 0 );
|
||||
}
|
||||
__DoLog(date_from);
|
||||
__DoLog(date_to);
|
||||
/***** End get webform parameters *****/
|
||||
|
||||
var autfunction = "WEB_RESBAC";
|
||||
@@ -82,6 +92,10 @@ var authparams = user.checkAutorisation(autfunction);
|
||||
FCLTcalendar("date_from",
|
||||
{ label : L("lcl_period_from"),
|
||||
datum: date_from,
|
||||
timeField: true,
|
||||
timeStep: 60,
|
||||
startTime: start_time,
|
||||
endTime : end_time,
|
||||
trclass: "primsearch",
|
||||
required: true,
|
||||
volgnr: 1
|
||||
@@ -90,6 +104,10 @@ var authparams = user.checkAutorisation(autfunction);
|
||||
FCLTcalendar("date_to",
|
||||
{ label: L("lcl_period_to"),
|
||||
datum: date_to,
|
||||
timeField: true,
|
||||
timeStep: 60,
|
||||
startTime: start_time,
|
||||
endTime : end_time,
|
||||
trclass: "primsearch",
|
||||
required: true,
|
||||
volgnr: 2
|
||||
@@ -100,7 +118,9 @@ var authparams = user.checkAutorisation(autfunction);
|
||||
locatiekey: loc_key,
|
||||
gebouwkey: bld_key,
|
||||
verdiepingkey: floor_key,
|
||||
verdiepingkey: floor_key,
|
||||
ruimtekey: room_key,
|
||||
multitoggle: 5,
|
||||
startlevel: 1, // District
|
||||
eindlevel: 5, // Ruimte
|
||||
secsearch: 3, // gebouw en hoger
|
||||
|
||||
Reference in New Issue
Block a user