/** * * @param unknown $wardId * @param unknown $type * @param unknown $startDate * @param unknown $endDate * @return array */ public static function getRaportBetweenDates($wardId, $type, $startDate, $endDate) { $em = DoctrineBootstrap::getEntityManager(); $em->getConfiguration()->addCustomDatetimeFunction('DATE', 'Hospitalplugin\\DQLFunctions\\DateFunction'); $dql = PatientRaport::getQuery($type); $allResults = array(); foreach ($dql as $query) { $result = $em->createQuery($query)->setParameter(1, $startDate)->setParameter(2, $endDate)->setParameter(3, $wardId)->getResult(); $allResults = array_merge($result, $allResults); } $table = array(); foreach ($allResults as $row) { $table[$row['data']][$row['kategoria']] = $row['suma']; } return $table; }
static function fillData($objPHPExcel) { // no time limit for this script set_time_limit(0); $time_start = microtime(true); // remove first default sheet $objPHPExcel->removeSheetByIndex(0); // get wards $wards = WardCRUD::getWardsArray(); foreach ($wards as $ward) { ExcelExport::newSheet($objPHPExcel); $wardName = $ward->name . " (" . $ward->getTypOddzialu() . ")"; ExcelExport::printTitle($objPHPExcel, $wardName); $data = ExcelExportPunction::getData($ward->id, $ward->getTypOddzialu()); $cols = PatientRaport::getColumns($ward->getTypOddzialu()); ExcelExportPunction::printHeaders($objPHPExcel, $cols); ExcelExportPunction::printData($objPHPExcel, $data, $ward->getTypOddzialu()); ExcelExport::styleActiveSheet($objPHPExcel); } ExcelExportPunction::fillSummary($objPHPExcel); $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(0, 100, "summary " . ($time_start - microtime(true)) . " s"); }