0) { $db->Query("SELECT * FROM vi_para_desa WHERE DesaID='".$id_kel."' LIMIT 1"); if ($db->Next()) $adesa = $db->AllRow(); } $tsql = " Tahun='".$tahun."' AND JU IN (0,2)"; $tsql .= ($id_kec==0) ? "" : " AND KecID='".$id_kec."'"; $tsql .= ($id_kel==0) ? "" : " AND KelID='".$id_kel."'"; // proses rekap database Report_Empty("mus_bel"); $db->Query("INSERT INTO rep_mus_bel SELECT T.Tahun,T.KelID,T.BelID,SUM(T.Rupiah),'".user_unix()."','".user_id()."' FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") T GROUP BY T.BelID"); if ($tipe == "D") { $db->Query("SELECT T.*,B.K_Belanja,B.N_Belanja,CONCAT(T.Volume,' ',S.N_Satuan) Vol_Satuan,O.S_OPD,RB.* FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") T LEFT JOIN para_belanja B ON (B.BelID=T.BelID) LEFT JOIN para_satuan S ON (S.SatuanID=T.SatuanID) LEFT JOIN para90_opd O ON (O.OPDID=T.OPDID) LEFT JOIN rep_mus_bel RB ON (T.KelID=RB.KelID AND T.BelID=RB.BelID AND T.Tahun=RB.Tahun AND RB.UserID='".user_id()."' AND RB.Unix='".user_unix()."') ORDER BY B.K_Belanja,T.Kode"); } else {// REKAP $db->Query("SELECT RB.*,B.K_Belanja,B.N_Belanja FROM (SELECT * FROM rep_mus_bel WHERE Tahun='".$tahun."' AND KelID='".$id_kel."' AND Unix='".user_unix()."' AND UserID='".user_id()."') RB LEFT JOIN para_belanja B ON (RB.BelID=B.BelID) ORDER BY B.K_Belanja"); } } if ( $data == "print" ) { if ($tipe == "D") { $t_head = '

REKAP USULAN RKP DESA TAHUN '.($tahun-1).'
UNTUK MUSRENBANG KECAMATAN TAHUN '.$tahun.'

DESA'.$adesa['N_Desa'].'
KECAMATAN'.$adesa['N_Kec'].'
KABUPATENSAMBAS
'; $t_foot = '
Usulan KegiatanLokasiVolumeSasaranWaktuJumlahOPD
'; $_line = '%s%s%s%s%s%s%s%s'; $_sub = '%s%s%s '; $body = $t_head; $kbel = ""; while ($db->Next()) { if ($kbel <> $db->Row("K_Belanja")) { $body .= sprintf($_sub, $db->Row("K_Belanja"), $db->Row("N_Belanja"), rupiah($db->Row("BEL_RUPIAH"))); $kbel = $db->Row("K_Belanja"); } $body .= sprintf($_line, $db->Row("Kode"), $db->Row("Usulan"), $db->Row("Lokasi"), $db->Row("Vol_Satuan"), $db->Row("Sasaran"), $db->Row("Waktu"), rupiah($db->Row("Rupiah")), $db->Row("S_OPD")); } $body .= sprintf($t_foot); } else {// REKAP $t_head = '

REKAP USULAN RKP DESA TAHUN '.($tahun-1).'
UNTUK MUSRENBANG KECAMATAN TAHUN '.$tahun.'

