Implementing Shipment reports

This commit is contained in:
Karl Cordes 2011-09-27 13:47:36 +10:00
parent 2ebda7e86a
commit aea86e55ca
4 changed files with 96 additions and 7 deletions

View file

@ -118,6 +118,31 @@ class AppController extends Controller {
} }
/**
*
* @param <type> $year
* @param <type> $prevYear
* @return <type>
*/
function getFirstDayFY($year,$prevYear = false) {
if($prevYear == false) {
return mktime(0,0,0,7,1,$year);
}
else {
return mktime(0,0,0,7,1,$year-1);
}
}
/**
*
* @param <type> $year
* @return <int>
*/
function getLastDayFY($year) {
return mktime(23,59,59,6,30,$year);
}

View file

@ -352,7 +352,7 @@ class JobsController extends AppController {
* @param <type> $year * @param <type> $year
* @param <type> $prevYear * @param <type> $prevYear
* @return <type> * @return <type>
*/
function getFirstDayFY($year,$prevYear = false) { function getFirstDayFY($year,$prevYear = false) {
if($prevYear == false) { if($prevYear == false) {
return mktime(0,0,0,7,1,$year); return mktime(0,0,0,7,1,$year);
@ -362,11 +362,15 @@ class JobsController extends AppController {
return mktime(0,0,0,7,1,$year-1); return mktime(0,0,0,7,1,$year-1);
} }
} }
/**
*
*
* /**
* *
* @param <type> $year * @param <type> $year
* @return <type> * @return <int>
*/
function getLastDayFY($year) { function getLastDayFY($year) {
return mktime(23,59,59,6,30,$year); return mktime(23,59,59,6,30,$year);
@ -374,8 +378,7 @@ class JobsController extends AppController {
function getMonthsFY($year) { function getMonthsFY($year) {
} } */
function job_status_options() { function job_status_options() {

View file

@ -198,7 +198,7 @@ class ShipmentsController extends AppController {
} }
function markJobsSent() { function markJobsSent() {
@ -247,5 +247,65 @@ class ShipmentsController extends AppController {
} }
} }
function reports() {
$invoices = $this->Shipment->ShipmentInvoice->find('all',array('conditions'=>array('ShipmentInvoice.deferred_gst > 0')));
/*foreach($shipments as $shipment) {
foreach($shipment['ShipmentInvoice'] as $si) {
if($si['deferred_gst'] == 1) {
echo $si['deferred_gst_amount']."\n";
}
}
}*/
$Fyears = $this->getFinancialYears($invoices);
$this->set('Fyears',$Fyears);
$this->set('invoices', $invoices);
}
function getFinancialYears($shipments) {
$Fyears = array();
foreach($shipments as $shipment) {
$time = strtotime($shipment['Shipment']['created']);
$year = date('Y', $time); //ISO-8601 year number
$startFYunix = $this->getFirstDayFY($year); //1 July of $year.
if($time < $startFYunix) { //Date is before 1 July $year.
$lastYear = $year - 1;
if(!isset($Fyears[$year])) {
$Fyears[$year] = 1;
}
else {
$Fyears[$year]++;
}
}
else { //Date is After 1 July $year.
$nextYear = $year + 1;
if(!isset($Fyears[$nextYear])) {
$Fyears[$nextYear] = 1;
}
else {
$Fyears[$nextYear]++;
}
}
}
krsort($Fyears); //Sort the array in reverse order, most recent to oldest.
return $Fyears;
}
} }
?> ?>

View file

@ -1,5 +1,6 @@
$(function() { $(function() {
var model = $("#modelString").val();
$(".month").live('click',function(event) { $(".month").live('click',function(event) {
event.preventDefault(); event.preventDefault();