add simak to git repo
This commit is contained in:
133
app/lap_anggaran/excel_real.php
Normal file
133
app/lap_anggaran/excel_real.php
Normal file
@@ -0,0 +1,133 @@
|
||||
<?php
|
||||
|
||||
require_once '../../assets/excel/PHPExcel.php';
|
||||
|
||||
// koneksi ke database
|
||||
include('../koneksi.php');
|
||||
|
||||
|
||||
$sub_kegiatan_id=$_GET['id'];
|
||||
$key=$_GET['key'];
|
||||
$thn=$_GET['thn'];
|
||||
$tm1=$_GET['tm1'];
|
||||
$tm1=str_replace('/','-',$tm1);
|
||||
$tt1=date('Y',strtotime($tm1));
|
||||
$bb1=date('m',strtotime($tm1));
|
||||
$hh1=date('d',strtotime($tm1));
|
||||
|
||||
$ts1=$_GET['ts1'];
|
||||
$ts1=str_replace('/','-',$ts1);
|
||||
$tt2=date('Y',strtotime($ts1));
|
||||
$bb2=date('m',strtotime($ts1));
|
||||
$hh2=date('d',strtotime($ts1));
|
||||
if ($key=='tw1') {$bn="BETWEEN '1' AND '12'";}
|
||||
|
||||
$objPHPExcel = new PHPExcel();
|
||||
$objPHPExcel->getDefaultStyle()->getFont()->setName('Arial');
|
||||
$objPHPExcel->getDefaultStyle()->getFont()->setSize(10);
|
||||
$objPHPExcel->getDefaultStyle()->getAlignment()->setWrapText(true);
|
||||
|
||||
$objPHPExcel->getSheet(0)->getColumnDimension('A')->setWidth(5);
|
||||
$objPHPExcel->getSheet(0)->getColumnDimension('B')->setWidth(30);
|
||||
$objPHPExcel->getSheet(0)->getColumnDimension('C')->setWidth(25);
|
||||
$objPHPExcel->getSheet(0)->getColumnDimension('D')->setWidth(26);
|
||||
$objPHPExcel->getSheet(0)->getColumnDimension('E')->setWidth(33);
|
||||
$objPHPExcel->getSheet(0)->getColumnDimension('F')->setWidth(15);
|
||||
$objPHPExcel->getSheet(0)->getColumnDimension('G')->setWidth(20);
|
||||
$objPHPExcel->getSheet(0)->getColumnDimension('H')->setWidth(11);
|
||||
$objPHPExcel->getSheet(0)->getColumnDimension('I')->setWidth(11);
|
||||
$objPHPExcel->getSheet(0)->getColumnDimension('J')->setWidth(11);
|
||||
|
||||
$styleBold = array('font' => array('bold' => true));
|
||||
$objPHPExcel->getSheet(0)->getStyle('A1:J1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
||||
$objPHPExcel->getSheet(0)->getStyle('A1:J1')->applyFromArray($styleBold);
|
||||
$objPHPExcel->getSheet(0)->getRowDimension('1')->setRowHeight(25);
|
||||
$objPHPExcel->getSheet(0)->setTitle('TERBAYAR');
|
||||
$objPHPExcel->getSheet(0)
|
||||
->setCellValue('A1', 'No')
|
||||
->setCellValue('B1', 'Penyedia')
|
||||
->setCellValue('C1', 'No SP/SPK/Kwi')
|
||||
->setCellValue('D1', 'Berlaku')
|
||||
->setCellValue('E1', 'Kegiatan pengadaan')
|
||||
->setCellValue('F1', 'Terbayar')
|
||||
->setCellValue('G1', 'Jenis')
|
||||
->setCellValue('H1', 'Status')
|
||||
->setCellValue('I1', 'Adminers')
|
||||
->setCellValue('J1', 'Nota dinas');
|
||||
|
||||
|
||||
$query = "SELECT COALESCE(r.nama,p.cad1),p.no_sp,p.tgl_mulai_sp,p.tgl_selesai_sp,p.kegiatan_pengadaan,l.nilai_pelunasan,k.nama,
|
||||
CASE WHEN p.tgl_setor IS NOT NULL THEN 'Realisasi'
|
||||
ELSE
|
||||
CASE
|
||||
WHEN status='Proses' THEN 'Proses Adminers'
|
||||
WHEN status='Selesai Adminers' THEN 'Selesai Adminers'
|
||||
ELSE 'Penyerapan'
|
||||
END
|
||||
END
|
||||
,
|
||||
COALESCE(u.nama,p.user_nama),
|
||||
(SELECT COUNT(*) FROM nota_dinas n
|
||||
LEFT OUTER JOIN list_relasi p1 ON (p1.nota_dinas_id=n.id)
|
||||
WHERE
|
||||
p1.pekerjaan_id=p.id),p.id,l.nilai_pelunasan
|
||||
FROM pekerjaan p
|
||||
INNER JOIN sub_kegiatan s ON (s.id=p.sub_kegiatan_id)
|
||||
LEFT OUTER JOIN rekanan r ON (r.id=p.rekanan_id)
|
||||
LEFT OUTER JOIN jenis_kegiatan k ON (k.id=p.jenis_kegiatan_id)
|
||||
LEFT OUTER JOIN data_user u ON (u.id=p.adminers_id)
|
||||
LEFT OUTER JOIN vr_realisasi r2 ON (r2.pekerjaan_id=p.id)
|
||||
LEFT OUTER JOIN vr_pelunasan l ON (l.vr_realisasi_id=r2.id)
|
||||
WHERE
|
||||
s.id=$sub_kegiatan_id AND p.status_setor IS NULL
|
||||
AND EXTRACT(YEAR FROM DATE(l.tanggal_lunas))='$thn'
|
||||
AND l.tanggal_lunas IS NOT NULL
|
||||
AND EXTRACT(MONTH FROM DATE(l.tanggal_lunas)) ".$bn."
|
||||
".($tm1 == null ? "" : "
|
||||
".($tm1 == undefined ? "" : "AND p.tgl_input::DATE BETWEEN '$tt1-$bb1-$hh1' AND '$tt2-$bb2-$hh2'")."
|
||||
")."
|
||||
ORDER BY p.id ASC
|
||||
";
|
||||
|
||||
$hasil = pg_query($query);
|
||||
$baris = 2;
|
||||
$a=1;
|
||||
while ($r = pg_fetch_array($hasil))
|
||||
{
|
||||
if (($r['tgl_mulai_sp']==null) || ($r['tgl_mulai_sp']=='1970-01-01 00:00:00')) {$vv='';} else {
|
||||
$vv=date('d-m-Y',strtotime($r['tgl_mulai_sp'])).' s/d '.date('d-m-Y',strtotime($r['tgl_selesai_sp']));
|
||||
}
|
||||
|
||||
$objPHPExcel->getSheet(0)
|
||||
->setCellValue('A'.$baris, $a)
|
||||
->setCellValue('B'.$baris, $r[0])
|
||||
->setCellValueExplicit('C'.$baris, $r[1], PHPExcel_Cell_DataType::TYPE_STRING)
|
||||
->setCellValue('D'.$baris, $vv)
|
||||
->setCellValue('E'.$baris, $r[4])
|
||||
->setCellValueExplicit('F'.$baris, $r[5], PHPExcel_Cell_DataType::TYPE_NUMERIC)
|
||||
->setCellValue('G'.$baris, $r[6])
|
||||
->setCellValue('H'.$baris, $r[7])
|
||||
->setCellValue('I'.$baris, $r[8])
|
||||
->setCellValue('J'.$baris, $r[9]);
|
||||
|
||||
$objPHPExcel->getSheet(0)->getStyle('F'.$baris)->getNumberFormat()->setFormatCode('#,##0');
|
||||
$objPHPExcel->getSheet(0)->getStyle('D'.$baris)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
||||
$objPHPExcel->getSheet(0)->getStyle('A1:J'.$baris)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
|
||||
$a++;
|
||||
$baris++;
|
||||
|
||||
}
|
||||
|
||||
$objPHPExcel->setActiveSheetIndex(0);
|
||||
|
||||
header('Content-Type: application/vnd.ms-excel');
|
||||
header('Content-Disposition: attachment;filename="terbayar.xls"');
|
||||
header('Cache-Control: max-age=0');
|
||||
|
||||
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
|
||||
$objWriter->save('php://output');
|
||||
exit;
|
||||
|
||||
?>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user