ASTE#37915 Bezettingsgraag timezone - proof maken
svn path=/Website/trunk/; revision=33187
This commit is contained in:
@@ -31,6 +31,7 @@
|
|||||||
<!-- #include file="../Shared/resultset_table_v2.inc" -->
|
<!-- #include file="../Shared/resultset_table_v2.inc" -->
|
||||||
<!-- #include file="./res.inc" -->
|
<!-- #include file="./res.inc" -->
|
||||||
<!-- #include file="../Shared/getkenmerksql.inc" -->
|
<!-- #include file="../Shared/getkenmerksql.inc" -->
|
||||||
|
<!-- #include file="../Shared/Shared.inc" -->
|
||||||
|
|
||||||
<%
|
<%
|
||||||
FCLTHeader.Requires({ plugins:["jQuery"],
|
FCLTHeader.Requires({ plugins:["jQuery"],
|
||||||
@@ -132,6 +133,9 @@ function res_list_ppi(pautfunction, params)
|
|||||||
var ora_date2 = dateto.beginToSQL();
|
var ora_date2 = dateto.beginToSQL();
|
||||||
var ora_date3 = datefrom.beginToSQL();
|
var ora_date3 = datefrom.beginToSQL();
|
||||||
var ora_date4 = dateto.endToSQL();
|
var ora_date4 = dateto.endToSQL();
|
||||||
|
var ora_date5 = toUserTimeZone(datefrom).toSQL(true);
|
||||||
|
var ora_date6 = toUserTimeZone(dateto).toSQL(true);
|
||||||
|
|
||||||
//date_sql = " AND beschik.res_reservering_van BETWEEN " + ora_date1 + " AND " + ora_date2;
|
//date_sql = " AND beschik.res_reservering_van BETWEEN " + ora_date1 + " AND " + ora_date2;
|
||||||
|
|
||||||
if (room_key)
|
if (room_key)
|
||||||
@@ -161,7 +165,10 @@ function forhours(fn)
|
|||||||
var res = []
|
var res = []
|
||||||
// Wel met hele uren rekenen, anders geeft dat hier problemen.
|
// 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 = Math.floor(S("res_rap_t1")); i < Math.floor(S("res_rap_t2") + 0.6); i++)
|
||||||
res.push(fn.call(null, i));
|
{
|
||||||
|
var h = getServerHour(i)
|
||||||
|
res.push(fn.call(null, h, i));
|
||||||
|
}
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
//__Log(forhours(function (h) { return String(h); }));
|
//__Log(forhours(function (h) { return String(h); }));
|
||||||
@@ -181,13 +188,13 @@ function forhours(fn)
|
|||||||
+ " , rarg.res_discipline_key"
|
+ " , rarg.res_discipline_key"
|
||||||
+ (dayschedule
|
+ (dayschedule
|
||||||
? (" ," + forhours(function (h) { return " SUM(n" + String(h) + ") b" + String(h); }))
|
? (" ," + forhours(function (h) { return " SUM(n" + String(h) + ") b" + String(h); }))
|
||||||
: " , SUM(GREATEST(LEAST(to_number(TO_CHAR(res_rsv_ruimte_tot, 'SSSSS')) / 3600"
|
: " , SUM(GREATEST(LEAST(to_number(TO_CHAR(res_rsv_ruimte_tot_tz, 'SSSSS')) / 3600"
|
||||||
+ " , COALESCE(res_ruimte_eindtijd, " + S("res_t2") + ")"
|
+ " , COALESCE(res_ruimte_eindtijd, " + S("res_t2") + ")"
|
||||||
+ " ," + S("res_rap_t2")
|
+ " ," + S("res_rap_t2")
|
||||||
+ " )"
|
+ " )"
|
||||||
+ " ," + (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.
|
+ " ," + (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.
|
||||||
+ " )"
|
+ " )"
|
||||||
+ " - LEAST(GREATEST(to_number(TO_CHAR(res_rsv_ruimte_van, 'SSSSS')) / 3600"
|
+ " - LEAST(GREATEST(to_number(TO_CHAR(res_rsv_ruimte_van_tz, 'SSSSS')) / 3600"
|
||||||
+ " , COALESCE(res_ruimte_begintijd, " + S("res_t1") + ")"
|
+ " , COALESCE(res_ruimte_begintijd, " + S("res_t1") + ")"
|
||||||
+ " ," + S("res_rap_t1")
|
+ " ," + S("res_rap_t1")
|
||||||
+ " )"
|
+ " )"
|
||||||
@@ -202,7 +209,9 @@ function forhours(fn)
|
|||||||
? " ," + forhours(function (h) { return "r.n" + String(h); })
|
? " ," + forhours(function (h) { return "r.n" + String(h); })
|
||||||
: "")
|
: "")
|
||||||
+ " , r.res_rsv_ruimte_van"
|
+ " , r.res_rsv_ruimte_van"
|
||||||
|
+ oRaAsUserTZ('r', 'res_rsv_ruimte_van')
|
||||||
+ " , r.res_rsv_ruimte_tot"
|
+ " , r.res_rsv_ruimte_tot"
|
||||||
|
+ oRaAsUserTZ('r', 'res_rsv_ruimte_tot')
|
||||||
+ " , ra.res_alg_ruimte_aanmaak"
|
+ " , ra.res_alg_ruimte_aanmaak"
|
||||||
+ " , ra.res_alg_ruimte_verwijder"
|
+ " , ra.res_alg_ruimte_verwijder"
|
||||||
+ " , rr.res_ruimte_begintijd"
|
+ " , rr.res_ruimte_begintijd"
|
||||||
@@ -220,9 +229,9 @@ function forhours(fn)
|
|||||||
+ " AND ro.res_ruimte_key = rr.res_ruimte_key"
|
+ " AND ro.res_ruimte_key = rr.res_ruimte_key"
|
||||||
+ " AND rr.res_ruimte_key = ra.res_ruimte_key) rarg"
|
+ " AND rr.res_ruimte_key = ra.res_ruimte_key) rarg"
|
||||||
+ " WHERE res_rsv_ruimte_van BETWEEN " + ora_date3 + " AND " + ora_date4
|
+ " 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_tz, '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_tz, 'd') <= 6"
|
||||||
+ " AND TRUNC(res_rsv_ruimte_van) NOT IN (SELECT mld_vrije_dagen_datum FROM mld_vrije_dagen)"
|
+ " AND TRUNC(res_rsv_ruimte_van_tz) NOT IN (SELECT mld_vrije_dagen_datum FROM mld_vrije_dagen)"
|
||||||
+ " AND rarg.res_alg_ruimte_aanmaak <= " + ora_date2
|
+ " AND rarg.res_alg_ruimte_aanmaak <= " + ora_date2
|
||||||
+ " AND (rarg.res_alg_ruimte_verwijder IS NULL"
|
+ " AND (rarg.res_alg_ruimte_verwijder IS NULL"
|
||||||
+ " OR rarg.res_alg_ruimte_verwijder >= " + ora_date1 + ")"
|
+ " OR rarg.res_alg_ruimte_verwijder >= " + ora_date1 + ")"
|
||||||
@@ -230,7 +239,7 @@ function forhours(fn)
|
|||||||
+ " , rarg.res_discipline_key) bez"
|
+ " , rarg.res_discipline_key) bez"
|
||||||
+ " , (SELECT DISTINCT rr1.res_discipline_key"
|
+ " , (SELECT DISTINCT rr1.res_discipline_key"
|
||||||
+ " , ra.alg_ruimte_key"
|
+ " , ra.alg_ruimte_key"
|
||||||
+ " , ((fac.Count_Work_Days(" + ora_date1 + "-1 , " + ora_date2 + "))"
|
+ " , ((fac.Count_Work_Days(" + ora_date5 + "-1 , " + ora_date6 + "))"
|
||||||
+ (dayschedule
|
+ (dayschedule
|
||||||
? ""
|
? ""
|
||||||
: " * (LEAST(COALESCE(rr1.res_ruimte_eindtijd, " + S("res_t2") + ")"
|
: " * (LEAST(COALESCE(rr1.res_ruimte_eindtijd, " + S("res_t2") + ")"
|
||||||
@@ -276,7 +285,9 @@ function forhours(fn)
|
|||||||
? " ," + forhours(function (h) { return "r.n" + String(h); })
|
? " ," + forhours(function (h) { return "r.n" + String(h); })
|
||||||
: "")
|
: "")
|
||||||
+ " , r.res_rsv_ruimte_van"
|
+ " , r.res_rsv_ruimte_van"
|
||||||
|
+ oRaAsUserTZ('r', 'res_rsv_ruimte_van')
|
||||||
+ " , r.res_rsv_ruimte_tot"
|
+ " , r.res_rsv_ruimte_tot"
|
||||||
|
+ oRaAsUserTZ('r', 'res_rsv_ruimte_tot')
|
||||||
+ " , ra.res_alg_ruimte_aanmaak"
|
+ " , ra.res_alg_ruimte_aanmaak"
|
||||||
+ " , ra.res_alg_ruimte_verwijder"
|
+ " , ra.res_alg_ruimte_verwijder"
|
||||||
+ " , rr.res_ruimte_begintijd"
|
+ " , rr.res_ruimte_begintijd"
|
||||||
@@ -299,15 +310,15 @@ function forhours(fn)
|
|||||||
if (groupres == 16)
|
if (groupres == 16)
|
||||||
{ // Gebruik hele maanden in het berekenen van het aantal werkdagen.
|
{ // Gebruik hele maanden in het berekenen van het aantal werkdagen.
|
||||||
sql_sel_periode = "fac.count_Work_Days"
|
sql_sel_periode = "fac.count_Work_Days"
|
||||||
+ "( DECODE(periode, TO_CHAR(" + ora_date1 + ",'yyyymm'), " + ora_date1 + ", fac.safe_to_date(periode || '01','yymmdd')) - 1"
|
+ "( DECODE(periode, TO_CHAR(" + ora_date5 + ",'yyyymm'), " + ora_date5 + ", fac.safe_to_date(periode || '01','yymmdd')) - 1"
|
||||||
+ ", DECODE(periode, TO_CHAR(" + ora_date2 + ",'yyyymm'), " + ora_date2 + ", last_day(fac.safe_to_date(periode || '01','yymmdd')))"
|
+ ", DECODE(periode, TO_CHAR(" + ora_date6 + ",'yyyymm'), " + ora_date6 + ", last_day(fac.safe_to_date(periode || '01','yymmdd')))"
|
||||||
+ ")"
|
+ ")"
|
||||||
sql_grp_periode = "TO_CHAR(res_rsv_ruimte_van, 'yyyymm')";
|
sql_grp_periode = "TO_CHAR(" + oRaAsUserTZ('', 'res_rsv_ruimte_van', true) + ", 'yyyymm')";
|
||||||
}
|
}
|
||||||
if (groupres == 18 || groupres == 19)
|
if (groupres == 18 || groupres == 19)
|
||||||
{ // Alle dagen zijn goed. //Is de huidig geselecteerde dag een werkdag.
|
{ // Alle dagen zijn goed. //Is de huidig geselecteerde dag een werkdag.
|
||||||
sql_sel_periode = "1"; //"fac.count_Work_Days(to_date(werkbaredagen.periode,'yyyymmdd')-1, to_date(werkbaredagen.periode,'yyyymmdd'))";
|
sql_sel_periode = "1"; //"fac.count_Work_Days(to_date(werkbaredagen.periode,'yyyymmdd')-1, to_date(werkbaredagen.periode,'yyyymmdd'))";
|
||||||
sql_grp_periode = "TO_CHAR(res_rsv_ruimte_van, 'yyyymmdd')";
|
sql_grp_periode = "TO_CHAR(" + oRaAsUserTZ('', 'res_rsv_ruimte_van', true) + ", 'yyyymmdd')";
|
||||||
}
|
}
|
||||||
|
|
||||||
var sql_bezetting = "SELECT rarg.alg_ruimte_key"
|
var sql_bezetting = "SELECT rarg.alg_ruimte_key"
|
||||||
@@ -315,8 +326,14 @@ function forhours(fn)
|
|||||||
+ " , " + sql_grp_periode + " periode"
|
+ " , " + sql_grp_periode + " periode"
|
||||||
+ (dayschedule
|
+ (dayschedule
|
||||||
? (", " + forhours(function (h) { return " SUM(n" + String(h) + ") b" + String(h); }))
|
? (", " + forhours(function (h) { return " SUM(n" + String(h) + ") b" + String(h); }))
|
||||||
: " , SUM( LEAST(to_number(TO_CHAR(rarg.res_rsv_ruimte_tot, 'SSSSS')) / 3600, COALESCE(rarg.res_ruimte_eindtijd, " + S("res_t2") +"))"
|
// This fails if you execute this querie from one timezone to gather data from multiple or other timezone(s)
|
||||||
+ " - GREATEST(to_number(TO_CHAR(rarg.res_rsv_ruimte_van, 'SSSSS')) / 3600, COALESCE(rarg.res_ruimte_begintijd," + S("res_t1") +"))"
|
// because:
|
||||||
|
// 1. Reservations from another timezone may extend over 2 days when converted to the user's timezone, in which case the calculation is wrong
|
||||||
|
// 2. begin and end times from which to calculate is user bound, not location bound.
|
||||||
|
//
|
||||||
|
// Note: reservations outside 'opening' hours now result in 0 hours.
|
||||||
|
: " , SUM(LEAST(GREATEST(to_number(TO_CHAR(rarg.res_rsv_ruimte_tot_tz, 'SSSSS')) / 3600, COALESCE(rarg.res_ruimte_begintijd," + S("res_t1") +")), COALESCE(rarg.res_ruimte_eindtijd, " + S("res_t2") +"))"
|
||||||
|
+ " - GREATEST(LEAST(to_number(TO_CHAR(rarg.res_rsv_ruimte_van_tz, 'SSSSS')) / 3600, COALESCE(rarg.res_ruimte_eindtijd, " + S("res_t2") +")), COALESCE(rarg.res_ruimte_begintijd," + S("res_t1") +"))"
|
||||||
+ " ) bezetting")
|
+ " ) bezetting")
|
||||||
+ " FROM ("+ sql_reservering + ") rarg"
|
+ " FROM ("+ sql_reservering + ") rarg"
|
||||||
+ " WHERE rarg.res_rsv_ruimte_van BETWEEN " + ora_date3 + " AND " + ora_date4;
|
+ " WHERE rarg.res_rsv_ruimte_van BETWEEN " + ora_date3 + " AND " + ora_date4;
|
||||||
@@ -324,10 +341,10 @@ function forhours(fn)
|
|||||||
// Ook zaterdag en zondag meetellen voor 18:Weekdag, 19:Datum.
|
// Ook zaterdag en zondag meetellen voor 18:Weekdag, 19:Datum.
|
||||||
if (groupres == 16)
|
if (groupres == 16)
|
||||||
{
|
{
|
||||||
sql_bezetting += " AND TO_CHAR(rarg.res_rsv_ruimte_van, 'd') >= 2" // --veronderstelt NLS_TERRITORY='AMERICA', 2 is maandag
|
sql_bezetting += " AND TO_CHAR(rarg.res_rsv_ruimte_van_tz, 'd') >= 2" // --veronderstelt NLS_TERRITORY='AMERICA', 2 is maandag
|
||||||
+ " AND TO_CHAR(rarg.res_rsv_ruimte_van, 'd') <= 6";
|
+ " AND TO_CHAR(rarg.res_rsv_ruimte_van_tz, 'd') <= 6";
|
||||||
}
|
}
|
||||||
sql_bezetting += " AND TO_CHAR(rarg.res_rsv_ruimte_van, 'yyyymmdd') NOT IN"
|
sql_bezetting += " AND TO_CHAR(rarg.res_rsv_ruimte_van_tz, 'yyyymmdd') NOT IN"
|
||||||
+ "(SELECT to_char(mld_vrije_dagen_datum, 'yyyymmdd')"
|
+ "(SELECT to_char(mld_vrije_dagen_datum, 'yyyymmdd')"
|
||||||
+ " FROM mld_vrije_dagen"
|
+ " FROM mld_vrije_dagen"
|
||||||
+ ")"
|
+ ")"
|
||||||
@@ -395,7 +412,6 @@ function forhours(fn)
|
|||||||
+ sql_floor
|
+ sql_floor
|
||||||
+ sql_rooms;
|
+ sql_rooms;
|
||||||
}
|
}
|
||||||
|
|
||||||
sql = discxalg3d(sql,
|
sql = discxalg3d(sql,
|
||||||
"beschik.res_discipline_key",
|
"beschik.res_discipline_key",
|
||||||
"di.alg_regio_key",
|
"di.alg_regio_key",
|
||||||
@@ -423,7 +439,7 @@ function forhours(fn)
|
|||||||
res_colums = [ [L("lcl_location"), "locatie", "string", false],
|
res_colums = [ [L("lcl_location"), "locatie", "string", false],
|
||||||
[L("lcl_res_nr_of_rooms"), "aantal_ruimten", "number", true]];
|
[L("lcl_res_nr_of_rooms"), "aantal_ruimten", "number", true]];
|
||||||
|
|
||||||
res_colums = res_colums.concat(forhours(function (h) { return [String(h) + ":00", "t" + String(h), "float", true]; }));
|
res_colums = res_colums.concat(forhours(function (i, h) { return [String(h) == "23" ? "23:00 - 00:00" : String(h) + ":00 - " + String(h + 1) + ":00", "t" + String(i), "float", false, true];}));
|
||||||
|
|
||||||
select_sql = ", " + forhours(function (h) { return "(CASE WHEN SUM(beschikbaar) = 0 THEN SUM(b"+String(h)+") ELSE ROUND((SUM(b"+String(h)+") / SUM(beschikbaar)) * 100, 2) END) t"+String(h)+""; });
|
select_sql = ", " + forhours(function (h) { return "(CASE WHEN SUM(beschikbaar) = 0 THEN SUM(b"+String(h)+") ELSE ROUND((SUM(b"+String(h)+") / SUM(beschikbaar)) * 100, 2) END) t"+String(h)+""; });
|
||||||
//order_by = "13";
|
//order_by = "13";
|
||||||
@@ -475,7 +491,7 @@ function forhours(fn)
|
|||||||
if (dayschedule)
|
if (dayschedule)
|
||||||
{
|
{
|
||||||
res_colums = [ [L("lcl_month"), fnrowMaand, "string", false] ];
|
res_colums = [ [L("lcl_month"), fnrowMaand, "string", false] ];
|
||||||
res_colums = res_colums.concat(forhours(function (h) { return [String(h) + ":00", "t" + String(h), "float", false, true]; }));
|
res_colums = res_colums.concat(forhours(function (i, h) { return [String(h) == "23" ? "23:00 - 00:00" : String(h) + ":00 - " + String(h + 1) + ":00", "t" + String(i), "float", false, true];}));
|
||||||
|
|
||||||
sql = " SELECT periode res_keycolumn"
|
sql = " SELECT periode res_keycolumn"
|
||||||
+ select_sql
|
+ select_sql
|
||||||
@@ -501,7 +517,7 @@ function forhours(fn)
|
|||||||
if (dayschedule)
|
if (dayschedule)
|
||||||
{
|
{
|
||||||
res_colums = [ [L("lcl_weekday"), fnrowMaand, "string", false] ];
|
res_colums = [ [L("lcl_weekday"), fnrowMaand, "string", false] ];
|
||||||
res_colums = res_colums.concat(forhours(function (h) { return [String(h) == "23" ? "23:00 - 00:00" : String(h) + ":00 - " + String(h + 1) + ":00", "t" + String(h), "float", false, true]; }));
|
res_colums = res_colums.concat(forhours(function (i, h) { return [String(h) == "23" ? "23:00 - 00:00" : String(h) + ":00 - " + String(h + 1) + ":00", "t" + String(i), "float", false, true];}));
|
||||||
|
|
||||||
sql = " SELECT TO_CHAR(TO_DATE(periode,'yyyymmdd'),'d') res_keycolumn"
|
sql = " SELECT TO_CHAR(TO_DATE(periode,'yyyymmdd'),'d') res_keycolumn"
|
||||||
+ select_sql
|
+ select_sql
|
||||||
@@ -528,7 +544,7 @@ function forhours(fn)
|
|||||||
if (dayschedule)
|
if (dayschedule)
|
||||||
{
|
{
|
||||||
res_colums = [ [L("lcl_date"), fnrowMaand, "string", false] ];
|
res_colums = [ [L("lcl_date"), fnrowMaand, "string", false] ];
|
||||||
res_colums = res_colums.concat(forhours(function (h) { return [String(h) + ":00", "t" + String(h), "float", false, true]; }));
|
res_colums = res_colums.concat(forhours(function (i, h) { return [String(h) == "23" ? "23:00 - 00:00" : String(h) + ":00 - " + String(h + 1) + ":00", "t" + String(i), "float", false, true];}));
|
||||||
|
|
||||||
sql = " SELECT periode res_keycolumn"
|
sql = " SELECT periode res_keycolumn"
|
||||||
+ select_sql
|
+ select_sql
|
||||||
@@ -586,7 +602,7 @@ function forhours(fn)
|
|||||||
{
|
{
|
||||||
res_colums = [ [L("lcl_room"), "ruimte", "string", false] ];
|
res_colums = [ [L("lcl_room"), "ruimte", "string", false] ];
|
||||||
|
|
||||||
res_colums = res_colums.concat(forhours(function (h) { return [String(h) + ":00", "t" + String(h), "float", true]; }));
|
res_colums = res_colums.concat(forhours(function (i, h) { return [String(h) == "23" ? "23:00 - 00:00" : String(h) + ":00 - " + String(h + 1) + ":00", "t" + String(i), "float", false, true];}));
|
||||||
//select_sql = ", " + forhours(function (h) { return "ROUND((SUM(b"+String(h)+") / SUM(beschikbaar)) * 100, 2) t"+String(h)+""; })
|
//select_sql = ", " + forhours(function (h) { return "ROUND((SUM(b"+String(h)+") / SUM(beschikbaar)) * 100, 2) t"+String(h)+""; })
|
||||||
|
|
||||||
sql = " SELECT rg.alg_ruimte_key res_keycolumn"
|
sql = " SELECT rg.alg_ruimte_key res_keycolumn"
|
||||||
@@ -732,13 +748,13 @@ function forhours(fn)
|
|||||||
if (res_rap_t1m < 10) res_rap_t1m = "0" + res_rap_t1m;
|
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_t1s = res_rap_t1h + ":" + res_rap_t1m
|
||||||
|
|
||||||
|
|
||||||
var res_rap_t2h = Math.floor(S("res_rap_t2"));
|
var res_rap_t2h = Math.floor(S("res_rap_t2"));
|
||||||
if (res_rap_t2h < 10) res_rap_t2h = "0" + res_rap_t2h;
|
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);
|
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;
|
if (res_rap_t2m < 10) res_rap_t2m = "0" + res_rap_t2m;
|
||||||
var res_rap_t2s = res_rap_t2h + ":" + res_rap_t2m
|
var res_rap_t2s = res_rap_t2h + ":" + res_rap_t2m
|
||||||
|
|
||||||
|
|
||||||
var doTotals = (groupres != 16 && groupres != 18 && groupres != 19)
|
var doTotals = (groupres != 16 && groupres != 18 && groupres != 19)
|
||||||
var rst = new ResultsetTable({ keyColumn: "res_keycolumn",
|
var rst = new ResultsetTable({ keyColumn: "res_keycolumn",
|
||||||
ID: "restable",
|
ID: "restable",
|
||||||
|
|||||||
@@ -679,6 +679,47 @@ function transitQS()
|
|||||||
|
|
||||||
function padout(number) { return (number < 10) ? "0" + number : number; }
|
function padout(number) { return (number < 10) ? "0" + number : number; }
|
||||||
|
|
||||||
|
function oRaAsUserTZ(prefix, varName, isGroupClause)
|
||||||
|
{
|
||||||
|
if (prefix != "")
|
||||||
|
prefix += ".";
|
||||||
|
|
||||||
|
/////
|
||||||
|
// Returns;
|
||||||
|
// for GROUP BY Clause: the same prefix + "." + varName
|
||||||
|
// for SELECT Clause: the same prefix + "." + varName with correct syntax and an Alias as + "_tz"
|
||||||
|
/////
|
||||||
|
if (Session("time_zone") == "Europe/Amsterdam")
|
||||||
|
return (isGroupClause ? "" : " , ")
|
||||||
|
+ prefix + varName
|
||||||
|
+ (isGroupClause ? "" : " " + varName + "_tz");
|
||||||
|
|
||||||
|
/////
|
||||||
|
// Returns;
|
||||||
|
// for GROUP BY Clause: syntax for converted timezone
|
||||||
|
// for SELECT Clause: syntax for converted timezone with comma for SELECT Clause, named: [varName + "_tz"]
|
||||||
|
/////
|
||||||
|
return (isGroupClause ? "" : " , ")
|
||||||
|
+ "CAST(FROM_TZ(CAST(" + prefix + varName + " AS TIMESTAMP), TO_CHAR (SYSTIMESTAMP, 'tzr')) AT TIME ZONE SESSIONTIMEZONE AS DATE)"
|
||||||
|
+ (isGroupClause ? "" : " " + varName + "_tz");
|
||||||
|
}
|
||||||
|
|
||||||
|
function getServerHour(h)
|
||||||
|
{
|
||||||
|
var tempDate = new Date();
|
||||||
|
tempDate.setHours(h);
|
||||||
|
tempDate = toServerTimeZone(tempDate);
|
||||||
|
return tempDate.getHours();
|
||||||
|
}
|
||||||
|
|
||||||
|
function getUserHour(h)
|
||||||
|
{
|
||||||
|
var tempDate = new Date();
|
||||||
|
tempDate.setHours(h);
|
||||||
|
tempDate = toUserTimeZone(tempDate);
|
||||||
|
return tempDate.getHours();
|
||||||
|
}
|
||||||
|
|
||||||
function toUserTimeZone(thisDate)
|
function toUserTimeZone(thisDate)
|
||||||
{
|
{
|
||||||
return convertTimeZone(thisDate, "Europe/Amsterdam", Session("time_zone"));
|
return convertTimeZone(thisDate, "Europe/Amsterdam", Session("time_zone"));
|
||||||
@@ -715,7 +756,7 @@ function convertTimeZone(thisDate, fromTZ, toTZ)
|
|||||||
// <20> never as part of a computation.
|
// <20> never as part of a computation.
|
||||||
function toTimeString(jsDate, bWithSeconds, converted)
|
function toTimeString(jsDate, bWithSeconds, converted)
|
||||||
{
|
{
|
||||||
if (jsDate===null)
|
if (jsDate==null)
|
||||||
return "";
|
return "";
|
||||||
|
|
||||||
if (typeof jsDate == "object" && jsDate.type == 135/*adDBTimeStamp, oRs("datum")*/)
|
if (typeof jsDate == "object" && jsDate.type == 135/*adDBTimeStamp, oRs("datum")*/)
|
||||||
@@ -751,7 +792,7 @@ function toDateString(jsDate, noDay, pretty, converted)
|
|||||||
var tomorrow = (new Date(today));
|
var tomorrow = (new Date(today));
|
||||||
tomorrow.setDate(today.getDate()+1);
|
tomorrow.setDate(today.getDate()+1);
|
||||||
|
|
||||||
if (jsDate===null)
|
if (jsDate==null)
|
||||||
return "";
|
return "";
|
||||||
|
|
||||||
if (typeof jsDate == "object" && jsDate.type == 135/*adDBTimeStamp, oRs("datum")*/)
|
if (typeof jsDate == "object" && jsDate.type == 135/*adDBTimeStamp, oRs("datum")*/)
|
||||||
@@ -784,7 +825,7 @@ function toDateString(jsDate, noDay, pretty, converted)
|
|||||||
}
|
}
|
||||||
function toDateTimeString(jsDate, bWithSeconds, noDay, prettyday)
|
function toDateTimeString(jsDate, bWithSeconds, noDay, prettyday)
|
||||||
{
|
{
|
||||||
if (jsDate===null)
|
if (jsDate==null)
|
||||||
return "";
|
return "";
|
||||||
|
|
||||||
if (typeof jsDate == "object" && jsDate.type == 135/*adDBTimeStamp, oRs("datum")*/)
|
if (typeof jsDate == "object" && jsDate.type == 135/*adDBTimeStamp, oRs("datum")*/)
|
||||||
|
|||||||
Reference in New Issue
Block a user