From: root Date: Wed, 25 Jan 2017 03:43:12 +0000 Subject: more panel/category tables X-Git-Url: http://maxious.lambdacomplex.org/git/?p=contractdashboard.git&a=commitdiff&h=cbf7bf4f599341120a550d38d6eb6c1f1115533d --- more panel/category tables --- --- a/displayAgency.php +++ b/displayAgency.php @@ -1,13 +1,13 @@

'.$agency.'

'; + echo '

' . $agency . '

'; $query = 'SELECT category, min("categoryUNSPSC") AS "categoryUNSPSC", count(*) AS count, sum(value) AS value FROM contractnotice - WHERE "agencyName" like :agency AND '. " " . $standardQ . ' GROUP BY category order by count(*) desc limit 10'; + WHERE "agencyName" LIKE :agency AND ' . " " . $standardQ . ' ' . $yearQ . ' GROUP BY category ORDER BY count(*) DESC LIMIT 10'; $query = $conn->prepare($query); $query->bindParam(":agency", $agency); $query->execute(); @@ -32,9 +32,36 @@ "); } echo "
"; - $query = 'SELECT SUM(value) as value, count(*), text_mode("supplierName") "supplierName", min("supplierABN") as "supplierABN", ( - case when "supplierABN" != 0 THEN "supplierABN"::text ELSE lower("supplierName") END) as "supplierID" FROM contractnotice -WHERE ' .$yearQ . " " . $standardQ . ' AND "agencyName" like :agency + + $query = 'SELECT contractnotice."SONID", min(title) AS title, count(*), sum(value) AS value FROM contractnotice INNER JOIN standingoffers ON contractnotice."SONID" = standingoffers."SONID" +WHERE "agencyName" LIKE :agency AND ' . " " . $standardQ . ' ' . $yearQ . 'AND contractnotice."SONID" != \'\' GROUP BY contractnotice."SONID"'; + $query = $conn->prepare($query); + $query->bindParam(":agency", $agency); + $query->execute(); + databaseError($conn->errorInfo()); + $sonrows = ""; + foreach ($query->fetchAll() as $row) { + setlocale(LC_MONETARY, 'en_US'); + $value = number_format(doubleval($row['value']), 2); + $sonrows .= " + {$row['title']} + {$row['count']} + \$$value + "; + } + if (strlen($sonrows) > 1) { + echo "

Standing Offers/Panels

+ + + + + + $sonrows
Standing OfferContracts CountTotal Contract Value

