[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Fmsystem-commits] [16611]
From: |
nelson . guerra |
Subject: |
[Fmsystem-commits] [16611] |
Date: |
Fri, 21 Apr 2017 10:40:27 -0400 (EDT) |
Revision: 16611
http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=16611
Author: nelson224
Date: 2017-04-21 10:40:27 -0400 (Fri, 21 Apr 2017)
Log Message:
-----------
Modified Paths:
--------------
branches/dev-syncromind-2/property/inc/class.soreport.inc.php
Modified: branches/dev-syncromind-2/property/inc/class.soreport.inc.php
===================================================================
--- branches/dev-syncromind-2/property/inc/class.soreport.inc.php
2017-04-21 14:21:03 UTC (rev 16610)
+++ branches/dev-syncromind-2/property/inc/class.soreport.inc.php
2017-04-21 14:40:27 UTC (rev 16611)
@@ -193,16 +193,17 @@
return $values;
}
- function read_to_export ( $id )
+ function build_sum_of_colums($columns)
{
- $id = (int)$id;
+ $columns_a = array_values($columns);
- $definition = $this->read_single($id);
- $dataset =
$this->read_single_dataset($definition['dataset_id']);
-
- $jsonB = json_decode($definition['report_definition'],
true);
-
- $columns_a = array_values($jsonB['group']);
+ if (count($columns_a) == 1)
+ {
+ return "CASE
+ WHEN ".$columns_a[0]." is null
THEN '".lang('grand total')."'
+ ELSE
".$columns_a[0]."::character varying
+ END AS ".$columns_a[0];
+ }
$first = 0;
$last_a = count($columns_a) -1;
@@ -218,15 +219,29 @@
{
if ($c == $first)
{
- $query_columns .= ", CASE WHEN
".$columns_b[$first]." is null THEN 'Grand Total'";
+ $query_columns .= ", CASE WHEN
".$columns_b[$first]." is null THEN '".lang('grand total')."'";
}
else {
- $query_columns .= " WHEN
".$columns_b[$c]." is null THEN concat (".$columns_b[$c-1]."::character
varying, ' total')";
+ $query_columns .= " WHEN
".$columns_b[$c]." is null THEN concat (".$columns_b[$c-1]."::character
varying, ' ".lang('total')."')";
}
}
- $query_columns .= " WHEN ".$columns_a[$last_a]." is
null THEN concat (".$columns_b[$last_b]."::character varying, ' total')";
- $query_columns .= " ELSE
".$columns_a[$last_a]."::character varying END AS ".$columns_a[$last_a];
+ $query_columns .= " WHEN ".$columns_a[$last_a]." is
null THEN concat (".$columns_b[$last_b]."::character varying, '
".lang('total')."')";
+ $query_columns .= " ELSE
".$columns_a[$last_a]."::character varying END AS ".$columns_a[$last_a];
+
+ return $query_columns;
+ }
+
+ function read_to_export ( $id )
+ {
+ $id = (int)$id;
+
+ $definition = $this->read_single($id);
+ $dataset =
$this->read_single_dataset($definition['dataset_id']);
+
+ $jsonB = json_decode($definition['report_definition'],
true);
+
+ $query_columns =
$this->build_sum_of_colums($jsonB['group']);
$columns = implode(',', $jsonB['group']);
$agregates = array();
@@ -243,7 +258,7 @@
//$sql = "SELECT ".$columns.",".$func_agregates." FROM
".$dataset['view_name']." GROUP BY ".$columns.$order;
$sql = "SELECT ".$query_columns.",".$func_agregates."
FROM ".$dataset['view_name']." GROUP BY ROLLUP (".$columns.')'.$order;
-
+
$this->db->query($sql, __LINE__, __FILE__);
$resultado = array_merge(array_values($jsonB['group']),
array_values($jsonB['txt_aggregate']));
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fmsystem-commits] [16611],
nelson . guerra <=