298 lines
13 KiB
PHP
298 lines
13 KiB
PHP
<?php
|
|
|
|
require_once '../../assets/excel/PHPExcel.php';
|
|
include('../koneksi.php');
|
|
|
|
$thn=$_GET['thn'];
|
|
$kegiatan=$_GET['kegiatan'];
|
|
$kpa=$_GET['kpa'];
|
|
$pptk=$_GET['pptk'];
|
|
$pgn=$_GET['pgn'];
|
|
$kom=$_GET['kom'];
|
|
$pejabat_pengadaan_id=$_GET['pejabat_pengadaan_id'];
|
|
$sub_kegiatan=$_GET['sub_kegiatan'];
|
|
|
|
$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));
|
|
|
|
$objPHPExcel = new PHPExcel();
|
|
$objPHPExcel->getDefaultStyle()->getFont()->setName('Arial');
|
|
$objPHPExcel->getDefaultStyle()->getFont()->setSize(10);
|
|
$objPHPExcel->getDefaultStyle()->getAlignment()->setWrapText(true);
|
|
//$objPHPExcel->getDefaultStyle()->getNumberFormat()->setFormatCode('@');
|
|
$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(8);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('E')->setWidth(6);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('F')->setWidth(35);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('G')->setWidth(95);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('H')->setWidth(18);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('I')->setWidth(18);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('J')->setWidth(18);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('K')->setWidth(18);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('L')->setWidth(18);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('M')->setWidth(18);
|
|
$objPHPExcel->getSheet(0)->getColumnDimension('N')->setWidth(18);
|
|
|
|
$styleBold = array('font' => array('bold' => true));
|
|
$objPHPExcel->getSheet(0)->getStyle('A1:S1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
|
$objPHPExcel->getSheet(0)->getStyle('A1:S1')->applyFromArray($styleBold);
|
|
$objPHPExcel->getSheet(0)->getRowDimension('1')->setRowHeight(25);
|
|
$objPHPExcel->getSheet(0)->setTitle('LAP_ANGGARAN');
|
|
$objPHPExcel->getSheet(0)
|
|
->setCellValue('A1', 'No')
|
|
->setCellValue('B1', 'KPA')
|
|
->setCellValue('C1', 'PPTK')
|
|
->setCellValue('D1', 'PPKOM')
|
|
->setCellValue('E1', 'PPBJ')
|
|
->setCellValue('F1', 'Rek')
|
|
->setCellValue('G1', 'Sub / Belanja')
|
|
->setCellValue('H1', 'Anggaran')
|
|
->setCellValue('I1', 'Hutang Termin')
|
|
->setCellValue('J1', 'Hutang')
|
|
->setCellValue('K1', 'Proses')
|
|
->setCellValue('L1', 'Terbayar')
|
|
->setCellValue('M1', 'Sisa Proses')
|
|
->setCellValue('N1', 'Sisa Pagu');
|
|
|
|
$ca=pg_query("SELECT anggaran FROM sub_kegiatan WHERE id=1436");
|
|
while($rca=pg_fetch_array($ca)) {$angg=$rca[0];}
|
|
|
|
$cb=pg_query("SELECT COALESCE(SUM(j.nilai_sp),0) FROM pekerjaan j WHERE j.status_setor IS NULL AND j.status<>'Extra'
|
|
AND j.user_nama='HUTANG' AND j.sub_kegiatan_id IN (1436,1437,1438)
|
|
".($tm1 == null ? "" : "AND j.tgl_input::DATE BETWEEN '$tt1-$bb1-$hh1' AND '$tt2-$bb2-$hh2'")." ");
|
|
while($rcb=pg_fetch_array($cb)) {$h1=$rcb[0];}
|
|
|
|
$cc=pg_query("SELECT COALESCE(SUM(j.nilai_sp),0) FROM pekerjaan j WHERE j.status_setor IS NULL
|
|
AND j.status<>'Extra' AND j.sub_kegiatan_id IN (1436,1437,1438)
|
|
".($tm1 == null ? "" : "AND j.tgl_input::DATE BETWEEN '$tt1-$bb1-$hh1' AND '$tt2-$bb2-$hh2'")." ");
|
|
while($rcc=pg_fetch_array($cc)) {$p1=$rcc[0];}
|
|
|
|
$cd=pg_query("SELECT COALESCE(SUM(a.nilai_pelunasan),0) FROM vr_pelunasan a
|
|
LEFT OUTER JOIN vr_realisasi r ON (r.id=a.vr_realisasi_id)
|
|
LEFT OUTER JOIN pekerjaan p ON (p.id=r.pekerjaan_id)
|
|
WHERE p.sub_kegiatan_id IN (1436,1437,1438)
|
|
AND EXTRACT(YEAR FROM DATE(a.tanggal_lunas))='$thn'
|
|
AND a.tanggal_lunas IS NOT NULL
|
|
".($tm1 == null ? "" : "AND p.tgl_input::DATE BETWEEN '$tt1-$bb1-$hh1' AND '$tt2-$bb2-$hh2'")."");
|
|
while($rcd=pg_fetch_array($cd)) {$b1=$rcd[0];}
|
|
|
|
/* ==================== */
|
|
/*
|
|
$query = "SELECT a.inisial,t.inisial,o.inisial,p.inisial,g.nama,
|
|
k.ra,k.rb,k.rc,k.rd,k.re,k.rf,k.rg,k.rh,k.sub_kegiatan,k.anggaran,
|
|
k.id,
|
|
k.kegiatan,k.kpa,k.pptk,
|
|
(SELECT COALESCE(SUM(j.nilai_sp),0) FROM pekerjaan j WHERE j.status_setor IS NULL AND j.status<>'Extra'
|
|
AND j.user_nama='HUTANG' AND j.sub_kegiatan_id=k.id
|
|
".($tm1 == null ? "" : "AND j.tgl_input::DATE BETWEEN '$tt1-$bb1-$hh1' AND '$tt2-$bb2-$hh2'")."
|
|
) as hutang,
|
|
(SELECT COALESCE(SUM(j.nilai_sp),0) FROM pekerjaan j WHERE j.status_setor IS NULL
|
|
AND j.status<>'Extra' AND j.sub_kegiatan_id=k.id
|
|
".($tm1 == null ? "" : "AND j.tgl_input::DATE BETWEEN '$tt1-$bb1-$hh1' AND '$tt2-$bb2-$hh2'")."
|
|
) AS proses,
|
|
(SELECT COALESCE(SUM(a.nilai_pelunasan),0) FROM vr_pelunasan a
|
|
LEFT OUTER JOIN vr_realisasi r ON (r.id=a.vr_realisasi_id)
|
|
LEFT OUTER JOIN pekerjaan p ON (p.id=r.pekerjaan_id)
|
|
WHERE p.sub_kegiatan_id=k.id
|
|
AND EXTRACT(YEAR FROM DATE(a.tanggal_lunas))='$thn'
|
|
AND a.tanggal_lunas IS NOT NULL
|
|
".($tm1 == null ? "" : "AND p.tgl_input::DATE BETWEEN '$tt1-$bb1-$hh1' AND '$tt2-$bb2-$hh2'")."
|
|
) as terbayar
|
|
FROM sub_kegiatan k
|
|
LEFT OUTER JOIN kpa a ON (a.id=k.kpa_id)
|
|
LEFT OUTER JOIN pptk t ON (t.id=k.pptk_id)
|
|
LEFT OUTER JOIN pejabat_pengadaan p ON (p.id=k.pejabat_pengadaan_id)
|
|
LEFT OUTER JOIN ppkom o ON (o.id=k.ppkom_id)
|
|
LEFT OUTER JOIN subkategori_kegiatan g ON (g.id=k.kategori_id)
|
|
WHERE k.thn='$thn'
|
|
".($sub_kegiatan == '' ? "" : "AND k.sub_kegiatan='$sub_kegiatan'")."
|
|
".($pejabat_pengadaan_id == '' ? "" : "AND k.pejabat_pengadaan_id='$pejabat_pengadaan_id'")."
|
|
".($kegiatan == '' ? "" : "AND k.kegiatan='$kegiatan'")."
|
|
".($kpa == '' ? "" : "AND k.kpa_id='$kpa'")."
|
|
".($pptk == '' ? "" : "AND k.pptk_id='$pptk'")."
|
|
".($pgn == '' ? "" : "AND k.pejabat_pengadaan_id='$pgn'")."
|
|
".($kom == '' ? "" : "
|
|
".($kom == "ALL" ? "AND (k.ppkom_id IS NOT NULL AND o.inisial <> 'PPK')" : "
|
|
".($kom == "NON" ? "AND (k.ppkom_id IS NULL OR o.inisial = 'PPK')" : "AND k.ppkom_id='$kom'")."
|
|
")."
|
|
")."
|
|
ORDER BY k.id DESC
|
|
";
|
|
*/
|
|
|
|
$query = "SELECT a.inisial,t.inisial,o.inisial,p.inisial,g.nama,
|
|
k.ra,k.rb,k.rc,k.rd,k.re,k.rf,k.rg,k.rh,k.sub_kegiatan,k.anggaran,
|
|
k.id,
|
|
k.kegiatan,k.kpa,k.pptk,
|
|
(SELECT COALESCE(SUM(j.nilai_sp),0) FROM pekerjaan j WHERE j.status_setor IS NULL AND j.status<>'Extra'
|
|
AND j.user_nama='HUTANG' AND j.sub_kegiatan_id=k.id
|
|
".($tm1 == null ? "" : "AND j.tgl_input::DATE BETWEEN '$tt1-$bb1-$hh1' AND '$tt2-$bb2-$hh2'")."
|
|
) as hutang,
|
|
(SELECT COALESCE(SUM(a.total),0) FROM
|
|
(
|
|
SELECT j.nilai_sp as total
|
|
FROM pekerjaan j
|
|
LEFT OUTER JOIN vr_realisasi r2 ON (r2.pekerjaan_id=j.id)
|
|
LEFT OUTER JOIN vr_pelunasan l ON (l.vr_realisasi_id=r2.id)
|
|
WHERE j.status_setor IS NULL AND j.status<>'Extra' AND j.cad3 IS NULL
|
|
AND l.st_hutang IS NULL
|
|
AND j.sub_kegiatan_id=k.id
|
|
".($tm1 == null ? "" : "AND j.tgl_input::DATE BETWEEN '$tt1-$bb1-$hh1' AND '$tt2-$bb2-$hh2'")."
|
|
GROUP BY j.no_sp,j.nilai_sp
|
|
) a
|
|
) AS proses,
|
|
(SELECT COALESCE(SUM(a.nilai_pelunasan),0) FROM vr_pelunasan a
|
|
LEFT OUTER JOIN vr_realisasi r ON (r.id=a.vr_realisasi_id)
|
|
LEFT OUTER JOIN pekerjaan p ON (p.id=r.pekerjaan_id)
|
|
WHERE p.sub_kegiatan_id=k.id AND p.status_setor IS NULL
|
|
AND EXTRACT(YEAR FROM DATE(a.tanggal_lunas))='$thn'
|
|
AND EXTRACT(MONTH FROM DATE(a.tanggal_lunas)) BETWEEN '1' AND '12' AND a.tanggal_lunas IS NOT NULL
|
|
".($tm1 == null ? "" : "AND p.tgl_input::DATE BETWEEN '$tt1-$bb1-$hh1' AND '$tt2-$bb2-$hh2'")."
|
|
) as terbayar,
|
|
(SELECT COALESCE(SUM(a.nilai_sp)-SUM(a.nilai_pelunasan),0) FROM (
|
|
SELECT p.nilai_sp as nilai_sp,
|
|
(SELECT SUM(l2.nilai_pelunasan) FROM vr_pelunasan l2 INNER JOIN vr_realisasi r3 ON (r3.id=l2.vr_realisasi_id) INNER JOIN pekerjaan p2 ON (p2.id=r3.pekerjaan_id) WHERE l2.st_hutang IS NULL AND p2.no_sp=p.no_sp) as nilai_pelunasan
|
|
FROM pekerjaan p
|
|
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 p.status_setor IS NULL AND p.status<>'Extra' AND p.cad3 IS NULL
|
|
AND COALESCE(p.user_nama,'')='HUTANG TERMIN'
|
|
AND p.sub_kegiatan_id=k.id
|
|
".($tm1 == null ? "" : "AND p.tgl_input::DATE BETWEEN '$tt1-$bb1-$hh1' AND '$tt2-$bb2-$hh2'")."
|
|
GROUP BY p.no_sp,p.tgl_mulai_sp,p.tgl_selesai_sp,p.kegiatan_pengadaan,p.nilai_sp,p.id
|
|
) a
|
|
) as hutang_termin,
|
|
(SELECT COALESCE(SUM(a.total),0) FROM
|
|
(
|
|
SELECT j.nilai_sp as total
|
|
FROM pekerjaan j
|
|
LEFT OUTER JOIN vr_realisasi r2 ON (r2.pekerjaan_id=j.id)
|
|
LEFT OUTER JOIN vr_pelunasan l ON (l.vr_realisasi_id=r2.id)
|
|
WHERE j.status_setor IS NULL AND j.status<>'Extra' AND j.cad3 IS NULL
|
|
AND l.st_hutang='H' AND COALESCE(j.user_nama,'')<>'HUTANG TERMIN'
|
|
AND j.sub_kegiatan_id=k.id
|
|
".($tm1 == null ? "" : "AND j.tgl_input::DATE BETWEEN '$tt1-$bb1-$hh1' AND '$tt2-$bb2-$hh2'")."
|
|
GROUP BY j.no_sp,j.nilai_sp
|
|
) a
|
|
) as hutang_new
|
|
FROM sub_kegiatan k
|
|
LEFT OUTER JOIN kpa a ON (a.id=k.kpa_id)
|
|
LEFT OUTER JOIN pptk t ON (t.id=k.pptk_id)
|
|
LEFT OUTER JOIN pejabat_pengadaan p ON (p.id=k.pejabat_pengadaan_id)
|
|
LEFT OUTER JOIN ppkom o ON (o.id=k.ppkom_id)
|
|
LEFT OUTER JOIN subkategori_kegiatan g ON (g.id=k.kategori_id)
|
|
WHERE k.thn='$thn'
|
|
".($sub_kegiatan == null ? "" : "AND k.sub_kegiatan='$sub_kegiatan'")."
|
|
".($pejabat_pengadaan_id == null ? "" : "AND k.pejabat_pengadaan_id='$pejabat_pengadaan_id'")."
|
|
".($kegiatan == null ? "" : "AND k.kegiatan='$kegiatan' AND k.rh='$rh'")."
|
|
".($kpa == null ? "" : "AND k.kpa_id='$kpa'")."
|
|
".($pptk == null ? "" : "AND k.pptk_id='$pptk'")."
|
|
".($pgn == null ? "" : "AND k.pejabat_pengadaan_id='$pgn'")."
|
|
".($kom == null ? "" : "
|
|
".($kom == "ALL" ? "AND (k.ppkom_id IS NOT NULL AND o.inisial <> 'PPK')" : "
|
|
".($kom == "NON" ? "AND (k.ppkom_id IS NULL OR o.inisial = 'PPK')" : "AND k.ppkom_id='$kom'")."
|
|
")."
|
|
")."
|
|
ORDER BY k.id DESC
|
|
";
|
|
|
|
$hasil = pg_query($query);
|
|
$baris = 2;
|
|
$a=1;
|
|
while ($r = pg_fetch_array($hasil))
|
|
{
|
|
if(($r[5]=='') || ($r[5]==NULL)) {
|
|
$rek='';
|
|
} else {
|
|
$rek=$r['kpa'].' '.$r['pptk'].' '.$r[5].' '.$r[6].' '.$r[7].' '.$r[8].' '.$r[9].' '.$r[10].' '.$r[11].' '.$r[12];
|
|
}
|
|
|
|
if(($r[13]=='') || ($r[13]==NULL)) {$sub='';} else {$sub=$r[13];}
|
|
if(($r[16]=='') || ($r[16]==NULL)) {$bl='';} else {$bl=$r[16];}
|
|
|
|
/*
|
|
$hutang=$r[19];
|
|
$proses=$r[20];
|
|
$terbayar=$r[21];
|
|
$sisa_proses=($hutang+$proses)-$terbayar;
|
|
$sisa_anggaran=($r[14]-($hutang+$proses))+$sisa_proses;
|
|
*/
|
|
|
|
/*
|
|
$hutang=$r[19];
|
|
$proses=$r[20]-$r[19];
|
|
$terbayar=$r[21];
|
|
$sisa_proses=($hutang+$proses)-$terbayar;
|
|
|
|
if (($r['id']=='1436') || ($r['id']=='1437') || ($r['id']=='1438')) {
|
|
$sisa_p1=($h1+$p1)-$b1;
|
|
$sisa_anggaran=($angg-($h1+$p1))+$sisa_p1;
|
|
} else {
|
|
$sisa_anggaran=($r[14]-($hutang+$proses))+$sisa_proses;
|
|
}
|
|
*/
|
|
|
|
$hutang=$r[19];
|
|
$proses=$r[20]-$r[19];
|
|
$terbayar=$r[21];
|
|
$hutang_termin=$r[22];
|
|
$hutang_new=$r[23];
|
|
$sisa_proses=($hutang_new+$hutang_termin+$proses)-$terbayar;
|
|
|
|
if (($r['id']=='1436') || ($r['id']=='1437') || ($r['id']=='1438')) {
|
|
$sisa_p1=($h1+$p1)-$b1;
|
|
$sisa_anggaran=($angg-($h1+$p1))+$sisa_p1;
|
|
} else {
|
|
$sisa_anggaran=($r[14]-($hutang_new+$hutang_termin+$proses))+$sisa_proses;
|
|
}
|
|
|
|
$objPHPExcel->getSheet(0)
|
|
->setCellValue('A'.$baris, $a)
|
|
->setCellValue('B'.$baris, $r[0])
|
|
->setCellValue('C'.$baris, $r[1])
|
|
->setCellValue('D'.$baris, $r[2])
|
|
->setCellValue('E'.$baris, $r[3])
|
|
->setCellValue('F'.$baris, $rek)
|
|
->setCellValue('G'.$baris, $sub."\n".$bl)
|
|
->setCellValueExplicit('H'.$baris, $r[14], PHPExcel_Cell_DataType::TYPE_NUMERIC) /*anggaran*/
|
|
->setCellValueExplicit('I'.$baris, $hutang_termin, PHPExcel_Cell_DataType::TYPE_NUMERIC) /*hutang*/
|
|
->setCellValueExplicit('J'.$baris, $hutang_new, PHPExcel_Cell_DataType::TYPE_NUMERIC) /*hutang*/
|
|
->setCellValueExplicit('K'.$baris, $proses, PHPExcel_Cell_DataType::TYPE_NUMERIC) /*proses*/
|
|
->setCellValueExplicit('L'.$baris, $terbayar, PHPExcel_Cell_DataType::TYPE_NUMERIC) /*terbayar*/
|
|
->setCellValueExplicit('M'.$baris, $sisa_proses, PHPExcel_Cell_DataType::TYPE_NUMERIC) /*sisa proses*/
|
|
->setCellValueExplicit('N'.$baris, $sisa_anggaran, PHPExcel_Cell_DataType::TYPE_NUMERIC); /*sisa*/
|
|
|
|
$objPHPExcel->getSheet(0)->getStyle('H1:N'.$baris)->getNumberFormat()->setFormatCode('#,##0');
|
|
$objPHPExcel->getSheet(0)->getStyle('A1:E'.$baris)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
|
$objPHPExcel->getSheet(0)->getStyle('P1:S'.$baris)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
|
$objPHPExcel->getSheet(0)->getStyle('A1:R'.$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="lap_anggaran.xls"');
|
|
header('Cache-Control: max-age=0');
|
|
|
|
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
|
|
$objWriter->save('php://output');
|
|
exit;
|
|
|
|
?>
|
|
|
|
|