/** * * @param unknown_type $from * @param unknown_type $to */ private function _exportBalancePerAct($from, $to) { $begin_row = $this->_row; /* ------------------- EXPORTATION OF THE BALANCE PER ACT --------------------------*/ $active_sheet = $this->getDocument()->getActiveSheet(); $act_values = Statistics::getValuesByAct($from, $to); /*------------------------------ TITLE -----------------------------*/ $active_sheet->getCell('A' . $this->_row)->setValue($this->_translate('Balance per act')); $active_sheet->mergeCells('A' . $this->_row . ':D' . $this->_row); $active_sheet->getStyle('A' . $this->_row)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $active_sheet->getStyle('A' . $this->_row)->getFont()->setBold(true); $active_sheet->getStyle('A' . $this->_row)->getFill()->applyFromArray(array('type' => PHPExcel_Style_Fill::FILL_SOLID, 'startcolor' => array('rgb' => '808080'), 'endcolor' => array('rgb' => '808080'))); /*----------------------------- END TITLE ---------------------------*/ $this->nextLine(); /*------------------------------ HEADER -----------------------------*/ $active_sheet->getCellByColumnAndRow(0, $this->_row)->setValue($this->_translate('Acts')); $active_sheet->getCellByColumnAndRow(1, $this->_row)->setValue($this->_translate('Value')); $active_sheet->getCellByColumnAndRow(2, $this->_row)->setValue($this->_translate('Percentage')); $active_sheet->getCellByColumnAndRow(3, $this->_row)->setValue($this->_translate('Time')); $active_sheet->getStyle('A' . $this->_row . ':D' . $this->_row)->getFont()->setBold(true); $active_sheet->getStyle('B' . $this->_row . ':D' . $this->_row)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); /*----------------------------- END HEADER ---------------------------*/ $this->nextLine(); /*------------------------------ BODY -----------------------------*/ foreach ($act_values['act'] as $act_designation => $act_value_percentage) { $active_sheet->setCellValueByColumnAndRow(0, $this->_row, $act_designation); $active_sheet->setCellValueByColumnAndRow(1, $this->_row, $act_value_percentage['value']); $active_sheet->setCellValueByColumnAndRow(2, $this->_row, $act_value_percentage['percentage'] . '%'); $active_sheet->setCellValueByColumnAndRow(3, $this->_row, gmdate('G', $act_value_percentage['time']) . 'h' . gmdate('i', $act_value_percentage['time'])); $active_sheet->getStyle('B' . $this->_row . ':D' . $this->_row)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $this->nextLine(); } /*----------------------------- END BODY ---------------------------*/ /*------------------------------ FOOTER -----------------------------*/ $active_sheet->setCellValueByColumnAndRow(0, $this->_row, $this->_translate('Total')); $active_sheet->setCellValueByColumnAndRow(1, $this->_row, $act_values['total_value']); $active_sheet->setCellValueByColumnAndRow(2, $this->_row, '100%'); $active_sheet->setCellValueByColumnAndRow(3, $this->_row, gmdate('G', $act_values['total_time']) . 'h' . gmdate('i', $act_values['total_time'])); $active_sheet->getStyle('A' . $this->_row . ':D' . $this->_row)->getFont()->setBold(true); $active_sheet->getStyle('B' . $this->_row . ':D' . $this->_row)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $active_sheet->getStyle('A' . $this->_row . ':D' . $this->_row)->getFill()->applyFromArray(array('type' => PHPExcel_Style_Fill::FILL_SOLID, 'startcolor' => array('rgb' => 'C0C0C0'), 'endcolor' => array('rgb' => 'C0C0C0'))); /*----------------------------- END FOOTER ---------------------------*/ $active_sheet->getStyle('A' . ($begin_row + 1) . ':D' . $this->_row)->applyFromArray(array('borders' => array('allborders' => array('style' => PHPExcel_Style_Border::BORDER_THIN, 'color' => array('argb' => PHPExcel_Style_Color::COLOR_BLACK))))); }
/** * * @param sfWebRequest $request */ public function executeBalance(sfWebRequest $request, $xhr = true) { $this->userCulture = $this->getUser()->getCulture(); $from = $request->getParameter('from'); $to = $request->getParameter('to'); $this->from = $from; $this->to = $to; $this->xhr = $xhr; $this->currency_symbol = ImputationDefaultValues::getDefaultCurrencySymbol(); $this->positive_accounts = Statistics::getPositiveAccounts(); $this->negative_accounts = Statistics::getNegativeAccounts(); $total_accounts['value'] = $this->positive_accounts['value'] + $this->negative_accounts['value']; $total_accounts['number'] = $this->positive_accounts['number'] + $this->negative_accounts['number']; $this->total_accounts = $total_accounts; $this->methods_of_payments_values = Statistics::getTotalValuesByMethodOfPayment($from, $to); $this->acts_values = Statistics::getValuesByAct($from, $to); }