class/Report/AuditAssignmentList/AuditAssignmentList.php
<?php
namespace Homestead\Report\AuditAssignmentList;
use \Homestead\Report;
use \Homestead\iCsvReport;
use \Homestead\PdoFactory;
use \Homestead\CommandFactory;
/**
*
* @author Jeremy Booker
*/
class AuditAssignmentList extends Report implements iCsvReport {
const friendlyName = 'Audit Assignment List';
const shortName = 'AuditAssignmentList';
private $term;
private $rows;
public function setTerm($term)
{
$this->term = $term;
}
public function getTerm()
{
return $this->term;
}
public function execute()
{
$db = PdoFactory::getInstance()->getPdo();
$query = "SELECT hms_assignment.term, hms_assignment.banner_id, hms_hall_structure.banner_building_code, hms_hall_structure.banner_id as bed_code, hms_new_application.meal_plan FROM hms_assignment JOIN hms_hall_structure ON hms_assignment.bed_id = hms_hall_structure.bedid LEFT OUTER JOIN hms_new_application ON (hms_assignment.banner_id = hms_new_application.banner_id AND hms_assignment.term = hms_new_application.term) WHERE hms_assignment.term IN (:term) ORDER BY hms_assignment.term";
$stmt = $db->prepare($query);
$stmt->execute(array('term'=>$this->term));
$this->rows = $stmt->fetchAll(\PDO::FETCH_ASSOC);
}
public function getCsvColumnsArray()
{
return array('Term', 'Banner ID', 'Building Code', 'Bed ID', 'Meal Code');
}
public function getCsvRowsArray()
{
return $this->rows;
}
public function getDefaultOutputViewCmd()
{
$cmd = CommandFactory::getCommand('ShowReportCsv');
$cmd->setReportId($this->id);
return $cmd;
}
}