Files
simak/app/rekap/excel_pbj.php
2025-10-10 09:25:05 +07:00

290 lines
15 KiB
PHP

<?php
require_once '../../assets/excel/PHPExcel.php';
// koneksi ke database
include("../koneksi.php");
$thn=$_GET['thn'];
$cari_adm_pengadaan=$_POST['cari_adm_pengadaan'];
$axx=strtoupper($_GET['a']);
$bxx=strtoupper($_GET['b']);
$cxx=strtoupper($_GET['c']);
$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);
/*PROSES v1*/
$objPHPExcel->getSheet(0)->getColumnDimension('A')->setWidth(5);
$objPHPExcel->getSheet(0)->getColumnDimension('B')->setWidth(35.86);
$objPHPExcel->getSheet(0)->getColumnDimension('C')->setWidth(6);
$objPHPExcel->getSheet(0)->getColumnDimension('D')->setWidth(6);
$objPHPExcel->getSheet(0)->getColumnDimension('E')->setWidth(11.43);
$objPHPExcel->getSheet(0)->getColumnDimension('F')->setWidth(23.57);
$objPHPExcel->getSheet(0)->getColumnDimension('G')->setWidth(38.57);
$objPHPExcel->getSheet(0)->getColumnDimension('H')->setWidth(40);
$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(16);
$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(18);
$objPHPExcel->getSheet(0)->getColumnDimension('AE')->setWidth(15.43);
$objPHPExcel->getSheet(0)->getColumnDimension('AF')->setWidth(15.43);
$objPHPExcel->getSheet(0)->getColumnDimension('AG')->setWidth(15.43);
$styleBold = array('font' => array('bold' => true));
$objPHPExcel->getSheet(0)->getStyle('A3:AG3')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getSheet(0)->getStyle('A3:AG3')->applyFromArray($styleBold);
$objPHPExcel->getSheet(0)->getRowDimension('1')->setRowHeight(15);
$objPHPExcel->getSheet(0)->setTitle('LAP PROSES v1');
$objPHPExcel->getSheet(0)->getStyle('A1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
$objPHPExcel->getSheet(0)->setCellValue('A1', 'Tanggal Input : '.$tm1.' s/d '.$ts1.' | '.$cari_verifikator);
$objPHPExcel->getActiveSheet()->getStyle('A1:AG1')->getAlignment()->setWrapText(false);
$objPHPExcel->getSheet(0)
->setCellValue('A3', 'No')
->setCellValue('B3', 'Sub')
->setCellValue('C3', 'KPA')
->setCellValue('D3', 'PPTK')
->setCellValue('E3', 'Kd Panggil')
->setCellValue('F3', 'Rekening')
->setCellValue('G3', 'Nama Rekanan')
->setCellValue('H3', 'Kegiatan')
->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', 'Posisi Admin Utama')
->setCellValue('AE3', 'Posisi Adminers')
->setCellValue('AF3', 'Posisi Admin BA')
->setCellValue('AG3', 'Posisi PP');
/*
$query = "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,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,r.stum
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)
WHERE s.thn='$thn' AND l.tanggal_setor IS NULL
AND l.st_setor_verif IS NULL AND l.tgl_setor_verif IS NULL
".($tm1 == null ? "" : "AND l.tanggal_input::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'")."
".($cari_adm_pengadaan == '' ? "" : "AND l.adm_pengadaan='$cari_adm_pengadaan'")."
";
*/
$query = "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,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,r.stum,COUNT(b.id),COUNT(a.id)
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 pengerjaan_adminers a ON (p.id=a.pekerjaan_id)
LEFT OUTER JOIN riwayat_ba b ON (p.id=b.pekerjaan_id)
WHERE s.thn='$thn' AND l.tanggal_setor IS NULL
AND l.st_setor_verif IS NULL AND l.tgl_setor_verif IS NULL
GROUP BY
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,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,r.stum
";
$hasil = pg_query($query);
$baris = 4;
$a=1;
while ($r = pg_fetch_array($hasil)) {
$j_ba=$r[40];
$j_ad=$r[41];
if (($j_ba==0) && ($j_ad==0)) {$adu=$r['nilai_pelunasan'];$aad=0;$aba=0;} else /*Admin Utama*/
if (($j_ba==0) && ($j_ad!=0)) {$adu=0;$aad=$r['nilai_pelunasan'];$aba=0;} else /*Adminers*/
if ($j_ba!=0) {$adu=0;$aad=0;$aba=$r['nilai_pelunasan'];} /*Admin BA*/
$stum=$r['stum'];
//if ($r[37]=='0') {$trm='';} else {$trm=' - '.strtoupper(($r['st_termin'].' '.$r[37]));}
if ($r[37]=='0') {
if ($stum=='uang_muka') {$trm=' - UANG MUKA';} else {$trm='';}
} else {$trm=' - '.strtoupper(($r['st_termin'].' '.$r[37]));}
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'])); }
$rek=$r['ra'].' '.$r['rb'].' '.$r['rc'].' '.$r['rd'].' '.$r['re'].' '.$r['rf'].' '.$r['rg'].' '.$r['rh'];
if ($r['kwitansi']=='t') {$ck1='v';} else {$ck1='';}
if ($r['faktur_penjualan']=='t') {$ck2='v';} else {$ck2='';}
if ($r['nota_dinas']=='t') {$ck3='v';} else {$ck3='';}
if ($r['faktur_pajak']=='t') {$ck4='v';} else {$ck4='';}
if ($r['ssp_ppn']=='t') {$ck5='v';} else {$ck5='';}
if ($r['ssp_pph']=='t') {$ck6='v';} else {$ck6='';}
if ($r['ba_hp_admin']=='t') {$ck7='v';} else {$ck7='';}
if ($r['ba_st']=='t') {$ck8='v';} else {$ck8='';}
if ($r['sp_spk']=='t') {$ck9='v';} else {$ck9='';}
if ($r['honor']=='t') {$ck10='v';} else {$ck10='';}
if ($r['hadir']=='t') {$ck11='v';} else {$ck11='';}
if ($r['tor']=='t') {$ck12='v';} else {$ck12='';}
if ($r['spt']=='t') {$ck13='v';} else {$ck13='';}
if ($r['pendukung']=='t') {$ck14='v';} else {$ck14='';}
if ($r['ba_um']=='t') {$ck15='v';} else {$ck15='';}
if ($r['ba_ujicoba']=='t') {$ck16='v';} else {$ck16='';}
if ($r['ba_pembayaran']=='t') {$ck17='v';} else {$ck17='';}
if ($r['ba_kemajuan']=='t') {$ck18='v';} else {$ck18='';}
$objPHPExcel->getSheet(0)
->setCellValue('A'.$baris, $a)
->setCellValue('B'.$baris, $r['sub_kegiatan'])
->setCellValue('C'.$baris, $r[1])
->setCellValue('D'.$baris, $r[2])
->setCellValue('E'.$baris, $r['kd_panggil'])
->setCellValue('F'.$baris, $rek)
->setCellValue('G'.$baris, $r[12])
->setCellValue('H'.$baris, strtoupper($r['kegiatan'].' - '.$r['kegiatan_pengadaan'].''.$trm))
->setCellValue('I'.$baris, $r['nilai_pelunasan'])
->setCellValue('J'.$baris, $ck1)
->setCellValue('K'.$baris, $ck2)
->setCellValue('L'.$baris, $ck3)
->setCellValue('M'.$baris, $ck4)
->setCellValue('N'.$baris, $ck5)
->setCellValue('O'.$baris, $ck6)
->setCellValue('P'.$baris, $ck7)
->setCellValue('Q'.$baris, $ck8)
->setCellValue('R'.$baris, $ck9)
->setCellValue('S'.$baris, $ck10)
->setCellValue('T'.$baris, $ck11)
->setCellValue('U'.$baris, $ck12)
->setCellValue('V'.$baris, $ck13)
->setCellValue('W'.$baris, $ck14)
->setCellValue('X'.$baris, $ck15)
->setCellValue('Y'.$baris, $ck16)
->setCellValue('Z'.$baris, $ck17)
->setCellValue('AA'.$baris, $ck18)
->setCellValue('AB'.$baris, $r['no_sp'])
->setCellValue('AC'.$baris, $tg)
->setCellValue('AD'.$baris, $adu)
->setCellValue('AE'.$baris, $aad)
->setCellValue('AF'.$baris, $aba);
$objPHPExcel->getSheet(0)->getStyle('A3:A'.$baris)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getSheet(0)->getStyle('A1:AG'.$baris)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getSheet(0)->getStyle('I'.$baris)->getNumberFormat()->setFormatCode('#,##0');
$objPHPExcel->getSheet(0)->getStyle('AD'.$baris)->getNumberFormat()->setFormatCode('#,##0');
$objPHPExcel->getSheet(0)->getStyle('AE'.$baris)->getNumberFormat()->setFormatCode('#,##0');
$objPHPExcel->getSheet(0)->getStyle('AF'.$baris)->getNumberFormat()->setFormatCode('#,##0');
$objPHPExcel->getSheet(0)->getStyle('J'.$baris.':AG'.$baris)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$a++;
$baris++;
}
//$akhir=$baris-1;
/*$objPHPExcel->getSheet(0)->setCellValue('I'.$baris, '=SUM(I2:I'.$akhir.')')->setCellValue('J'.$baris, '=SUM(J2:J'.$akhir.')');
$objPHPExcel->getSheet(0)->getStyle('I'.$baris)->getNumberFormat()->setFormatCode('#,##0');
$objPHPExcel->getSheet(0)->getStyle('J'.$baris)->getNumberFormat()->setFormatCode('#,##0');
$objPHPExcel->getSheet(0)->getStyle('I'.$baris.':J'.$baris)->applyFromArray($styleBold);*/
$objPHPExcel->setActiveSheetIndex(0);
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="lap_proses.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;
?>