<?php |
<?php |
include_once ("./lib/common.inc.php"); |
|
if ($_REQUEST['agency']) { |
|
|
|
include_header("Agency"); |
|
$agency = htmlentities(strip_tags($_REQUEST['agency'])); |
|
echo '<img src="graphs/displayMethodCountGraph.php?agency=' . stripslashes($agency) . '">'; |
|
echo '<img src="graphs/displayCnCGraph.php?agency=' . stripslashes($agency) . '">'; |
|
echo '<img src="graphs/displayMethodValueGraph.php?agency=' . stripslashes($agency) . '">'; |
|
/*biggest contracts |
|
spending by year |
|
spending by industry/category |
|
spending by supplier |
|
|
|
spread procurement methods (stacked bar graph) |
|
+ percent consultancies + percent confidential (bar graph) |
|
|
|
Average value by procurement type |
|
|
|
--- info |
|
website, procurement plan, annual reports |
|
Breakdown of divisions/branches |
|
Breakdown percentage,number,value by procurement type |
|
Histograph, overlaying number value reported per week over X years |
|
Compliance statistics: amendments, delay in reporting average and number completely late*/ |
|
} else { |
|
/* |
|
split by portfolio |
|
*/ |
|
include_header("Agencies"); |
|
$query = "SELECT SUM(value), agencyName |
|
FROM `contractnotice` |
|
WHERE childCN = 0 |
|
GROUP BY agencyName "; |
|
$result = mysql_query($query); |
|
echo "<table>"; |
|
while ($row = mysql_fetch_array($result, MYSQL_BOTH)) { |
|
setlocale(LC_MONETARY, 'en_US'); |
|
$value = number_format(doubleval($row[0]) , 2); |
|
$agency = stripslashes($row[1]); |
|
echo ("<tr><td><b><a href=\"displayAgency.php?agency={$agency}\">{$agency}</a></b></td><td>\$$value</td></tr>\n"); |
|
} |
|
echo "</table>"; |
|
mysql_free_result($result); |
|
} |
|
include_footer(); |
|
?> |
|
|
|
|
include_once("./lib/common.inc.php"); |
|
if ($_REQUEST['agency']) { |
|
|
|
$agency = htmlentities(strip_tags($_REQUEST['agency'])); |
|
include_header($agency); |
|
echo '<center><h1>' . $agency . '</h1></center>'; |
|
|
|
$query = ' |
|
SELECT |
|
sum((consultancy = \'Yes\')::int) AS consultancy, |
|
sum(("confidentialityContract" = \'Yes\')::int) AS "confidentialityContract", |
|
sum(("confidentialityOutputs" = \'Yes\')::int) AS "confidentialityOutputs", |
|
sum((("procurementMethod" = \'Open\' OR "procurementMethod" = \'Open tender\') AND "SONID" IS null)::int) AS open, |
|
sum((("procurementMethod" = \'Open\' OR "procurementMethod" = \'Open tender\') AND "SONID" IS NOT null)::int) AS "openSON", |
|
sum(("procurementMethod" = \'Prequalified tender\' OR "procurementMethod" = \'Select\')::INT) AS prequalified, |
|
sum(("procurementMethod" = \'Direct\' OR "procurementMethod" = \'Limited tender\')::int) AS limited, |
|
sum("value") as total_value, |
|
COUNT(*) AS total |
|
FROM contractnotice |
|
WHERE "agencyName" LIKE :agency AND ' . " $yearQ $standardQ " ; |
|
$query = $conn->prepare($query); |
|
$query->bindParam(":agency", $agency); |
|
$query->execute(); |
|
databaseError($conn->errorInfo()); |
|
|
|
$stats = reset($query->fetchAll()); |
|
show_stats($stats); |
|
/* |
|
|
|
Compliance statistics: amendments, delay in reporting average and number completely late */ |
|
|
|
$query = 'SELECT category, min("categoryUNSPSC") AS "categoryUNSPSC", count(*) AS count, sum(value) AS value FROM contractnotice |
|
WHERE "agencyName" LIKE :agency AND ' . " $yearQ $standardQ " . ' GROUP BY category ORDER BY count(*) DESC LIMIT 10'; |
|
$query = $conn->prepare($query); |
|
$query->bindParam(":agency", $agency); |
|
$query->execute(); |
|
databaseError($conn->errorInfo()); |
|
echo "<h3>Categories</h3><table> <thead> |
|
<tr> |
|
<th>Category</th> |
|
<th>Contracts Count</th> |
|
<th>Total Contract Value</th> |
|
</tr> |
|
</thead>"; |
|
foreach ($query->fetchAll() as $row) { |
|
setlocale(LC_MONETARY, 'en_US'); |
|
$value = number_format(doubleval($row['value']), 2); |
|
$category = urlencode($row['category']); |
|
echo("<tr> |
|
<td><B><a href='displayCategory.php?category=$category'>{$row['category']}</a></b></td> |
|
<td>{$row['count']}</td> |
|
<td>\$$value</td> |
|
</tr>"); |
|
} |
|
echo "</table><br/>"; |
|
|
|
$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 ' . " $yearQ $standardQ " . '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 .= "<tr> |
|
<td><B><a href=\"displaySON.php?SONID={$row['SONID']}\">{$row['title']}</a></b></td> |
|
<td>{$row['count']}</td> |
|
<td>\$$value</td> |
|
</tr>"; |
|
} |
|
if (strlen($sonrows) > 1) { |
|
echo "<h3>Standing Offers/Panels</h3><table> <thead> |
|
<tr> |
|
<th>Standing Offer</th> |
|
<th>Contracts Count</th> |
|
<th>Total Contract Value</th> |
|
</tr> |
|
</thead>$sonrows</table><br/>"; |
|
} |
|
|
|
$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); |
|
$query->execute(); |
|
databaseError($conn->errorInfo()); |
|
echo "<h3>Suppliers</h3><table> <thead> |
|
<tr> |
|
<th>Supplier</th> |
|
<th>Contracts Count</th> |
|
<th>Total Contract Value</th> |
|
</tr> |
|
</thead>"; |
|
foreach ($query->fetchAll() as $row) { |
|
setlocale(LC_MONETARY, 'en_US'); |
|
$value = number_format(doubleval($row['value']), 2); |
|
$supplierID = $row['supplierABN'] . '-' . urlencode($row['supplierName']); |
|
echo("<tr> |
|
<td><B><a href=\"displaySupplier.php?supplier=$supplierID\" >{$row['supplierName']}</a></b></td> |
|
<td>{$row['count']}</td> |
|
<td>\$$value</td> |
|
</tr>"); |
|
} |
|
echo "</table><br/>"; |
|
|
|
$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'; |
|
$query = $conn->prepare($query); |
|
$query->bindParam(":agency", $agency); |
|
$query->execute(); |
|
databaseError($conn->errorInfo()); |
|
|
|
echo "<h3>Contracts</h3><table> <thead> |
|
<tr> |
|
<th>Contract Notice Number</th> |
|
<th>Contract Description</th> |
|
<th>Total Contract Value</th> |
|
<th>Agency</th> |
|
<th>Contract Start Date</th> |
|
<th>Supplier</th> |
|
</tr> |
|
</thead>"; |
|
foreach ($query->fetchAll() as $row) { |
|
setlocale(LC_MONETARY, 'en_US'); |
|
$value = number_format(doubleval($row['value']), 2); |
|
echo("<tr> |
|
<td><a href=\"displayContract.php?CNID={$row['CNID']}\">{$row['CNID']}</a></td> |
|
<td><b>{$row['description']}</b></a></td> |
|
<td>\$$value</td><td>{$row['agencyName']}</td> |
|
<td>{$row['contractStart']}</td> |
|
<td>{$row['supplierName']}</td> |
|
</tr>"); |
|
} |
|
echo "</table>"; |
|
} else { |
|
/* |
|
split by portfolio |
|
*/ |
|
include_header("Agencies"); |
|
agenciesGraph(); |
|
$query = 'SELECT SUM("value"), "agencyName" |
|
FROM contractnotice |
|
WHERE ' . $yearQ . ' "childCN" IS NULL |
|
GROUP BY "agencyName" '; |
|
$query = $conn->prepare($query); |
|
$query->execute(); |
|
databaseError($conn->errorInfo()); |
|
echo "<table> <thead> |
|
<tr> |
|
<th>Agency</th> |
|
<th>Total Contracts Value</th> |
|
</tr> |
|
</thead>"; |
|
foreach ($query->fetchAll() as $row) { |
|
setlocale(LC_MONETARY, 'en_US'); |
|
$value = number_format(doubleval($row[0]), 2); |
|
$agency = stripslashes($row[1]); |
|
echo("<tr><td><b><a href=\"displayAgency.php?agency={$agency}\">{$agency}</a></b></td><td>\$$value</td></tr>\n"); |
|
} |
|
echo "</table>"; |
|
} |
|
include_footer(); |
|
?> |
|
|