public function actionGetSaldo() { if (!Yii::app()->request->isAjaxRequest) { return; } if (isset($_POST) && !empty($_POST)) { $bulan = $_POST['bulan']; $tahun = $_POST['tahun']; if ($bulan === '' || $tahun === '') { echo CJSON::encode(array('success' => false, 'msg' => 'Bulan atau Tahun periode tidak boleh kosong.')); Yii::app()->end(); } // $bank_act = PePrefs::BankOnHand(); $periode = period2date($bulan, $tahun); $start_date = $periode['start']; $end_date = $periode['end']; $sisa_anggaran = Pe::get_balance_before_for_bank_account($tahun . "-" . $bulan . "-1"); $total_saldo = Pe::get_total_pendapatan($start_date, $end_date); $saldo_skrg = $total_saldo + $sisa_anggaran; echo CJSON::encode(array('success' => true, 'sisa' => $sisa_anggaran, 'current' => $total_saldo, 'total' => $saldo_skrg)); Yii::app()->end(); } }
public function actionTanggungJawab() { if (Yii::app()->request->isAjaxRequest) { return; } if (isset($_POST) && !empty($_POST)) { $format = $_POST['format']; $bulan = $_POST['periode_bulan']; $tahun = $_POST['periode_tahun']; $periode = period2date($bulan, $tahun); $start_date = $periode['start']; $end_date = $periode['end']; $start = 1; $file_name = 'Pertanggungjawaban'; $worksheet_name = 'Pertanggungjawaban'; $objPHPExcel = new PHPExcel(); $objPHPExcel->setActiveSheetIndex(0)->mergeCells("A{$start}:G{$start}")->setCellValue("A{$start}", "PERIODE: " . date2longperiode($start_date, 'MMMM yyyy'))->getStyle("A{$start}")->getFont()->setSize(12)->setBold(true); $objPHPExcel->getActiveSheet()->setTitle($worksheet_name); $start++; $start++; $start_body = $start; $saldo_awal_kas = Pe::get_balance_before_for_bank_account("{$tahun}-{$bulan}-01"); $index_kas_masuk = $start; $objPHPExcel->setActiveSheetIndex(0)->mergeCells("A{$start}:C{$start}")->setCellValue("A{$start}", "Saldo Kas per " . date2longperiode($start_date, 'd MMMM yyyy'))->setCellValue("D{$start}", $format == 'excel' ? $saldo_awal_kas : acc_format($saldo_awal_kas)); $start++; $total_pendapatan = Pe::get_total_pendapatan($start_date, $end_date); $index_total_pendapatan = $start; $objPHPExcel->setActiveSheetIndex(0)->mergeCells("A{$start}:C{$start}")->setCellValue("A{$start}", "Penerimaan")->setCellValue("D{$start}", $format == 'excel' ? $total_pendapatan : acc_format($total_pendapatan)); $start++; $objPHPExcel->setActiveSheetIndex(0)->mergeCells("A{$start}:C{$start}")->setCellValue("A{$start}", "Pengeluaran"); $rows = Pe::get_pengeluaran_per_kode_rekening($start_date, $end_date); $start++; $total_pengeluaran = 0; $start_pengeluaran = $start; foreach ($rows as $row) { $total_beban = $format == 'excel' ? $row['total_beban'] : acc_format($row['total_beban']); $total_pengeluaran += $row['total_beban']; $objPHPExcel->setActiveSheetIndex(0)->setCellValue("B{$start}", $row['account_code'] . " " . $row['nama_rekening'])->setCellValue("C{$start}", $total_beban); $start++; } $end_pengeluaran = $start - 1; $total_pengeluaran = $format == 'excel' ? $total_pengeluaran : acc_format($total_pengeluaran); $objPHPExcel->setActiveSheetIndex(0)->mergeCells("B{$start}:C{$start}")->setCellValue("B{$start}", "Total Pengeluaran")->setCellValue("D{$start}", $total_pengeluaran)->getStyle("B{$start}:D{$start}")->getFont()->setBold(true); $index_total_pengeluaran = $start; $start++; $saldo_akhir_kas = Pe::get_balance_before_for_bank_account("{$tahun}-" . ($bulan + 1) . "-01"); $index_kas_akhir = $start; $objPHPExcel->setActiveSheetIndex(0)->mergeCells("A{$start}:C{$start}")->setCellValue("A{$start}", "Total Kas per " . date2longperiode($end_date, 'dd MMMM yyyy'))->setCellValue("D{$start}", $format == 'excel' ? $saldo_akhir_kas : acc_format($saldo_akhir_kas)); $end_body = $start; $start++; $styleArray = array('borders' => array('allborders' => array('style' => PHPExcel_Style_Border::BORDER_THIN))); $objPHPExcel->setActiveSheetIndex(0)->getStyle("A{$start_body}:D{$end_body}")->applyFromArray($styleArray); $start_row = $start_pengeluaran + 1; if ($format == 'excel') { $objPHPExcel->setActiveSheetIndex(0)->getStyle("D{$index_kas_masuk}")->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_ACCOUNTING); $objPHPExcel->setActiveSheetIndex(0)->getStyle("D{$index_total_pendapatan}")->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_ACCOUNTING); $objPHPExcel->setActiveSheetIndex(0)->getStyle("C{$start_pengeluaran}:C{$end_pengeluaran}")->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_ACCOUNTING); $objPHPExcel->setActiveSheetIndex(0)->getStyle("D{$index_total_pengeluaran}")->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_ACCOUNTING); $objPHPExcel->setActiveSheetIndex(0)->getStyle("D{$index_kas_akhir}")->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_ACCOUNTING); } else { $objPHPExcel->setActiveSheetIndex(0)->getStyle("D{$index_kas_masuk}")->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT); $objPHPExcel->setActiveSheetIndex(0)->getStyle("D{$index_total_pendapatan}")->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT); $objPHPExcel->setActiveSheetIndex(0)->getStyle("C{$start_pengeluaran}:C{$end_pengeluaran}")->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT); $objPHPExcel->setActiveSheetIndex(0)->getStyle("D{$index_total_pengeluaran}")->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT); $objPHPExcel->setActiveSheetIndex(0)->getStyle("D{$index_kas_akhir}")->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT); } $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension("A")->setWidth(5); $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension("B")->setAutoSize(true); $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension("C")->setAutoSize(true); $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension("D")->setAutoSize(true); $this->footer($objPHPExcel, $start, $file_name, $format, "Laporan Pertanggungjawaban"); Yii::app()->end(); } }