More value heuristics
[contractdashboard.git] / heuristics / dateHeuristics.php
blob:a/heuristics/dateHeuristics.php -> blob:b/heuristics/dateHeuristics.php
--- a/heuristics/dateHeuristics.php
+++ b/heuristics/dateHeuristics.php
@@ -20,27 +20,32 @@
 $averageContractPeriod;
 function getAverageContractPeriod()
 {
-	global $averageContractPeriod;
+	global $averageContractPeriod, $stddevContractPeriod;
 	if (!$averageContractPeriod) {
-		$query = "select AVG(dateDiff(contractEnd,contractStart)) from contractnotice";
-		$result = mysql_query($query);
-		$r = mysql_fetch_array($result, MYSQL_BOTH);
-		$averageContractPeriod = $r[0];
+		getStddevAverageContractPeriod();
 	}
 	return $averageContractPeriod;
 }
 $stddevContractPeriod;
 function getstddevContractPeriod()
 {
-	global $stddevContractPeriod;
+	global $averageContractPeriod, $stddevContractPeriod;
 	if (!$stddevContractPeriod) {
-		$query = "select STDDEV(dateDiff(contractEnd,contractStart)) from contractnotice";
-		$result = mysql_query($query);
-		$r = mysql_fetch_array($result, MYSQL_BOTH);
-		$stddevContractPeriod = $r[0];
+		getStddevAverageContractPeriod();
 	}
 	return $stddevContractPeriod;
 }
+function getStddevAverageContractPeriod()
+{
+	global $averageContractPeriod, $stddevContractPeriod;
+	$query = "select AVG(dateDiff(contractEnd,contractStart)),stddev(dateDiff(contractEnd,contractStart)) from contractnotice";
+	$result = mysql_query($query);
+	$r = mysql_fetch_array($result, MYSQL_BOTH);
+	$averageContractPeriod = $r[0];
+	$stddevContractPeriod = $r[1];
+}
+
+
 //Reported late, 45 days? A late contract is a dodgy contract except maybe for variations?
 $heuristics["DATE_REPORTED_LATE"] = Array(
 	"description" => "Reported late, 45 days?"
@@ -70,10 +75,7 @@
 {
 	global $averageDaysLate;
 	if (!$averageDaysLate) {
-		$query = "select AVG(dateDiff(publishDate,contractStart)) from contractnotice";
-		$result = mysql_query($query);
-		$r = mysql_fetch_array($result, MYSQL_BOTH);
-		$averageDaysLate = $r[0];
+            getDaysLate();
 	}
 	return $averageDaysLate;
 }
@@ -82,11 +84,19 @@
 {
 	global $stddevDaysLate;
 	if (!$stddevDaysLate) {
-		$query = "select STDDEV(dateDiff(publishDate,contractStart)) from contractnotice";
-		$result = mysql_query($query);
-		$r = mysql_fetch_array($result, MYSQL_BOTH);
-		$stddevDaysLate = $r[0];
+	getDaysLate();
 	}
 	return $stddevDaysLate;
 }
+function getDaysLate() {
+    
+	global $averageDaysLate,$stddevDaysLate;
+    
+    		$query = "select AVG(dateDiff(publishDate,contractStart)), STDDEV(dateDiff(publishDate,contractStart)) from contractnotice";
+		$result = mysql_query($query);
+		$r = mysql_fetch_array($result, MYSQL_BOTH);
+		$averageDaysLate = $r[0];
+                	$stddevDaysLate = $r[1];
+
+}
 ?>