355 lines
17 KiB
PHP
355 lines
17 KiB
PHP
<?php
|
|
|
|
require_once '../../assets/excel/PHPExcel.php';
|
|
|
|
// koneksi ke database
|
|
|
|
include("../koneksi.php");
|
|
$thn=$_GET['thn'];
|
|
$cari_verifikator=$_GET['cari_verifikator'];
|
|
$nama_verifikator=$_GET['nama_verifikator'];
|
|
$axx=strtoupper($_GET['a']);
|
|
$bxx=strtoupper($_GET['b']);
|
|
$cxx=strtoupper($_GET['c']);
|
|
$dxx=strtoupper($_GET['d']);
|
|
$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));
|
|
|
|
$cari_kd_panggil=$_GET['cari_kd_panggil'];
|
|
|
|
|
|
|
|
|
|
$objPHPExcel = new PHPExcel();
|
|
$objPHPExcel->getDefaultStyle()->getFont()->setName('Arial');
|
|
$objPHPExcel->getDefaultStyle()->getFont()->setSize(9);
|
|
$objPHPExcel->getDefaultStyle()->getAlignment()->setWrapText(true);
|
|
|
|
|
|
|
|
|
|
/* PROSES v2 =================================================================================================================================================== */
|
|
|
|
|
|
|
|
$objPHPExcel->createSheet();
|
|
$objPHPExcel->setActiveSheetIndex(0);
|
|
$objPHPExcel->getActiveSheet()->setTitle('LAP SETOR');
|
|
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('A')->setWidth(5);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('B')->setWidth(6);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('C')->setWidth(6);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('D')->setWidth(11);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('E')->setWidth(23.57);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('F')->setWidth(38.57);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('G')->setWidth(38);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('H')->setWidth(38);
|
|
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('I')->setWidth(15.43);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('J')->setWidth(13);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('K')->setWidth(13);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('L')->setWidth(13);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('M')->setWidth(13);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('N')->setWidth(13);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('O')->setWidth(13);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('P')->setWidth(13);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('Q')->setWidth(16);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('R')->setWidth(15);
|
|
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('S')->setWidth(13);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('T')->setWidth(13);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('U')->setWidth(13);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('V')->setWidth(13);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('W')->setWidth(13);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('X')->setWidth(13);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('Y')->setWidth(13);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('Z')->setWidth(16);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('AA')->setWidth(16);
|
|
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('AB')->setWidth(20);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('AC')->setWidth(24.71);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('AD')->setWidth(20);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('AE')->setWidth(20);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('AF')->setWidth(20);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('AG')->setWidth(20);
|
|
|
|
$styleBold = array('font' => array('bold' => true));
|
|
$objPHPExcel->getSheet(0)->getStyle('A4:AG4')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
|
$objPHPExcel->getSheet(0)->getStyle('A4:AG4')->applyFromArray($styleBold);
|
|
$objPHPExcel->getSheet(0)->getRowDimension('1')->setRowHeight(15);
|
|
|
|
$objPHPExcel->getSheet(0)->getStyle('A1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
|
|
$objPHPExcel->getSheet(0)->setCellValue('A1', 'Tanggal Setor : '.$tm1.' s/d '.$ts1.' | '.$cari_verifikator);
|
|
$objPHPExcel->getActiveSheet()->getStyle('A1:AG1')->getAlignment()->setWrapText(false);
|
|
|
|
$objPHPExcel->getSheet(0)->getStyle('A3:AG3')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
|
$objPHPExcel->getActiveSheet()->getStyle('A3:AG3')->getAlignment()->setWrapText(true);
|
|
$objPHPExcel->getSheet(0)->getStyle('A3:AG3')->applyFromArray($styleBold);
|
|
|
|
$objPHPExcel->getSheet(0)
|
|
->setCellValue('A3','No')
|
|
->setCellValue('B3', 'KPA')
|
|
->setCellValue('C3', 'PPTK')
|
|
->setCellValue('D3', 'Kd Panggil')
|
|
->setCellValue('E3', 'Rekening')
|
|
->setCellValue('F3', 'Nama Rekanan')
|
|
->setCellValue('G3', 'Kegiatan')
|
|
->setCellValue('H3', 'Uraian')
|
|
->setCellValue('I3', 'Nilai Kwitansi')
|
|
|
|
->setCellValue('J3', 'Kwitansi')
|
|
->setCellValue('K3', 'Faktur Penj')
|
|
->setCellValue('L3', 'Nota Dinas')
|
|
->setCellValue('M3', 'Faktur Pajak')
|
|
->setCellValue('N3', 'SSP PPN')
|
|
->setCellValue('O3', 'SSP PPH')
|
|
->setCellValue('P3', 'Ba HP Admin')
|
|
->setCellValue('Q3', 'Ba Serah Terima')
|
|
->setCellValue('R3', 'SP / SPK')
|
|
|
|
->setCellValue('S3', 'Penerimaan Honor')
|
|
->setCellValue('T3', 'Daftar Hadir')
|
|
->setCellValue('U3', 'TOR')
|
|
->setCellValue('V3', 'SK / SPT')
|
|
->setCellValue('W3', 'Pendukung')
|
|
->setCellValue('X3', 'Ba UM')
|
|
->setCellValue('Y3', 'Ba Ujicoba')
|
|
->setCellValue('Z3', 'Ba Pembayaran')
|
|
->setCellValue('AA3', 'Ba Kemajuan')
|
|
|
|
->setCellValue('AB3', 'No Kwi/SP/SPK')
|
|
->setCellValue('AC3', 'Periode Tgl SP/SPK')
|
|
|
|
->setCellValue('AD3', 'Nomor BAST')
|
|
->setCellValue('AE3', 'Tanggal BAST')
|
|
->setCellValue('AF3', 'Nilai BAST')
|
|
->setCellValue('AG3', 'Bend');
|
|
|
|
|
|
$query2 = "SELECT DISTINCT s.sub_kegiatan
|
|
FROM pekerjaan p
|
|
INNER JOIN sub_kegiatan s ON (p.sub_kegiatan_id=s.id)
|
|
INNER JOIN vr_realisasi r ON (r.pekerjaan_id=p.id)
|
|
INNER JOIN vr_pelunasan l ON (l.vr_realisasi_id=r.id)
|
|
INNER JOIN kpa a1 ON (s.kpa_id=a1.id)
|
|
INNER JOIN ppkom a2 ON (s.ppkom_id=a2.id)
|
|
INNER JOIN pptk a3 ON (s.pptk_id=a3.id)
|
|
LEFT OUTER JOIN bp a4 ON (s.bp_id=a4.id)
|
|
WHERE s.thn='$thn' AND l.tanggal_setor IS NOT NULL
|
|
".($tm1 == null ? "" : "AND l.tanggal_setor::DATE BETWEEN '$tt1-$bb1-$hh1' AND '$tt2-$bb2-$hh2'")."
|
|
".($axx == '' ? "" : "AND s.kpa_id='$axx'")."
|
|
".($bxx == '' ? "" : "AND s.ppkom_id='$bxx'")."
|
|
".($cxx == '' ? "" : "AND s.pptk_id='$cxx'")."
|
|
".($dxx == '' ? "" : "AND s.bp_id='$dxx'")."
|
|
".($cari_verifikator == '' ? "" : "AND COALESCE(p.user_nama,l.nama_verfikator)='$cari_verifikator'")."
|
|
".($cari_kd_panggil == '' ? "" : "AND s.id='$cari_kd_panggil'")."
|
|
";
|
|
$hasil2 = pg_query($query2);
|
|
$baris2 = 4;
|
|
$a2=1;
|
|
while ($r2 = pg_fetch_array($hasil2))
|
|
{
|
|
$baris3 = $baris2+$a2;
|
|
|
|
$skg=$r2[0];
|
|
$objPHPExcel->getActiveSheet()->getStyle('A'.$baris2.':AG'.$baris2)->getAlignment()->setWrapText(false);
|
|
$objPHPExcel->getSheet(0)->getStyle('A'.$baris2.':AG'.$baris2)->applyFromArray($styleBold);
|
|
$objPHPExcel->getSheet(0)->getStyle('A'.$baris2.':AG'.$baris2)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
|
|
$objPHPExcel->getSheet(0)->setCellValue('A'.$baris2, $r2[0]);
|
|
|
|
|
|
|
|
|
|
|
|
$query3 = "SELECT
|
|
s.sub_kegiatan,k.inisial,t.inisial,s.kd_panggil,s.ra,s.rb,s.rc,s.rd,s.re,s.rf,s.rg,s.rh,
|
|
COALESCE(n.nama,p.cad1),s.kegiatan,p.kegiatan_pengadaan,l.nilai_pelunasan,
|
|
l.kwitansi,l.faktur_penjualan,l.nota_dinas,l.faktur_pajak,l.ssp_ppn,l.ssp_pph,l.ba_hp_admin,l.ba_st,l.sp_spk,
|
|
p.no_sp,p.tgl_mulai_sp,p.tgl_selesai_sp,b.untuk,x.nama,honor,hadir,tor,spt,pendukung,ba_um,ba_ujicoba,ba_pembayaran,ba_kemajuan,
|
|
CASE WHEN r.st_termin='termin' THEN
|
|
l.data_ke
|
|
ELSE '0' END,r.st_termin,p.id,l.id,r.stum,a4.inisial
|
|
FROM pekerjaan p
|
|
INNER JOIN sub_kegiatan s ON (p.sub_kegiatan_id=s.id)
|
|
INNER JOIN vr_realisasi r ON (r.pekerjaan_id=p.id)
|
|
INNER JOIN vr_pelunasan l ON (l.vr_realisasi_id=r.id)
|
|
LEFT OUTER JOIN rekanan n ON (n.id=p.rekanan_id)
|
|
INNER JOIN kpa k ON (k.id=s.kpa_id)
|
|
INNER JOIN pptk t ON (t.id=s.pptk_id)
|
|
INNER JOIN ppkom m ON (m.id=s.ppkom_id)
|
|
LEFT OUTER JOIN bp a4 ON (a4.id=s.bp_id)
|
|
LEFT OUTER JOIN sp_peg g ON (p.id=g.pekerjaan_id)
|
|
LEFT OUTER JOIN sp_spt b ON (b.id=g.sp_spt_id)
|
|
LEFT OUTER JOIN data_pegawai z ON (z.id=g.data_pegawai_id)
|
|
LEFT OUTER JOIN jabatan_pegawai x ON (x.id=z.jabatan_pegawai_id)
|
|
WHERE s.thn='$thn' AND l.tanggal_setor IS NOT NULL
|
|
AND s.sub_kegiatan='$skg'
|
|
".($tm1 == null ? "" : "AND l.tanggal_setor::DATE BETWEEN '$tt1-$bb1-$hh1' AND '$tt2-$bb2-$hh2'")."
|
|
".($axx == '' ? "" : "AND s.kpa_id='$axx'")."
|
|
".($bxx == '' ? "" : "AND s.ppkom_id='$bxx'")."
|
|
".($cxx == '' ? "" : "AND s.pptk_id='$cxx'")."
|
|
".($dxx == '' ? "" : "AND s.bp_id='$dxx'")."
|
|
".($cari_verifikator == '' ? "" : "AND COALESCE(p.user_nama,l.nama_verfikator)='$cari_verifikator'")."
|
|
".($cari_kd_panggil == '' ? "" : "AND s.id='$cari_kd_panggil'")."
|
|
ORDER BY l.tanggal_setor DESC,l.id DESC
|
|
";
|
|
$hasil3 = pg_query($query3);
|
|
$ab=1;
|
|
$a3=0;
|
|
$zx=0;
|
|
while(($r3=pg_fetch_array($hasil3)) !== FALSE)
|
|
{
|
|
$stum=$r3['stum'];
|
|
$baris4=$baris3+$a3+$zx;
|
|
$barisz=$baris3+$a3+$zx;
|
|
//if ($r3[39]=='0') {$trm='';} else {$trm=' - '.strtoupper(($r3['st_termin'].' '.$r3[39]));}
|
|
if ($r3[39]=='0') {
|
|
if ($stum=='uang_muka') {$trm=' - UANG MUKA';} else {$trm='';}
|
|
} else {$trm=' - '.strtoupper(($r3['st_termin'].' '.$r3[39]));}
|
|
|
|
if (($r3['tgl_mulai_sp']==null) || ($r3['tgl_mulai_sp']=='1970-01-01 00:00:00')) {$tg='';} else {
|
|
$tg=date('d-m-Y',strtotime($r3['tgl_mulai_sp'])).' s/d '.date('d-m-Y',strtotime($r3['tgl_selesai_sp'])); }
|
|
|
|
$rek=$r3['ra'].' '.$r3['rb'].' '.$r3['rc'].' '.$r3['rd'].' '.$r3['re'].' '.$r3['rf'].' '.$r3['rg'].' '.$r3['rh'];
|
|
|
|
if ($r3['kwitansi']=='t') {$ck1='v';} else {$ck1='';}
|
|
if ($r3['faktur_penjualan']=='t') {$ck2='v';} else {$ck2='';}
|
|
if ($r3['nota_dinas']=='t') {$ck3='v';} else {$ck3='';}
|
|
if ($r3['faktur_pajak']=='t') {$ck4='v';} else {$ck4='';}
|
|
if ($r3['ssp_ppn']=='t') {$ck5='v';} else {$ck5='';}
|
|
if ($r3['ssp_pph']=='t') {$ck6='v';} else {$ck6='';}
|
|
if ($r3['ba_hp_admin']=='t') {$ck7='v';} else {$ck7='';}
|
|
if ($r3['ba_st']=='t') {$ck8='v';} else {$ck8='';}
|
|
if ($r3['sp_spk']=='t') {$ck9='v';} else {$ck9='';}
|
|
|
|
if ($r3['honor']=='t') {$ck10='v';} else {$ck10='';}
|
|
if ($r3['hadir']=='t') {$ck11='v';} else {$ck11='';}
|
|
if ($r3['tor']=='t') {$ck12='v';} else {$ck12='';}
|
|
if ($r3['spt']=='t') {$ck13='v';} else {$ck13='';}
|
|
if ($r3['pendukung']=='t') {$ck14='v';} else {$ck14='';}
|
|
if ($r3['ba_um']=='t') {$ck15='v';} else {$ck15='';}
|
|
if ($r3['ba_ujicoba']=='t') {$ck16='v';} else {$ck16='';}
|
|
if ($r3['ba_pembayaran']=='t') {$ck17='v';} else {$ck17='';}
|
|
if ($r3['ba_kemajuan']=='t') {$ck18='v';} else {$ck18='';}
|
|
|
|
if ($r3['untuk']==null) {$ura='';} else {$ura=strtoupper($r3['kegiatan']).' - Perjalanan dinas dalam rangka '.ucwords(strtolower($r3['untuk'])).' - '.strtolower('a.n. ').' '.$r3[12].' - '.$r3['nama'];}
|
|
$objPHPExcel->getSheet(0)
|
|
->setCellValue('A'.$baris4, $ab)
|
|
->setCellValue('B'.$baris4, $r3[1])
|
|
->setCellValue('C'.$baris4, $r3[2])
|
|
->setCellValue('D'.$baris4, $r3['kd_panggil'])
|
|
->setCellValue('E'.$baris4, $rek)
|
|
->setCellValue('F'.$baris4, $r3[12])
|
|
->setCellValue('G'.$baris4, strtoupper($r3['kegiatan'].' - '.$r3['kegiatan_pengadaan'].''.$trm))
|
|
->setCellValue('H'.$baris4, $ura)
|
|
->setCellValue('I'.$baris4, $r3['nilai_pelunasan'])
|
|
|
|
->setCellValue('J'.$baris4, $ck1)
|
|
->setCellValue('K'.$baris4, $ck2)
|
|
->setCellValue('L'.$baris4, $ck3)
|
|
->setCellValue('M'.$baris4, $ck4)
|
|
->setCellValue('N'.$baris4, $ck5)
|
|
->setCellValue('O'.$baris4, $ck6)
|
|
->setCellValue('P'.$baris4, $ck7)
|
|
->setCellValue('Q'.$baris4, $ck8)
|
|
->setCellValue('R'.$baris4, $ck9)
|
|
|
|
->setCellValue('S'.$baris4, $ck10)
|
|
->setCellValue('T'.$baris4, $ck11)
|
|
->setCellValue('U'.$baris4, $ck12)
|
|
->setCellValue('V'.$baris4, $ck13)
|
|
->setCellValue('W'.$baris4, $ck14)
|
|
->setCellValue('X'.$baris4, $ck15)
|
|
->setCellValue('Y'.$baris4, $ck16)
|
|
->setCellValue('Z'.$baris4, $ck17)
|
|
->setCellValue('AA'.$baris4, $ck18)
|
|
|
|
->setCellValue('AB'.$baris4, $r3['no_sp'])
|
|
->setCellValue('AC'.$baris4, $tg);
|
|
|
|
|
|
/* BA Serah Terima */
|
|
|
|
$pekerjaan_ids=$r3[41];
|
|
$vr_pelid=$r3[42];
|
|
$st_trm=$r3['st_termin'];
|
|
$nil_trm=$r3['nilai_pelunasan'];
|
|
$query_bast = "SELECT nomor_ba,tanggal_ba,nilai_ba FROM riwayat_ba WHERE pekerjaan_id='$pekerjaan_ids' AND berita_acara_id=2
|
|
AND vr_pelunasan_id='$vr_pelid'
|
|
ORDER BY tanggal_ba ASC";
|
|
|
|
$hasil_bast = pg_query($query_bast);
|
|
$rows = pg_num_rows($hasil_bast);
|
|
$baris_bast = $baris4;
|
|
$z = 0;
|
|
if ($rows==0) {
|
|
$set=$baris_bast+$z;
|
|
$objPHPExcel->getSheet(0)
|
|
->setCellValue('AD'.$set, '-')
|
|
->setCellValue('AE'.$set, '-')
|
|
->setCellValue('AF'.$set, '-');
|
|
$objPHPExcel->getSheet(0)->getStyle('AF'.$set)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
|
$z=$z+1;
|
|
} else {
|
|
while ($r_bast = pg_fetch_array($hasil_bast))
|
|
{
|
|
$set=$baris_bast+$z;
|
|
$objPHPExcel->getSheet(0)
|
|
->setCellValue('AD'.$set, $r_bast['nomor_ba'])
|
|
->setCellValue('AE'.$set, date('d-m-Y',strtotime($r_bast['tanggal_ba'])))
|
|
->setCellValue('AF'.$set, $r_bast['nilai_ba']);
|
|
$objPHPExcel->getSheet(0)->getStyle('AD'.$set,)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
|
$objPHPExcel->getSheet(0)->getStyle('AE'.$set)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
|
$objPHPExcel->getSheet(0)->getStyle('AF'.$set)->getNumberFormat()->setFormatCode('#,##0');
|
|
$z++;
|
|
}
|
|
}
|
|
/* ====== end of BA Serah Terima ====== */
|
|
$objPHPExcel->getSheet(0)->setCellValue('AG'.$baris4, $r3[44]);
|
|
|
|
$objPHPExcel->getSheet(0)->getStyle('A1:AG'.$baris4)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
|
|
$objPHPExcel->getSheet(0)->getStyle('J'.$baris4.':AE'.$baris4)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
|
$objPHPExcel->getSheet(0)->getStyle('AG'.$baris4)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
|
$objPHPExcel->getSheet(0)->getStyle('I'.$baris4)->getNumberFormat()->setFormatCode('#,##0');
|
|
|
|
$zx=$zx+$z-1;
|
|
$baris4=$baris4+$a3+1+$zx;
|
|
$a3++;
|
|
$ab++;
|
|
|
|
}
|
|
|
|
$barisz++;
|
|
$awal=$baris3;
|
|
$akhir=$baris4-($a3+$zx);
|
|
$objPHPExcel->getSheet(0)->setCellValue('I'.$barisz, '=SUM(I'.$awal.':I'.$akhir.')');
|
|
$objPHPExcel->getSheet(0)->getStyle('I'.$barisz)->getNumberFormat()->setFormatCode('#,##0');
|
|
|
|
$objPHPExcel->getSheet(0)->getStyle('I'.$barisz)->applyFromArray($styleBold);
|
|
$baris2=$baris2+$a2+1+$a3+$zx+1;
|
|
$a++;
|
|
}
|
|
|
|
|
|
|
|
header('Content-Type: application/vnd.ms-excel');
|
|
header('Content-Disposition: attachment;filename="lap_setor.xls"');
|
|
header('Cache-Control: max-age=0');
|
|
|
|
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
|
|
$objWriter->save('php://output');
|
|
exit;
|
|
|
|
?>
|
|
|
|
|