FSN#34970 meetgrenzen bij bezettingsgraad
svn path=/Website/trunk/; revision=30143
This commit is contained in:
@@ -150,11 +150,14 @@ function res_list_ppi(pautfunction, params)
|
||||
|
||||
// leuke functie om voor alle uren een resultaat op te leveren
|
||||
// zie res_list_ppi.inc;7 voor wat er gegenereerd wordt
|
||||
settings.overrule_setting("res_rap_t1", S("res_rap_t1") >= 0 ? S("res_rap_t1") : S("res_t1"));
|
||||
settings.overrule_setting("res_rap_t2", S("res_rap_t2") >= 0 ? S("res_rap_t2") : S("res_t2"));
|
||||
|
||||
function forhours(fn)
|
||||
{
|
||||
var i;
|
||||
var res = []
|
||||
for (i = S("res_t1"); i < S("res_t2"); i++)
|
||||
for (i = S("res_rap_t1"); i < S("res_rap_t2"); i++)
|
||||
res.push(fn.call(null, i));
|
||||
return res;
|
||||
}
|
||||
@@ -174,8 +177,8 @@ function forhours(fn)
|
||||
+ " FROM (SELECT alg_ruimte_key"
|
||||
+ ", rarg.res_discipline_key"
|
||||
+ (dayschedule ? ("," + forhours(function (h) { return " SUM(n" + String(h) + ") b" + String(h); }))
|
||||
: ", SUM(LEAST(fac.safe_to_number(TO_CHAR(res_rsv_ruimte_tot, 'SSSSS')) / 3600, COALESCE(res_ruimte_eindtijd, " + S("res_t2") + "))"
|
||||
+ " - GREATEST(fac.safe_to_number(TO_CHAR(res_rsv_ruimte_van, 'SSSSS')) / 3600, COALESCE(res_ruimte_begintijd, " + S("res_t1") + "))) bezetting")
|
||||
: ", SUM(GREATEST(LEAST(to_number(TO_CHAR(res_rsv_ruimte_tot, 'SSSSS')) / 3600, COALESCE(res_ruimte_eindtijd, " + S("res_t2") + ")," + S("res_rap_t2") + "),"+S("res_rap_t1")+")"
|
||||
+ " - LEAST(GREATEST(to_number(TO_CHAR(res_rsv_ruimte_van, 'SSSSS')) / 3600, COALESCE(res_ruimte_begintijd, " + S("res_t1") + ")," + S("res_rap_t1") + "),"+ S("res_rap_t2") +")) bezetting")
|
||||
+ " FROM ("
|
||||
+ " SELECT r.res_rsv_ruimte_key"
|
||||
+ ", ra.alg_ruimte_key"
|
||||
@@ -205,7 +208,7 @@ function forhours(fn)
|
||||
+ " WHERE res_rsv_ruimte_van BETWEEN " + ora_date3 + " AND " + ora_date4
|
||||
+ " AND TO_CHAR(res_rsv_ruimte_van, 'd') >= 2" // --veronderstelt NLS_TERRITORY='AMERICA', 2 is maandag
|
||||
+ " AND TO_CHAR(res_rsv_ruimte_van, 'd') <= 6"
|
||||
+ " AND TO_CHAR(res_rsv_ruimte_van, 'yyyymmdd') NOT IN (SELECT TO_CHAR(mld_vrije_dagen_datum, 'yyyymmdd') FROM mld_vrije_dagen)"
|
||||
+ " AND TRUNC(res_rsv_ruimte_van) NOT IN (SELECT mld_vrije_dagen_datum FROM mld_vrije_dagen)"
|
||||
+ " AND rarg.res_alg_ruimte_aanmaak <= " + ora_date2
|
||||
+ " AND (rarg.res_alg_ruimte_verwijder IS NULL"
|
||||
+ " OR rarg.res_alg_ruimte_verwijder >= " + ora_date1 + ")"
|
||||
@@ -216,7 +219,7 @@ function forhours(fn)
|
||||
+ ", ((fac.Count_Work_Days(" + ora_date1 + "-1 , " + ora_date2 + "))"
|
||||
+ (dayschedule
|
||||
? ""
|
||||
: " * (COALESCE(rr1.res_ruimte_eindtijd, " + S("res_t2") + ") - COALESCE(rr1.res_ruimte_begintijd, " + S("res_t1") + "))") + ") beschikbaar"
|
||||
: " * (LEAST(COALESCE(rr1.res_ruimte_eindtijd, " + S("res_t2") + ")," + S("res_rap_t2") + ")) - GREATEST(COALESCE(rr1.res_ruimte_begintijd, " + S("res_t1") + ")," + S("res_rap_t1") + ")") + ") beschikbaar"
|
||||
+ " FROM res_ruimte rr1, res_alg_ruimte ra "
|
||||
+ " WHERE rr1.res_ruimte_key = ra.res_ruimte_key "
|
||||
+ " AND ra.res_alg_ruimte_aanmaak <= " + ora_date2
|
||||
@@ -280,8 +283,8 @@ function forhours(fn)
|
||||
var sql_bezetting = "SELECT rarg.alg_ruimte_key"
|
||||
+ " , rarg.res_discipline_key"
|
||||
+ " , " + sql_grp_periode + " periode"
|
||||
+ " , SUM( LEAST(fac.safe_to_number(TO_CHAR(rarg.res_rsv_ruimte_tot, 'SSSSS')) / 3600, COALESCE(rarg.res_ruimte_eindtijd, " + S("res_t2") +"))"
|
||||
+ " - GREATEST(fac.safe_to_number(TO_CHAR(rarg.res_rsv_ruimte_van, 'SSSSS')) / 3600, COALESCE(rarg.res_ruimte_begintijd," + S("res_t1") +"))"
|
||||
+ " , SUM( LEAST(to_number(TO_CHAR(rarg.res_rsv_ruimte_tot, 'SSSSS')) / 3600, COALESCE(rarg.res_ruimte_eindtijd, " + S("res_t2") +"))"
|
||||
+ " - GREATEST(to_number(TO_CHAR(rarg.res_rsv_ruimte_van, 'SSSSS')) / 3600, COALESCE(rarg.res_ruimte_begintijd," + S("res_t1") +"))"
|
||||
+ " ) bezetting"
|
||||
+ " FROM ("+ sql_reservering + ") rarg"
|
||||
+ " WHERE rarg.res_rsv_ruimte_van BETWEEN " + ora_date3 + " AND " + ora_date4;
|
||||
@@ -647,6 +650,19 @@ function forhours(fn)
|
||||
/**************************************
|
||||
* End callback functies ResultsetTable
|
||||
**************************************/
|
||||
// Transform decimal limit to friendly times (i18n?)
|
||||
var res_rap_t1h = Math.floor(S("res_rap_t1"));
|
||||
if (res_rap_t1h < 10) res_rap_t1h = "0" + res_rap_t1h;
|
||||
var res_rap_t1m = Math.floor((S("res_rap_t1") - res_rap_t1h)*60);
|
||||
if (res_rap_t1m < 10) res_rap_t1m = "0" + res_rap_t1m;
|
||||
var res_rap_t1s = res_rap_t1h+ ":" + res_rap_t1m
|
||||
|
||||
var res_rap_t2h = Math.floor(S("res_rap_t2"));
|
||||
if (res_rap_t2h < 10) res_rap_t2h = "0" + res_rap_t2h;
|
||||
var res_rap_t2m = Math.floor((S("res_rap_t2") - res_rap_t2h)*60);
|
||||
if (res_rap_t2m < 10) res_rap_t2m = "0" + res_rap_t2m;
|
||||
var res_rap_t2s = res_rap_t2h+ ":" + res_rap_t2m
|
||||
|
||||
|
||||
var doTotals = (groupres != 16 && groupres != 18 && groupres != 19)
|
||||
var rst = new ResultsetTable({ keyColumn: "res_keycolumn",
|
||||
@@ -656,7 +672,7 @@ function forhours(fn)
|
||||
totalShow: (doTotals ? fntotalShow : null),
|
||||
filterParams: params,
|
||||
outputmode: outputmode,
|
||||
title: L("lcl_reservation_title"),
|
||||
title: L("lcl_res_PPI_title")+" "+L("lcl_res_PPI_fromto").format(res_rap_t1s, res_rap_t2s) ,
|
||||
showAll: showall
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user