Files
eletter-backup/dev/app/laporan/excel.php
2024-05-31 14:18:00 +07:00

199 lines
7.8 KiB
PHP

<?php
require_once '../../assets/excel/PHPExcel.php';
// koneksi ke database
include('../koneksi.php');
$a=$_GET['a'];
$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();
if ($a=='Surat Masuk') {
$objPHPExcel->getSheet(0)->setTitle('DATA_SURAT_MASUK');
$objPHPExcel->getSheet(0)
->setCellValue('A1', 'No')
->setCellValue('B1', 'Kode')
->setCellValue('C1', 'Asal Surat')
->setCellValue('D1', 'Tgl Surat')
->setCellValue('E1', 'Perihal');
// ->setCellValue('F1', 'Pemroses');
$query = "SELECT s.no_urut,(SELECT s1.kode FROM kode s1 WHERE s1.id=s.kode_id),
s.surat_dari,COALESCE(a.tgl_arsip,s.tgl_diterima),
s.perihal,
(SELECT k.kode_satker FROM satuan_kerja k WHERE k.id=s.satuan_kerja_id)
FROM surat s
LEFT OUTER JOIN arsip a ON (a.surat_id=s.id)
WHERE s.tgl_surat_masuk IS NOT NULL
AND COALESCE(a.tgl_arsip,s.tgl_diterima)::DATE BETWEEN '$tt1-$bb1-$hh1' AND '$tt2-$bb2-$hh2'
ORDER BY COALESCE(a.tgl_arsip,s.tgl_diterima) ASC, s.no_urut ASC";
$hasil = pg_query($query);
$baris = 2;
$a=1;
while ($data = pg_fetch_array($hasil))
{
$no_pinjam=(int) substr($data['no_urut'],0,5);
$no_urut=sprintf("%05s",$no_pinjam);
$tgl_surat_masuk=date('d-m-Y',strtotime($data[3]));
$objPHPExcel->getSheet(0)
->setCellValue('A'.$baris, $no_urut)
->setCellValue('B'.$baris, $data[1])
->setCellValue('C'.$baris, $data[2])
->setCellValue('D'.$baris, $tgl_surat_masuk)
->setCellValue('E'.$baris, $data[4]);
//->setCellValue('F'.$baris, $data[5]);
$a++;
$baris++;
}
$objPHPExcel->setActiveSheetIndex(0);
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="surat_masuk.xls"');
header('Cache-Control: max-age=0');
} else
if ($a=='Surat Keluar') {
$objPHPExcel->getSheet(0)->setTitle('DATA_SURAT_KELUAR');
$objPHPExcel->getSheet(0)
->setCellValue('A1', 'No')
->setCellValue('B1', 'Kode')
->setCellValue('C1', 'Tgl Surat')
->setCellValue('D1', 'Perihal')
->setCellValue('E1', 'Tujuan')
->setCellValue('F1', 'Pengolah');
$query = "SELECT s.no_urut,(SELECT d.kode FROM kode d WHERE d.id=s.kode_id),
k.kepada,
s.tgl_surat_keluar,
s.perihal
,
CASE WHEN s.satuan_kerja_dari IS NULL THEN (SELECT a.kode_satker FROM satuan_kerja a WHERE a.id=s.satuan_kerja_id)
ELSE
(SELECT k2.kode_satker FROM satuan_kerja k2 WHERE k2.id=s.satuan_kerja_dari)
END,
CASE WHEN s.balasan='t' THEN '1. YA' ELSE '2. TIDAK' END,k.uraian,
CASE WHEN s.satuan_kerja_dari IS NULL THEN (SELECT a.nama FROM satuan_kerja a WHERE a.id=s.satuan_kerja_id)
ELSE
(SELECT t2.nama FROM satuan_kerja t2 WHERE t2.id=s.satuan_kerja_dari)
END,t.tujuan
FROM surat s
LEFT OUTER JOIN kepada k ON (s.id=k.surat_id)
LEFT OUTER JOIN tujuan t ON (t.id=s.tujuan_id)
WHERE s.tgl_surat_keluar::DATE BETWEEN '$tt1-$bb1-$hh1' AND '$tt2-$bb2-$hh2'
AND s.kepada IS NOT NULL
ORDER BY s.no_urut ASC, s.tgl_surat_keluar ASC";
$hasil = pg_query($query);
$baris = 2;
$a=1;
while ($data = pg_fetch_array($hasil))
{
$no_pinjam=(int) substr($data['no_urut'],0,5);
$no_urut=sprintf("%05s",$no_pinjam);
$tgl_surat_keluar=date('d-m-Y',strtotime($data['tgl_surat_keluar']));
$objPHPExcel->getSheet(0)
->setCellValue('A'.$baris, $no_urut)
->setCellValue('B'.$baris, $data[1])
->setCellValue('C'.$baris, $tgl_surat_keluar)
->setCellValue('D'.$baris, $data[4])
->setCellValue('E'.$baris, $data['tujuan'])
->setCellValue('F'.$baris, $data[8]);
$a++;
$baris++;
}
$objPHPExcel->setActiveSheetIndex(0);
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="surat_keluar.xls"');
header('Cache-Control: max-age=0');
} else
if ($a=='Arsip') {
$objPHPExcel->getSheet(0)->setTitle('DATA_ARSIP');
$objPHPExcel->getSheet(0)
->setCellValue('A1', 'Dari')
->setCellValue('B1', 'Tgl Surat')
->setCellValue('C1', 'Tgl Arsip')
->setCellValue('D1', 'No Surat')
->setCellValue('E1', 'Perihal')
->setCellValue('F1', 'Jenis')
->setCellValue('G1', 'No Agenda')
->setCellValue('H1', 'Kode');
$query = "SELECT DISTINCT s.surat_dari,s.no_surat,s.perihal,(SELECT j.jenis FROM jenis_disposisi j WHERE j.id=s.jenis_disposisi_id),
s.no_agenda,s.sm_baca,s.id,
(SELECT f.sifat FROM sifat_surat f WHERE f.id=s.sifat_surat_id),s.tgl_surat_masuk,s.tgl_diterima,
(SELECT kode FROM kode WHERE id=s.kode_id),
s.tgl_surat_masuk,s.tgl_diterima,a.tgl_arsip
FROM surat s
LEFT OUTER JOIN kirim k ON (s.id=k.surat_id)
INNER JOIN arsip a ON (a.surat_id=s.id)
WHERE s.jenis_disposisi_id='1'
AND a.tgl_arsip::DATE BETWEEN '$tt1-$bb1-$hh1' AND '$tt2-$bb2-$hh2'
ORDER BY a.tgl_arsip DESC";
$hasil = pg_query($query);
$baris = 2;
$a=1;
while ($data = pg_fetch_array($hasil))
{
$no_pinjam=(int) substr($data['no_agenda'],0,5);
$no_agenda=sprintf("%05s",$no_pinjam);
if (date('d-m-Y',strtotime($data['tgl_surat_masuk']))=='01-01-1970') {
$ag=$data[10].'/'.$no_agenda.'/102.7/'.date('Y',strtotime($data['tgl_arsip']));
} else {
$ag=$data[10].'/'.$no_agenda.'/102.7/'.date('Y',strtotime($data['tgl_surat_masuk']));
}
$tgl_surat_masuk=date('d-m-Y',strtotime($data['tgl_surat_masuk']));
$tgl_arsip=date('d-m-Y',strtotime($data['tgl_arsip']));
$objPHPExcel->getSheet(0)
->setCellValue('A'.$baris, $data['surat_dari'])
->setCellValue('B'.$baris, $tgl_surat_masuk)
->setCellValue('C'.$baris, $tgl_arsip)
->setCellValue('D'.$baris, $data['no_surat'])
->setCellValue('E'.$baris, $data['perihal'])
->setCellValue('F'.$baris, $data[3])
->setCellValue('G'.$baris, $ag)
->setCellValue('H'.$baris, $data[10]);
$a++;
$baris++;
}
$objPHPExcel->setActiveSheetIndex(0);
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="arsip.xls"');
header('Cache-Control: max-age=0');
}
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;
?>