Files
simak/app/lap_setor/excel(1).php
2025-10-10 09:25:05 +07:00

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;
?>