153 lines
7.7 KiB
PHP
153 lines
7.7 KiB
PHP
<?php
|
|
|
|
require_once '../../assets/excel/PHPExcel.php';
|
|
|
|
// koneksi ke database
|
|
include('../koneksi.php');
|
|
|
|
|
|
$thn=$_GET['thn'];
|
|
$kpa=$_GET['kpa'];
|
|
$pptk=$_GET['pptk'];
|
|
$pgn=$_GET['pgn'];
|
|
$kom=$_GET['kom'];
|
|
$pejabat_pengadaan_id=$_GET['pejabat_pengadaan_id'];
|
|
$rh=$_GET['rh'];
|
|
$sub_kegiatan=$_GET['sub_kegiatan'];
|
|
$kegiatan=$_GET['kegiatan'];
|
|
$pelaksana_kegiatan=$_GET['pelaksana_kegiatan'];
|
|
|
|
$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(75);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('G')->setWidth(20);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('H')->setWidth(20);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('I')->setWidth(20);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('J')->setWidth(11);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('K')->setWidth(11);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('L')->setWidth(29);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('M')->setWidth(11);
|
|
|
|
$styleBold = array('font' => array('bold' => true));
|
|
$objPHPExcel->getSheet(0)->getStyle('A1:M1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
|
$objPHPExcel->getSheet(0)->getStyle('A1:M1')->applyFromArray($styleBold);
|
|
$objPHPExcel->getSheet(0)->getRowDimension('1')->setRowHeight(25);
|
|
$objPHPExcel->getSheet(0)->setTitle('Proses Verifikasi');
|
|
$objPHPExcel->getSheet(0)
|
|
->setCellValue('A1', 'No')
|
|
->setCellValue('B1', 'Penyedia')
|
|
->setCellValue('C1', 'No SP/SPK/Kwi')
|
|
->setCellValue('D1', 'Berlaku')
|
|
->setCellValue('E1', 'Kegiatan')
|
|
->setCellValue('F1', 'Pengadaan')
|
|
->setCellValue('G1', 'Jenis')
|
|
->setCellValue('H1', 'Nilai Pekerjaan')
|
|
->setCellValue('I1', 'Penyerapan')
|
|
->setCellValue('J1', 'Adminers')
|
|
->setCellValue('K1', 'Nota dinas')
|
|
->setCellValue('L1', 'No Nota dinas')
|
|
->setCellValue('M1', 'TKDN');
|
|
|
|
$query = "
|
|
SELECT p.id,p.no_sp,p.nilai_sp,r.st_termin,STRING_AGG(CAST (l.data_ke AS TEXT),',') as datake,SUM(l.nilai_pelunasan) as proses,COALESCE(n.nama,p.cad1) as rekanan,p.tgl_mulai_sp,p.tgl_selesai_sp,
|
|
s.sub_kegiatan,s.kegiatan,p.kegiatan_pengadaan,
|
|
COALESCE(u.nama,p.user_nama) as adminers,
|
|
(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) as jml_nodin,
|
|
(SELECT STRING_AGG(n.no_surat,', ') FROM nota_dinas n
|
|
LEFT OUTER JOIN list_relasi p1 ON (p1.nota_dinas_id=n.id)
|
|
WHERE p1.pekerjaan_id=p.id) as no_nodin,p.user_nama,p.tkdn
|
|
FROM pekerjaan p
|
|
INNER JOIN sub_kegiatan s ON (s.id=p.sub_kegiatan_id)
|
|
LEFT OUTER JOIN vr_realisasi r ON (p.id=r.pekerjaan_id)
|
|
LEFT OUTER JOIN vr_pelunasan l ON (r.id=l.vr_realisasi_id)
|
|
LEFT OUTER JOIN rekanan n ON (n.id=p.rekanan_id)
|
|
LEFT OUTER JOIN data_user u ON (u.id=p.adminers_id)
|
|
WHERE s.thn='$thn' AND p.status_setor IS NULL AND l.id IS NOT NULL
|
|
AND l.tanggal_lunas IS NULL
|
|
".($sub_kegiatan == null ? "" : "AND s.sub_kegiatan='$sub_kegiatan'")."
|
|
".($pejabat_pengadaan_id == null ? "" : "AND s.pejabat_pengadaan_id='$pejabat_pengadaan_id'")."
|
|
".($kegiatan == null ? "" : "AND s.kegiatan='$kegiatan' AND s.rh='$rh'")."
|
|
".($kpa == null ? "" : "AND s.kpa_id='$kpa'")."
|
|
".($pptk == null ? "" : "AND s.pptk_id='$pptk'")."
|
|
".($pgn == null ? "" : "AND s.pejabat_pengadaan_id='$pgn'")."
|
|
".($kom == null ? "" : "AND s.ppkom_id='$kom'")."
|
|
".($pelaksana_kegiatan == null ? "" : "AND s.pelaksana_kegiatan_id='$pelaksana_kegiatan'")."
|
|
GROUP BY p.id,r.st_termin,n.nama,s.sub_kegiatan,s.kegiatan,p.kegiatan_pengadaan,u.nama,p.tkdn
|
|
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']));
|
|
}
|
|
if (($r['st_termin']=='non-termin') || ($r['st_termin']==NULL)) {$trm='';} else {$trm='TERMIN '.$r['datake'];}
|
|
if ($r['user_nama']=='HUTANG TERMIN') {$ktmu='PEKERJAAN TERMIN TAHUN LALU';} else {$ktmu='';}
|
|
$objPHPExcel->getSheet(0)
|
|
->setCellValue('A'.$baris, $a)
|
|
->setCellValue('B'.$baris, $r['rekanan'])
|
|
->setCellValueExplicit('C'.$baris, $r['no_sp'], PHPExcel_Cell_DataType::TYPE_STRING)
|
|
->setCellValue('D'.$baris, $vv)
|
|
->setCellValue('E'.$baris, $r['sub_kegiatan']."\n".$r['kegiatan'])
|
|
->setCellValue('F'.$baris, $r['kegiatan_pengadaan']."\n".$trm)
|
|
->setCellValue('G'.$baris, $ktmu)
|
|
->setCellValueExplicit('H'.$baris, $r['nilai_sp'], PHPExcel_Cell_DataType::TYPE_NUMERIC)
|
|
->setCellValueExplicit('I'.$baris, $r['proses'], PHPExcel_Cell_DataType::TYPE_NUMERIC)
|
|
->setCellValue('J'.$baris, $r['adminers'])
|
|
->setCellValue('K'.$baris, $r['jml_nodin'])
|
|
->setCellValue('L'.$baris, $r['no_nodin'])
|
|
->setCellValue('M'.$baris, $r['tkdn']);
|
|
/*
|
|
$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('J'.$baris)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
|
$objPHPExcel->getSheet(0)->getStyle('K'.$baris)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
|
$objPHPExcel->getSheet(0)->getStyle('A1:K'.$baris)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
|
|
*/
|
|
$a++;
|
|
$baris++;
|
|
|
|
}
|
|
$objPHPExcel->getSheet(0)->getStyle('H2:H'.$baris)->getNumberFormat()->setFormatCode('#,##0');
|
|
$objPHPExcel->getSheet(0)->getStyle('I2:I'.$baris)->getNumberFormat()->setFormatCode('#,##0');
|
|
$objPHPExcel->getSheet(0)->getStyle('A2:A'.$baris)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
|
$objPHPExcel->getSheet(0)->getStyle('C2:C'.$baris)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
|
$objPHPExcel->getSheet(0)->getStyle('D2:D'.$baris)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
|
$objPHPExcel->getSheet(0)->getStyle('J2:J'.$baris)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
|
$objPHPExcel->getSheet(0)->getStyle('K2:K'.$baris)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
|
$objPHPExcel->getSheet(0)->getStyle('L2:L'.$baris)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
|
$objPHPExcel->getSheet(0)->getStyle('A1:M'.$baris)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
|
|
$objPHPExcel->getSheet(0)->getStyle('I2:I'.$baris)->applyFromArray($styleBold);
|
|
$objPHPExcel->getSheet(0)->getStyle('G2:G'.$baris)->applyFromArray($styleBold);
|
|
$objPHPExcel->getSheet(0)->getStyle('G2:G'.$baris)->getFont()->getColor()->setRGB("FE0000");
|
|
$objPHPExcel->getSheet(0)->getStyle('G2:G'.$baris)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
|
|
|
$objPHPExcel->setActiveSheetIndex(0);
|
|
|
|
header('Content-Type: application/vnd.ms-excel');
|
|
header('Content-Disposition: attachment;filename="proses_verifikasi.xls"');
|
|
header('Cache-Control: max-age=0');
|
|
|
|
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
|
|
$objWriter->save('php://output');
|
|
exit;
|
|
|
|
?>
|
|
|
|
|