DESA'.$adesa['N_Desa'].'
KECAMATAN'.$adesa['N_Kec'].'
KABUPATENSAMBAS
'; $t_foot = '
KodeJenis BelanjaJumlah
'; $_line = '%s%s%s'; $_sub = '%s%s'; $body = $t_head; $tot_rupiah = 0; while ($db->Next()) { $body .= sprintf($_line, $db->Row("K_Belanja"), $db->Row("N_Belanja"), rupiah($db->Row("BEL_RUPIAH"))); $tot_rupiah += $db->Row("BEL_RUPIAH"); } $body .= sprintf($_sub, "JUMLAH USULAN KEGIATAN ".$adesa['N_Desa'], rupiah($tot_rupiah)); $body .= sprintf($t_foot); } echo $html . $body; } else if ( $data == "xls") { \PhpOffice\PhpSpreadsheet\Cell\Cell::setValueBinder( new \PhpOffice\PhpSpreadsheet\Cell\AdvancedValueBinder() ); $styleTxt = [ 'numberFormat' => ['formatCode' => \PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_TEXT] ]; $styleNum = [ 'numberFormat' => ['formatCode' => \PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED2] ]; $ssheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet(); $ssheet->getProperties() ->setCreator($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER']) ->setLastModifiedBy($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER']) ->setTitle("Rekap Usulan RKP Desa Tahun ".$tahun) ->setCategory("Rekap Usulan RKP Desa") ->setSubject("Rekap Usulan RKP Desa") ->setDescription("Rekap Usulan RKP Desa") ->setCompany("Bappeda Kabupaten Sambas"); $sheet = $ssheet->getActiveSheet(); $sheet->setTitle("USULAN DESA"); // header $styleHeader = [ 'font' => ['bold' => true], 'alignment' => ['horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER] ]; $styleTableH = [ 'font' => ['bold' => true], 'alignment' => ['horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER, 'vertical' => \PhpOffice\PhpSpreadsheet\Style\Alignment::VERTICAL_CENTER, 'wrapText' => true], 'fill' => ['fillType' => \PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID, 'startColor' => ['rgb'=>"D0D0D0"]], 'borders' => ['allBorders' => ['borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN, 'color' => ['rgb'=>"C0C0C0"]]] ]; $sheet->setCellValue("A1", "REKAP USULAN RKP DESA TAHUN ".($tahun-1)); $sheet->setCellValue("A2", "UNTUK MUSRENBANG KECAMATAN TAHUN ".$tahun); $sheet->setCellValue("A3", "DESA : ".$adesa['N_Desa']); $sheet->setCellValue("A4", "KECAMATAN : ".$adesa['N_Kec']); $sheet->setCellValue("A5", "KABUPATEN : SAMBAS"); if ($tipe == "D") { $sheet->mergeCells('A1:H1'); $sheet->mergeCells('A2:H2'); $sheet->getStyle('A1:H2')->applyFromArray($styleHeader); // table header $sheet->getColumnDimension('A')->setWidth(10); $sheet->getColumnDimension('B')->setWidth(50); $sheet->getColumnDimension('C')->setWidth(30); $sheet->getColumnDimension('D')->setWidth(20); $sheet->getColumnDimension('E')->setWidth(30); $sheet->getColumnDimension('F')->setWidth(10); $sheet->getColumnDimension('G')->setWidth(18); $sheet->getColumnDimension('H')->setWidth(22); $sheet->setCellValue("A6", "Usulan Kegiatan"); $sheet->mergeCells('A6:B6'); $sheet->setCellValue("C6", "Lokasi"); $sheet->setCellValue("D6", "Volume"); $sheet->setCellValue("E6", "Sasaran"); $sheet->setCellValue("F6", "Waktu"); $sheet->setCellValue("G6", "Jumlah"); $sheet->setCellValue("H6", "OPD"); $sheet->getStyle('A6:H6')->applyFromArray($styleTableH); $baris = 7; $kbel = ""; $styleBEL = [ 'font' => ['bold' => true], 'fill' => ['fillType' => \PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID, 'startColor' => ['rgb'=>"A2FFFF"]] ]; while ($db->Next()) { if ($kbel <> $db->Row("K_Belanja")) { $sheet->setCellValue("A".$baris, $db->Row("K_Belanja")); $sheet->setCellValue("B".$baris, $db->Row("N_Belanja")); $sheet->mergeCells('B'.$baris.':F'.$baris); $sheet->setCellValue("G".$baris, $db->RowFloat("BEL_RUPIAH")); $sheet->getStyle('G'.$baris.':G'.$baris)->applyFromArray($styleNum); $sheet->getStyle('A'.$baris.':H'.$baris)->applyFromArray($styleBEL); $baris++; $kbel = $db->Row("K_Belanja"); } $sheet->setCellValue("A".$baris, $db->Row("Kode")); $sheet->setCellValue("B".$baris, $db->Row("Usulan")); $sheet->setCellValue("C".$baris, $db->Row("Lokasi")); $sheet->setCellValue("D".$baris, $db->Row("Vol_Satuan")); $sheet->setCellValue("E".$baris, $db->Row("Sasaran")); $sheet->setCellValue("F".$baris, $db->Row("Waktu")); $sheet->setCellValue("G".$baris, $db->RowFloat("Rupiah")); $sheet->setCellValue("H".$baris, $db->Row("S_OPD")); $sheet->getStyle('G'.$baris.':G'.$baris)->applyFromArray($styleNum); $baris++; } $sheet->getStyle('A7:H'.($baris-1))->applyFromArray(['borders' => ['allBorders' => ['borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN]]]); } else {// REKAP $sheet->mergeCells('A1:C1'); $sheet->mergeCells('A2:C2'); $sheet->getStyle('A1:C2')->applyFromArray($styleHeader); // table header $sheet->getColumnDimension('A')->setWidth(10); $sheet->getColumnDimension('B')->setWidth(70); $sheet->getColumnDimension('C')->setWidth(18); $sheet->setCellValue("A6", "Kode"); $sheet->setCellValue("B6", "Jenis Belanja"); $sheet->setCellValue("C6", "Jumlah"); $sheet->getStyle('A6:C6')->applyFromArray($styleTableH); $baris = 7; $tot_rupiah = 0; $styleBEL = [ 'font' => ['bold' => true], 'fill' => ['fillType' => \PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID, 'startColor' => ['rgb'=>"A2FFFF"]] ]; while ($db->Next()) { $sheet->setCellValue("A".$baris, $db->Row("K_Belanja")); $sheet->setCellValue("B".$baris, $db->Row("N_Belanja")); $sheet->setCellValue("C".$baris, $db->RowFloat("BEL_RUPIAH")); $sheet->getStyle('C'.$baris.':C'.$baris)->applyFromArray($styleNum); $baris++; $tot_rupiah += $db->Row("BEL_RUPIAH"); } $sheet->setCellValue("B".$baris, "JUMLAH USULAN KEGIATAN ".$adesa['N_Desa']); $sheet->setCellValue("C".$baris, $tot_rupiah); $sheet->getStyle('C'.$baris.':C'.$baris)->applyFromArray($styleNum); $sheet->getStyle('A'.$baris.':C'.$baris)->applyFromArray(['font' => ['bold' => true]]); $baris++; $sheet->getStyle('A7:C'.($baris-1))->applyFromArray(['borders' => ['allBorders' => ['borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN]]]); } $sheet->getSheetView()->setZoomScale(75); header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment;filename="Usulan Desa '.$adesa['N_Desa'].'.xlsx"'); header('Cache-Control: max-age=0'); $writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($ssheet, 'Xlsx'); $writer->save('php://output'); $ssheet->disconnectWorksheets(); unset($ssheet); unset($writer); } else if ( $data == "option-kel" ) { $aoption = ['type' => "option", 'id' => "KelID", 'value' => 0, 'avalue' => []]; $db->Query("SELECT * FROM para_lokasi WHERE Aktif=1 AND Level=2 AND IndukID='".$id_kec."' ORDER BY K_Lokasi"); if ($db->RecordCount()<>1) $aoption['avalue'][] = ['value'=>0, 'html'=>""]; while ($db->Next()) { if ($db->RecordCount()==1) $aoption['value'] = $db->Row("LokasiID"); $aoption['avalue'][] = ['value'=>$db->Row("LokasiID"), 'html'=>$db->Row("N_Lokasi")]; } $ajson[] = $aoption; } else if ( $data == "default") { $q_kec = ($_SESSION['__WEB_USER']['Level']==2) ? " AND LokasiID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": " AND Level=1 AND LokasiID>2"; $form = new Form($db); $ttipe = $form->radio("_", "Tipe", "D", true, true, array('D'=>"Detail",'R'=>"Rekap")); $ttahun = $form->option_db("_", "Tahun", $tahun, true, true, "para_periode", array("Tahun","Tahun"), "Tahun BETWEEN '".$_SESSION['__WEB_APP']['Tahun_Min']."' AND '".$_SESSION['__WEB_APP']['Tahun_Max']."'"); $tkec = $form->option_db("_", "KecID", 0, true, true, "para_lokasi", array("LokasiID","N_Lokasi"), "Aktif=1".$q_kec." ORDER BY N_Lokasi", array(0," "), null, "RepoUsulDesaJS.oc_Kec()"); $tkel = $form->option("_", "KelID", 0, true, true, array()); echo '
'.$ttahun.'
'.$tkec.'
'.$tkel.'
'.$ttipe.'
'; } send_json($ajson); ?>