protected function footer($objPHPExcel, $start, $file_name, $format, $html_title) { $start++; $jemaat = get_jemaat_from_user_id(Yii::app()->user->getId()); $objPHPExcel->setActiveSheetIndex(0)->mergeCells("A{$start}:G{$start}")->setCellValue("A{$start}", "Dicetak oleh: " . $jemaat->real_name); $start++; $objPHPExcel->setActiveSheetIndex(0)->mergeCells("A{$start}:G{$start}")->setCellValue("A{$start}", "Pada tanggal " . get_date_today('dd/MM/yyyy') . " jam " . get_time_now()); ob_end_clean(); ob_start(); if ($format == 'excel') { header('Content-Type: application/vnd.ms-excel'); header("Content-Disposition: attachment;filename={$file_name}.xls"); header('Cache-Control: max-age=0'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output'); } else { $objPHPExcel->getActiveSheet()->setShowGridlines(false); $mPDF1 = Yii::app()->ePdf->mpdf(); $mPDF1 = Yii::app()->ePdf->mpdf('', 'A4'); $objWriter = new PHPExcel_Writer_HTML($objPHPExcel); $header = $objWriter->generateHTMLHeader(true); $header = str_replace("<body>", "<body onload='window.print();'>", $header); $header = str_replace("Untitled Spreadsheet", $html_title, $header); $html = $header . $objWriter->generateStyles(true) . $objWriter->generateSheetData() . $objWriter->generateHTMLFooter(); if ($format == 'pdf') { $mPDF1->WriteHTML($html); $mPDF1->Output('MutasiKasDitangan.pdf', 'D'); } else { echo $html; } } }
public function actionView() { global $systypes_array; //require_once(Yii::app()->basePath . '/vendors/frontaccounting/ui.inc'); $bfw = Pe::get_balance_before_for_bank_account($_POST['from_date'], $_POST['bank_act']); $arr['data'][] = array('type' => 'Saldo Awal - ' . sql2date($_POST['from_date']), 'ref' => '', 'tgl' => '', 'debit' => $bfw >= 0 ? number_format($bfw, 2) : '', 'kredit' => $bfw < 0 ? number_format($bfw, 2) : '', 'neraca' => '', 'person' => ''); $credit = $debit = 0; $running_total = $bfw; if ($bfw > 0) { $debit += $bfw; } else { $credit += $bfw; } $result = Pe::get_bank_trans_for_bank_account($_POST['bank_act'], $_POST['from_date'], $_POST['to_date']); foreach ($result as $myrow) { $running_total += $myrow->amount; $jemaat = get_jemaat_from_user_id($myrow->users_id); $arr['data'][] = array('type' => $systypes_array[$myrow->type], 'ref' => $myrow->ref, 'tgl' => sql2date($myrow->trans_date), 'debit' => $myrow->amount >= 0 ? number_format($myrow->amount, 2) : '', 'kredit' => $myrow->amount < 0 ? number_format(-$myrow->amount, 2) : '', 'neraca' => number_format($running_total, 2), 'person' => $jemaat->real_name); if ($myrow->amount > 0) { $debit += $myrow->amount; } else { $credit += $myrow->amount; } } $arr['data'][] = array('type' => 'Saldo Akhir - ' . sql2date($_POST['to_date']), 'ref' => '', 'tgl' => '', 'debit' => number_format($debit, 2), 'kredit' => number_format(-$credit, 2), 'neraca' => number_format($debit + $credit, 2), 'person' => ''); echo CJSON::encode($arr); Yii::app()->end(); }
static function get_payee_payoor($type, $id) { switch ($type) { case KAS_MASUK: $model = PahKasMasuk::model()->findAllByPk($id); return $model->PahDonatur->name; break; case KAS_KELUAR: $model = PahKasKeluar::model()->findAllByPk($id); return $model->PahSuppliers->supp_name; break; case AKTIVITAS: $model = PahAktivitas::model()->findAllByPk($id); return $model->PahSuppliers->supp_name; break; case BANKTRANSFER: $criteria = new CDbCriteria(); $criteria->addCondition('type=' . BANKTRANSFER); $criteria->addCondition("trans_no={$id}"); $model = PahBankTrans::model()->find($criteria); $jemaat = get_jemaat_from_user_id($model->users_id); return $jemaat->real_name; break; case VOID: $criteria = new CDbCriteria(); $criteria->addCondition('type=' . VOID); $criteria->addCondition("trans_no={$id}"); $model = PahBankTrans::model()->find($criteria); $jemaat = get_jemaat_from_user_id($model->users_id); return $jemaat->real_name; break; case SALDO_AWAL: $criteria = new CDbCriteria(); $criteria->addCondition('type=' . SALDO_AWAL); $criteria->addCondition("trans_no={$id}"); $model = PahBankTrans::model()->find($criteria); $jemaat = get_jemaat_from_user_id($model->users_id); return $jemaat->real_name; break; case T_AKTIVITASGRUP: $model = PahAktivitasGrupTrans::model()->findAllByPk($id); return $model->PahSuppliers->supp_name; break; } }
public function actionPengeluaranPerKodeRekeningDetil() { if (Yii::app()->request->isAjaxRequest) { return; } if (isset($_POST) && !empty($_POST)) { $format = $_POST['format']; $start_date = $_POST['trans_date_mulai']; $end_date = $_POST['trans_date_sampai']; $kode = $_POST['account_code']; $daftar_code = Pah::get_arr_kode_rekening_pengeluaran($kode); $index = 0; $objPHPExcel = new PHPExcel(); $objPHPExcel->getDefaultStyle()->getFont()->setSize(10); $file_name = 'PengeluaranPerKodeRekeningDetil'; foreach ($daftar_code as $key => $codename) { $start = 1; $worksheet_name = "{$key} - {$codename}"; if ($index > 0) { $objPHPExcel->createSheet($index); } $objPHPExcel->setActiveSheetIndex($index); $objPHPExcel->getActiveSheet()->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4); $objPHPExcel->getActiveSheet()->getPageMargins()->setLeft(0.1 / 2.54); $objPHPExcel->getActiveSheet()->getPageMargins()->setRight(0.1 / 2.54); $objPHPExcel->getActiveSheet()->mergeCells("A{$start}:G{$start}")->setCellValue("A{$start}", "LAPORAN DETIL PENGELUARAN " . strtoupper($codename))->getStyle("A{$start}")->getFont()->setSize(18)->setBold(true); $start++; $objPHPExcel->getActiveSheet()->mergeCells("A{$start}:G{$start}")->setCellValue("A{$start}", "PONDOK ASUH HARAPAN")->getStyle("A{$start}")->getFont()->setSize(14)->setBold(true); $start++; $objPHPExcel->getActiveSheet()->mergeCells("A{$start}:G{$start}")->setCellValue("A{$start}", "PERIODE: " . sql2long_date($start_date) . " - " . sql2long_date($end_date))->getStyle("A{$start}")->getFont()->setSize(12)->setBold(true); $objPHPExcel->getActiveSheet()->setTitle($worksheet_name); $start++; $start++; $start_body = $start; $objPHPExcel->getActiveSheet()->setCellValue("A{$start}", "Tgl")->setCellValue("B{$start}", "Keterangan")->setCellValue("C{$start}", "Debit")->setCellValue("D{$start}", "Kredit")->getStyle("A{$start}:D{$start}")->getFont()->setBold(true); $start++; $rows = Pah::get_pengeluaran_detil_kode_rekening($start_date, $end_date, $key); $total = Pah::get_total_pengeluaran($start_date, $end_date, $key); $total_persen = 0; foreach ($rows as $row) { // $total_persen += $row['total_beban'] / $total; // $total_beban = $row['total_beban']; // $persen = $row['total_beban'] / $total; $objPHPExcel->getActiveSheet()->setCellValue("A{$start}", $row['tran_date'])->setCellValue("B{$start}", $row['memo_'])->setCellValue("C{$start}", $row['debit'])->setCellValue("D{$start}", $row['kredit']); $start++; } //$total_format = $format == 'excel' ? $total : acc_format($total); $objPHPExcel->getActiveSheet()->setCellValue("A{$start}", 'Total')->setCellValue($total > 0 ? "C{$start}" : "D{$start}", $total); // ->setCellValue("C$start", $format == 'excel' ? $total_persen : percent_format($total_persen, 2)); $start++; $end_body = $start - 1; $styleArray = array('borders' => array('allborders' => array('style' => PHPExcel_Style_Border::BORDER_THIN))); $objPHPExcel->getActiveSheet()->getStyle("A{$start_body}:D{$end_body}")->applyFromArray($styleArray); $start_row = $start_body + 1; $objPHPExcel->getActiveSheet()->getStyle("C{$start_row}:D{$end_body}")->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_ACCOUNTING); // $objPHPExcel->getActiveSheet()->getStyle("C$start_row:C$end_body")->getNumberFormat() // ->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_PERCENTAGE_00); $objPHPExcel->getActiveSheet()->getColumnDimension("A")->setAutoSize(true); $objPHPExcel->getActiveSheet()->getColumnDimension("B")->setAutoSize(true); $objPHPExcel->getActiveSheet()->getColumnDimension("C")->setAutoSize(true); $objPHPExcel->getActiveSheet()->getColumnDimension("D")->setAutoSize(true); $objPHPExcel->getActiveSheet()->getColumnDimension("E")->setAutoSize(true); $start++; $jemaat = get_jemaat_from_user_id(Yii::app()->user->getId()); $objPHPExcel->getActiveSheet()->mergeCells("A{$start}:G{$start}")->setCellValue("A{$start}", "Dicetak oleh: " . $jemaat->real_name); $start++; $objPHPExcel->getActiveSheet()->mergeCells("A{$start}:G{$start}")->setCellValue("A{$start}", "Pada tanggal " . get_date_today('dd/MM/yyyy') . " jam " . get_time_now()); $index++; } ob_end_clean(); ob_start(); header('Content-Type: application/vnd.ms-excel'); header("Content-Disposition: attachment;filename={$file_name}.xls"); header('Cache-Control: max-age=0'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output'); Yii::app()->end(); } }