--- a/lib/graphs.inc.php
+++ b/lib/graphs.inc.php
@@ -1,34 +1,198 @@
+
+
+
+
+
+
+';
+$includedFlot = true;
+ }
+}
+
+function CNDistributionGraph() {
+ global $conn;
+ includeFlot();
+ ?>
+
+
+= $startYear) AND childCN = 0
-GROUP BY agencyName ORDER BY val DESC limit $topX";
-$result = mysql_query($query);
-$agencies = Array();
-$values = Array();
-while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
- $agencies[] = $row['agencyName'];
- $values[] = doubleval($row["val"]);
-}
-mysql_free_result($result);
-
-$query = "SELECT sum(a.val) as value, count(1) as count from (SELECT SUM(value) as val, agencyName FROM `contractnotice` WHERE (YEAR(contractStart) >= $startYear) AND childCN = 0
-GROUP BY agencyName ORDER BY val DESC LIMIT 18446744073709551610 OFFSET $topX) as a";
-$result = mysql_query($query);
-while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
- $agencies[] = $row['count'] . " other agencies";
- $values[] = doubleval($row[0]);
-}
-mysql_free_result($result);
-
+
+ global $conn;
+ includeFlot();
+$query = 'SELECT SUM("value") as val, MAX(contractnotice."agencyName") as agencyname FROM contractnotice join agency on contractnotice."agencyName"=agency."agencyName" WHERE "childCN" is null
+GROUP BY abn ORDER BY SUM("value") DESC';
+$query = $conn->prepare($query);
+$query->execute();
+if (!$query) {
+ databaseError($conn->errorInfo());
+ return Array();
+}
+?>
+
+
+
+= $startYear) AND childCN = 0 AND agencyName = '$agency'
-GROUP BY lower(supplierName) ORDER BY val DESC limit $topX";
+$query = 'SELECT SUM(value) as val, supplierName FROM `contractnotice` WHERE (YEAR(contractStart) >= $startYear) AND "childCN" is null AND agencyName = \'$agency\'
+GROUP BY lower(supplierName) ORDER BY val DESC limit $topX';
$result = mysql_query($query);
$suppliers = Array();
$values = Array();
@@ -38,8 +202,8 @@
}
mysql_free_result($result);
-$query = "SELECT sum(a.val) as value, count(1) as count from (SELECT SUM(value) as val, supplierName FROM `contractnotice` WHERE (YEAR(contractStart) >= $startYear) AND childCN = 0 and agencyName = '$agency'
-GROUP BY lower(supplierName) ORDER BY val DESC LIMIT 18446744073709551610 OFFSET $topX) as a";
+$query = 'SELECT sum(a.val) as value, count(1) as count from (SELECT SUM(value) as val, supplierName FROM `contractnotice` WHERE (YEAR(contractStart) >= $startYear) AND "childCN" is null and agencyName = \'$agency\'
+GROUP BY lower(supplierName) ORDER BY val DESC LIMIT 18446744073709551610 OFFSET $topX) as a';
$result = mysql_query($query);
while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
if ($row['count'] > 0) {
@@ -90,11 +254,11 @@
"Consultancies",
"Confidentialities"
);
-$query = "SELECT 'consultancy', count(1) FROM `contractnotice` WHERE $agencyQ $supplierQ consultancy='Yes' AND childCN = 0;";
+$query = 'SELECT \'consultancy\', count(1) FROM `contractnotice` WHERE $agencyQ $supplierQ consultancy=\'Yes\' AND "childCN" is null;';
$result = mysql_query($query);
$row = mysql_fetch_array($result, MYSQL_BOTH);
$attributes[0] = $row[1];
-$query = "SELECT 'confidentiality', count(1) FROM `contractnotice` WHERE $agencyQ $supplierQ (confidentialityContract='Yes' OR confidentialityOutputs='Yes') AND childCN = 0;";
+$query = 'SELECT \'confidentiality\', count(1) FROM `contractnotice` WHERE $agencyQ $supplierQ (confidentialityContract=\'Yes\' OR confidentialityOutputs=\'Yes\') AND "childCN" is null;';
$result = mysql_query($query);
$row = mysql_fetch_array($result, MYSQL_BOTH);
$attributes[1] = $row[1];
@@ -102,12 +266,12 @@
}
function ContractPublishedGraph() {
- $query = "SELECT YEAR(publishDate), MONTH(publishDate),
+ $query = 'SELECT YEAR(publishDate), MONTH(publishDate),
SUM(value) as val, count(1) as count FROM `contractnotice`
WHERE (YEAR(publishDate) >= 2008)
-AND childCN = 0
+AND "childCN" is null
GROUP BY MONTH(publishDate), YEAR(publishDate)
-ORDER BY YEAR(publishDate), MONTH(publishDate)";
+ORDER BY YEAR(publishDate), MONTH(publishDate)';
$result = mysql_query($query);
$dates = Array();
@@ -124,12 +288,12 @@
}
function ContractStartingGraph() {
- $query = "SELECT YEAR(contractStart), MONTH(contractStart),
+ $query = 'SELECT YEAR(contractStart), MONTH(contractStart),
SUM(value) as val, count(1) as count FROM `contractnotice`
WHERE (YEAR(contractStart) >= 2008)
-AND childCN = 0
+AND "childCN" is null
GROUP BY MONTH(contractStart), YEAR(contractStart)
-ORDER BY YEAR(contractStart), MONTH(contractStart)";
+ORDER BY YEAR(contractStart), MONTH(contractStart)';
$result = mysql_query($query);
$dates = Array();
@@ -145,8 +309,8 @@
mysql_free_result($result);
}
function MethodCountGraph() {
- $query = "select procurementMethod, count(1) as count, SUM(value) as value, MONTH(contractStart) as month, YEAR(contractStart) as year from `contractnotice`
-where $agencyQ $supplierQ $standardQ group by procurementMethod,year,month order by procurementMethod,year,month";
+ $query = 'select procurementMethod, count(1) as count, SUM(value) as value, MONTH(contractStart) as month, YEAR(contractStart) as year from `contractnotice`
+where $agencyQ $supplierQ $standardQ group by procurementMethod,year,month order by procurementMethod,year,month';
$result = mysql_query($query);
$methods = Array("Direct","Open","Select");
$dates = Array();
@@ -206,40 +370,63 @@
}
function SuppliersGraph() {
+
+ global $conn;
+ includeFlot();
$topX = 10;
-$query = "SELECT value, supplierName
-FROM `contractnotice` WHERE (YEAR(contractStart) >= 2009) AND childCN = 0
-GROUP BY supplierABN ORDER BY value DESC limit $topX";
-$result = mysql_query($query);
$suppliers = Array();
$values = Array();
-while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
+
+
+$query = 'SELECT SUM("value") as value, MAX("supplierName") as supplierName, (
+ case when "supplierABN" != 0 THEN "supplierABN"::text ELSE "supplierName" END) as supplierID
+FROM contractnotice
+WHERE "childCN" is null
+GROUP BY supplierID
+ORDER BY value DESC
+LIMIT '.$topX;
+$query = $conn->prepare($query);
+ $query->execute();
+ if (!$query) {
+ databaseError($conn->errorInfo());
+ }
+ foreach ($query->fetchAll() as $row) {
setlocale(LC_MONETARY, 'en_US');
// $value = number_format(doubleval($row["value"]) , 2);
$suppliers[] = ucsmart($row[1]);
$values[] = doubleval($row["value"]);
}
-mysql_free_result($result);
-
-$query = "SELECT sum(a.value) as val, supplierCountry from (SELECT value, supplierName, supplierCountry
-FROM `contractnotice` WHERE (YEAR(contractStart) >= 2009) AND childCN = 0
-GROUP BY supplierName ORDER BY value LIMIT 18446744073709551610 OFFSET $topX) as a group by supplierCountry order by val DESC limit 5 offset 1";
-$result = mysql_query($query);
-while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
- $suppliers[] = "Other suppliers in ".ucsmart($row["supplierCountry"]);
+
+$query = 'SELECT sum(a.svalue) as val, suppliercountry from (SELECT sum("value") as svalue, max("supplierCountry") as suppliercountry
+FROM contractnotice WHERE "childCN" is null and "supplierCountry" NOT ILIKE \'Australia\'
+GROUP BY "supplierName" ORDER BY svalue LIMIT 18446744073 OFFSET 10) as a group by suppliercountry order by val DESC limit 10 ';
+$query = $conn->prepare($query);
+ $query->execute();
+ if (!$query) {
+ databaseError($conn->errorInfo());
+ }
+
+ foreach ($query->fetchAll() as $row) {
+ $suppliers[] = "Other suppliers in ".ucsmart($row["suppliercountry"]);
$values[] = doubleval($row[0]);
}
-mysql_free_result($result);
-
-$query = "SELECT sum(a.value) as val, TRUNCATE(supplierPostcode,-2) as postcode from (SELECT value, supplierName, supplierPostcode, supplierCountry
-FROM `contractnotice` WHERE (YEAR(contractStart) >= 2009) AND childCN = 0
-GROUP BY supplierName ORDER BY value LIMIT 18446744073709551610 OFFSET $topX) as a
-WHERE (supplierCountry LIKE 'Australia' OR supplierCountry LIKE 'AUSTRALIA') AND supplierPostcode < 10000
-group by TRUNCATE(supplierPostcode,-2)
-order by val DESC";
-$result = mysql_query($query);
-while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
+
+$query = 'SELECT sum(a.value) as val, substring(
+supplierpostcode from 0 for 2) as postcode from (SELECT sum(value) as value, max("supplierPostcode") as supplierpostcode, max("supplierCountry") as suppliercountry
+FROM contractnotice WHERE "childCN" is null
+GROUP BY "supplierABN" ORDER BY sum(value) LIMIT 1844674 OFFSET 10) as a
+WHERE (suppliercountry ILIKE \'Australia\')
+group by substring(
+supplierpostcode from 0 for 2)
+order by val DESC;';
+$query = $conn->prepare($query);
+ $query->execute();
+ if (!$query) {
+ databaseError($conn->errorInfo());
+ }
+
+ foreach ($query->fetchAll() as $row) {
if ($row['postcode'][0] == 2 && $row['postcode'][1] == 6) $ACTvalue += $row[0];
else if ($row['postcode'][0] == 2 || $row['postcode'][0] == 1) $NSWvalue += $row[0];
else if ($row['postcode'][0] == 3 || $row['postcode'][0] == 8) $Vicvalue += $row[0];
@@ -249,7 +436,6 @@
else if ($row['postcode'][0] == 7) $Tasvalue += $row[0];
else if ($row['postcode'][0] == 0) $NTvalue += $row[0];
}
-mysql_free_result($result);
$suppliers[] = "Other suppliers in Australia - ACT";
$values[] = doubleval($ACTvalue);
$suppliers[] = "Other suppliers in Australia - NSW";
@@ -266,7 +452,54 @@
$values[] = doubleval($SAvalue);
$suppliers[] = "Other suppliers in Australia - Tasmania";
$values[] = doubleval($Tasvalue);
-
-}
+
?>
+
+
+
+
+