"; + } + + $query = 'SELECT SUM(value) AS value, count(*), text_mode("supplierName") "supplierName", min("supplierABN") AS "supplierABN", ( + CASE WHEN "supplierABN" != 0 THEN "supplierABN"::TEXT ELSE lower("supplierName") END) AS "supplierID" FROM contractnotice +WHERE ' . $yearQ . " " . $standardQ . ' AND "agencyName" LIKE :agency GROUP BY "supplierID" ORDER BY "value" DESC'; $query = $conn->prepare($query); $query->bindParam(":agency", $agency); @@ -50,7 +77,7 @@ foreach ($query->fetchAll() as $row) { setlocale(LC_MONETARY, 'en_US'); $value = number_format(doubleval($row['value']), 2); -$supplierID = $row['supplierABN'].'-'. urlencode($row['supplierName']); + $supplierID = $row['supplierABN'] . '-' . urlencode($row['supplierName']); echo(" {$row['supplierName']} {$row['count']} @@ -58,19 +85,16 @@ "); } echo "
"; -/* - * Categories table - * SONs/Panels used table - * Replace pie chart with percent count/count/percent value/value table - * Procurement method in text, seperate Open via SON from Open - * Consultancies, Confidentialities percentage - Compliance statistics: amendments, delay in reporting average and number completely late */ + /* + * Procurement method in text, seperate Open via SON from Open + * Consultancies, Confidentialities percentage + Compliance statistics: amendments, delay in reporting average and number completely late */ $query = 'SELECT "CNID", "description", "value", "agencyName", "category", "contractStart", "supplierName" FROM contractnotice - WHERE ' .$yearQ . ' "agencyName" like :agency and "childCN" is null - ORDER BY "value" DESC limit 100'; + WHERE ' . $yearQ . ' "agencyName" LIKE :agency AND "childCN" IS NULL + ORDER BY "value" DESC LIMIT 100'; $query = $conn->prepare($query); $query->bindParam(":agency", $agency); $query->execute(); @@ -89,7 +113,7 @@ foreach ($query->fetchAll() as $row) { setlocale(LC_MONETARY, 'en_US'); $value = number_format(doubleval($row['value']), 2); - echo (" + echo(" {$row['CNID']} {$row['description']} \$$value{$row['agencyName']} @@ -106,7 +130,7 @@ agenciesGraph(); $query = 'SELECT SUM("value"), "agencyName" FROM contractnotice -WHERE ' .$yearQ . ' "childCN" is null +WHERE ' . $yearQ . ' "childCN" IS NULL GROUP BY "agencyName" '; $query = $conn->prepare($query); $query->execute(); @@ -121,7 +145,7 @@ setlocale(LC_MONETARY, 'en_US'); $value = number_format(doubleval($row[0]), 2); $agency = stripslashes($row[1]); - echo ("{$agency}\$$value\n"); + echo("{$agency}\$$value\n"); } echo ""; } --- a/displaySON.php +++ b/displaySON.php @@ -9,7 +9,11 @@ $title = reset($query->fetchAll())['title']; include_header($title); echo "

" . $_REQUEST['SONID'] . " - " . $title . "

"; - + echo '
View original record @ tenders.gov.au
'; + /* + * Procurement method in text, seperate Open via SON from Open + * Consultancies, Confidentialities percentage + */ $query = 'SELECT category, min("categoryUNSPSC") AS "categoryUNSPSC", count(*) AS count, sum(value) AS value FROM contractnotice WHERE "SONID" = :SONID @@ -45,7 +49,6 @@ $query->bindParam(":SONID", $_REQUEST['SONID']); $query->execute(); databaseError($conn->errorInfo()); - echo '
View original record @ tenders.gov.au
'; echo "

Suppliers

@@ -100,7 +103,7 @@ split by main categories */ include_header("Standing Offers"); - $query = 'SELECT sum(value), count(*), contractnotice."SONID", min(title) AS title + $query = 'SELECT sum(value), count(*), contractnotice."SONID", min(title) AS title, text_mode(category) as category FROM contractnotice INNER JOIN standingoffers ON contractnotice."SONID" = standingoffers."SONID" WHERE ' . $yearQ . ' "childCN" IS NULL AND contractnotice."SONID" != \'\' GROUP BY contractnotice."SONID" ORDER BY sum(VALUE) DESC '; @@ -110,6 +113,7 @@ echo "
+ @@ -117,7 +121,9 @@ foreach ($query->fetchAll() as $row) { setlocale(LC_MONETARY, 'en_US'); $value = number_format(doubleval($row['sum']), 2); - echo(""); + $title = $row['SONID']; + if (strlen($row['title']) > 1) $title = $row['title']; + echo(""); } echo "
SONIDMain category Total Contracts Value Number of Contracts
{$row['title']}\$$value{$row['count']}
$title{$row['category']}\$$value{$row['count']}
"; } --- a/displaySupplier.php +++ b/displaySupplier.php @@ -14,8 +14,15 @@ } include_header(str_replace("%", "", $title)); echo '

' . str_replace("%", "", $title) . '

'; +if ($supplierABN) { + $query = 'SELECT distinct on (lower("supplierName")) "supplierName" from contractnotice where "supplierABN" = :supplierABN'; + $query = $conn->prepare($query); + $query->bindParam(":supplierABN", $supplierABN); + $query->execute(); + databaseError($conn->errorInfo()); + echo "Also known as: ".implode(', ', $query->fetchAll(PDO::FETCH_COLUMN, 0)); +} /* - * Common names and uncommon names * Procurement method in text, seperate Open via SON from Open * Consultancies, Confidentialities percentage */ --- a/lib/common.inc.php +++ b/lib/common.inc.php @@ -4,7 +4,7 @@ error_reporting(E_ALL ^ E_NOTICE); -$conn = new PDO("pgsql:dbname=contractdashboard;user=alex;host=localhost"); +$conn = new PDO("pgsql:dbname=contractdashboard;user=postgres;password=snmc;host=localhost"); if (!$conn) { die("A database error occurred.\n");