192 lines
9.5 KiB
PHP
192 lines
9.5 KiB
PHP
<?php
|
|
|
|
require_once '../../assets/excel/PHPExcel.php';
|
|
|
|
// koneksi ke database
|
|
|
|
include("../koneksi.php");
|
|
$thn=$_GET['thn'];
|
|
$cari_ba=$_GET['cari_ba'];
|
|
$nama_ba=$_GET['nama_ba'];
|
|
$tm1=$_GET['m'];
|
|
$tm1=str_replace('/','-',$tm1);
|
|
$tt1=date('Y',strtotime($tm1));
|
|
$bb1=date('m',strtotime($tm1));
|
|
$hh1=date('d',strtotime($tm1));
|
|
|
|
$ts1=$_GET['s'];
|
|
$ts1=str_replace('/','-',$ts1);
|
|
$tt2=date('Y',strtotime($ts1));
|
|
$bb2=date('m',strtotime($ts1));
|
|
$hh2=date('d',strtotime($ts1));
|
|
|
|
$objPHPExcel = new PHPExcel();
|
|
$objPHPExcel->getDefaultStyle()->getFont()->setName('Arial');
|
|
$objPHPExcel->getDefaultStyle()->getFont()->setSize(9);
|
|
$objPHPExcel->getDefaultStyle()->getAlignment()->setWrapText(true);
|
|
//$objPHPExcel->getDefaultStyle()->getNumberFormat()->setFormatCode('@');
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('A')->setWidth(5);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('B')->setWidth(22);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('C')->setWidth(11);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('D')->setWidth(40);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('E')->setWidth(40);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('F')->setWidth(22);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('G')->setWidth(24);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('H')->setWidth(33);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('I')->setWidth(11);
|
|
/*$objPHPExcel->getSheet(0)->getColumnDimension('F')->setWidth(12);*/
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('J')->setWidth(40);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('K')->setWidth(16.86);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('L')->setWidth(12.86);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('M')->setWidth(16.86);
|
|
|
|
|
|
$styleBold = array('font' => array('bold' => true));
|
|
$objPHPExcel->getSheet(0)->getStyle('A4:AB4')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
|
$objPHPExcel->getSheet(0)->getStyle('A4:AB4')->applyFromArray($styleBold);
|
|
$objPHPExcel->getSheet(0)->getRowDimension('1')->setRowHeight(15);
|
|
$objPHPExcel->getSheet(0)->setTitle('BA '.$nama_ba);
|
|
|
|
$objPHPExcel->getSheet(0)->getStyle('A1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
|
|
$objPHPExcel->getSheet(0)->setCellValue('A1', 'BERITA ACARA - '.$nama_ba);
|
|
$objPHPExcel->getActiveSheet()->getStyle('A1:AB1')->getAlignment()->setWrapText(false);
|
|
|
|
$objPHPExcel->getSheet(0)->getStyle('A2')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
|
|
$objPHPExcel->getSheet(0)->setCellValue('A2', 'Tanggal BA : '.$tm1.' s/d '.$ts1);
|
|
$objPHPExcel->getActiveSheet()->getStyle('A2:AB2')->getAlignment()->setWrapText(false);
|
|
|
|
|
|
$objPHPExcel->getSheet(0)
|
|
->setCellValue('A4', 'No')
|
|
->setCellValue('B4', 'Nomor BA')
|
|
->setCellValue('C4', 'Tanggal BA')
|
|
->setCellValue('D4', 'Pekerjaan')
|
|
->setCellValue('E4', 'Belanja')
|
|
->setCellValue('F4', 'No SP/SPK/Kwi')
|
|
->setCellValue('G4', 'Periode')
|
|
->setCellValue('H4', 'Penyedia')
|
|
->setCellValue('I4', 'Jabatan')
|
|
->setCellValue('J4', 'Keterangan')
|
|
->setCellValue('K4', 'Nilai BA')
|
|
->setCellValue('L4', 'PPN')
|
|
->setCellValue('M4', 'Nilai Realisasi');
|
|
|
|
|
|
$query = "SELECT b.nomor_ba,b.tanggal_ba,s.sub_kegiatan,s.kegiatan,p.kegiatan_pengadaan,p.no_sp,p.tgl_mulai_sp,p.tgl_selesai_sp,
|
|
COALESCE(n.nama,p.cad1),'Direktur',b.nilai_ba,l.ppn,COALESCE(l.nilai_pelunasan,0) as nilai_pelunasan,b.id,
|
|
CASE WHEN r.st_termin='termin' THEN
|
|
l.data_ke
|
|
ELSE '0' END,r.st_buku,r.st_termin,l.pph_21,l.pph_22,l.pph_23,l.pph_final
|
|
FROM riwayat_ba b
|
|
INNER JOIN pekerjaan p ON (p.id=b.pekerjaan_id)
|
|
INNER JOIN sub_kegiatan s ON (s.id=p.sub_kegiatan_id)
|
|
LEFT OUTER JOIN rekanan n ON (n.id=p.rekanan_id)
|
|
LEFT OUTER JOIN vr_pelunasan l ON (l.id=b.vr_pelunasan_id)
|
|
LEFT OUTER JOIN vr_realisasi r ON (r.id=l.vr_realisasi_id)
|
|
WHERE s.thn='$thn' AND b.berita_acara_id=$cari_ba AND p.no_sp NOT LIKE 'SPPD%'
|
|
AND b.tanggal_ba::DATE BETWEEN '$tt1-$bb1-$hh1' AND '$tt2-$bb2-$hh2'
|
|
";
|
|
$hasil = pg_query($query);
|
|
$baris = 5;
|
|
$a=1;
|
|
while ($r = pg_fetch_array($hasil))
|
|
{
|
|
if ($r[14]=='0') {$trm='';} else {$trm=' - '.strtoupper(($r['st_termin'].' '.$r[14]));}
|
|
|
|
if (($r['tgl_mulai_sp']==null) || ($r['tgl_mulai_sp']=='1970-01-01 00:00:00')) {$tg='';} else {
|
|
$tg=date('d-m-Y',strtotime($r['tgl_mulai_sp'])).' s/d '.date('d-m-Y',strtotime($r['tgl_selesai_sp'])); }
|
|
|
|
if (($r['tanggal_ba']=="1970-01-01 00:00:00") || ($r['tanggal_ba']==NULL) || ($r['tanggal_ba']=="")) {
|
|
$tba="-";} else {
|
|
$tba=date('d-m-Y',strtotime($r['tanggal_ba']));
|
|
}
|
|
/*
|
|
$rek=$r['ra'].' '.$r['rb'].' '.$r['rc'].' '.$r['rd'].' '.$r['re'].' '.$r['rf'].' '.$r['rg'].' '.$r['rh'];
|
|
*/
|
|
if ((isset($r['pph_21'])) && ($r['pph_21']!=0)) {
|
|
$pph=$r['pph_21'];
|
|
$pasal='21';
|
|
} else
|
|
if ((isset($r['pph_22'])) && ($r['pph_22']!=0)) {
|
|
$pph=$r['pph_22'];
|
|
$pasal='22';
|
|
} else
|
|
if ((isset($r['pph_23'])) && ($r['pph_23']!=0)) {
|
|
$pph=$r['pph_23'];
|
|
$pasal='23';
|
|
} else
|
|
if ((isset($r['pph_final'])) && ($r['pph_final']!=0)) {
|
|
$pph=$r['pph_final'];
|
|
$pasal='FNL';
|
|
} else {$pph=0;$pasal='';}
|
|
|
|
if ((isset($r['ppn'])) && ($r['ppn']!=0)) {$ppn=$r['ppn'];} else {$ppn=0;}
|
|
|
|
$objPHPExcel->getSheet(0)
|
|
->setCellValue('A'.$baris, $a)
|
|
->setCellValue('B'.$baris, $r[0])
|
|
->setCellValue('C'.$baris, $tba)
|
|
->setCellValue('D'.$baris, 'Sub kegiatan '.$r[2].' - '.$r[3].' - '.$r[4].''.$trm)
|
|
->setCellValue('E'.$baris, $r[3])
|
|
|
|
->setCellValue('F'.$baris, $r['no_sp'])
|
|
->setCellValue('G'.$baris, $tg)
|
|
->setCellValue('H'.$baris, $r[8])
|
|
->setCellValue('I'.$baris, 'DIREKTUR')
|
|
->setCellValue('J'.$baris, strtoupper($r['kegiatan_pengadaan']))
|
|
->setCellValue('K'.$baris, $r['nilai_ba'])
|
|
->setCellValue('L'.$baris, $ppn)
|
|
->setCellValue('M'.$baris, $r['nilai_pelunasan']);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$a++;
|
|
if ($z > $zhp) {$ape=$z;} else {$ape=$zhp;}
|
|
$baris=$baris+$ape+1;
|
|
}
|
|
|
|
$objPHPExcel->getSheet(0)->getStyle('A4:A'.$baris)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
|
$objPHPExcel->getSheet(0)->getStyle('B4:B'.$baris)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
|
$objPHPExcel->getSheet(0)->getStyle('C4:C'.$baris)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
|
$objPHPExcel->getSheet(0)->getStyle('F4:F'.$baris)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
|
$objPHPExcel->getSheet(0)->getStyle('G4:G'.$baris)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
|
/*$objPHPExcel->getSheet(0)->getStyle('K4:K'.$baris)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
|
|
|
$objPHPExcel->getSheet(0)->getStyle('L4:L'.$baris)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); */
|
|
|
|
$objPHPExcel->getSheet(0)->getStyle('A1:AB'.$baris)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
|
|
$objPHPExcel->getSheet(0)->getStyle('A2:AB'.$baris)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
|
|
$objPHPExcel->getSheet(0)->getStyle('K1:K'.$baris)->getNumberFormat()->setFormatCode('#,##0');
|
|
$objPHPExcel->getSheet(0)->getStyle('L1:L'.$baris)->getNumberFormat()->setFormatCode('#,##0');
|
|
$objPHPExcel->getSheet(0)->getStyle('M1:M'.$baris)->getNumberFormat()->setFormatCode('#,##0');
|
|
|
|
$akhir=$baris-1;
|
|
$objPHPExcel->getSheet(0)
|
|
->setCellValue('K'.$baris, '=SUM(K2:K'.$akhir.')')
|
|
->setCellValue('L'.$baris, '=SUM(L2:L'.$akhir.')')
|
|
->setCellValue('M'.$baris, '=SUM(M2:M'.$akhir.')');
|
|
$objPHPExcel->getSheet(0)->getStyle('K'.$baris.':K'.$baris)->applyFromArray($styleBold);
|
|
$objPHPExcel->getSheet(0)->getStyle('L'.$baris.':L'.$baris)->applyFromArray($styleBold);
|
|
$objPHPExcel->getSheet(0)->getStyle('M'.$baris.':M'.$baris)->applyFromArray($styleBold);
|
|
$objPHPExcel->getSheet(0)->getStyle('K'.$baris)->getNumberFormat()->setFormatCode('#,##0');
|
|
$objPHPExcel->getSheet(0)->getStyle('L'.$baris)->getNumberFormat()->setFormatCode('#,##0');
|
|
$objPHPExcel->getSheet(0)->getStyle('M'.$baris)->getNumberFormat()->setFormatCode('#,##0');
|
|
|
|
$objPHPExcel->setActiveSheetIndex(0);
|
|
|
|
header('Content-Type: application/vnd.ms-excel');
|
|
header('Content-Disposition: attachment;filename="lap_berita_acara_all.xls"');
|
|
header('Cache-Control: max-age=0');
|
|
|
|
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
|
|
$objWriter->save('php://output');
|
|
exit;
|
|
|
|
?>
|
|
|
|
|