Files
ias/apps/php/csv/faktur_pajak_biaya.php
T
2026-01-22 15:30:17 +07:00

113 lines
6.2 KiB
PHP

<?php
/*******************************************************************
App. Name : Inventory Advanced Systems
Module : /apps/php/csv/faktur_pajak_biaya.php
Desc. : PHP - Export Data Faktur Pajak Biaya
Created By : Siau Pheng ([email protected]).
Created Date : February 11th, 2017.
Last Modified : August 13th, 2024.
(c) 2011 - 2024, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func/ias.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\DB\SQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Table;
use siaupheng\fonia3\Web\Form;
use siaupheng\fonia3\Data\CSV;
$db = (is_resource($db)) ? $db : new MySQL();
$db2 = $db2 ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$tgl_from = tgl_sql2str(Param::Get("Tgl_From"));
$tgl_to = tgl_sql2str(Param::Get("Tgl_To"));
$jenis_fp = Param::Get("Jenis_FP", 0);
if ( $data == "download" ) {
$aval = [];
$alist = Param::Get_ArrayCBOX();
foreach ($alist as $_key => $_val) {
if ($_val=="Y") array_push($aval, str_replace("_",".",$_key));
}
$tsql = (count($aval)==0) ? "FALSE" : "No_Pajak IN ('".implode("','",$aval)."')";
$db->Query("SELECT P.*,DATE_FORMAT(P.Tgl_Pajak,'%Y') Tahun_Pajak,DATE_FORMAT(P.Tgl_Pajak,'%c') Bulan_Pajak,DATE_FORMAT(P.Tgl_Pajak,'%d/%m/%Y') Tgl_Faktur,IF(P.SupID=0,P.Alamat_NPWP,CONCAT(S.Alamat_Sup,' ',S.Kota_Sup)) Alamat_NPWP2 FROM (SELECT * FROM biaya_pajak WHERE ".$tsql.") P LEFT JOIN para_supplier S ON (S.SupID=P.SupID) ORDER BY P.No_Pajak");
$pre = new CSV();
$pre->add_field("FK");
$pre->add_field("KD_JENIS_TRANSAKSI");
$pre->add_field("FG_PENGGANTI");
$pre->add_field("NOMOR_FAKTUR");
$pre->add_field("MASA_PAJAK");
$pre->add_field("TAHUN_PAJAK");
$pre->add_field("TANGGAL_FAKTUR");
$pre->add_field("NPWP");
$pre->add_field("NAMA");
$pre->add_field("ALAMAT_LENGKAP");
$pre->add_field("JUMLAH_DPP");
$pre->add_field("JUMLAH_PPN");
$pre->add_field("JUMLAH_PPNBM");
$pre->add_field("ID_KETERANGAN_TAMBAHAN");
$pre->add_field("FG_UANG_MUKA");
$pre->add_field("UANG_MUKA_DPP");
$pre->add_field("UANG_MUKA_PPN");
$pre->add_field("UANG_MUKA_PPNBM");
$pre->add_field("REFERENSI");
$pre->add_field("KODE_DOKUMEN_PENDUKUNG");
$pre->add_value("LT","NPWP","NAMA","JALAN","BLOK","NOMOR","RT","RW","KECAMATAN","KELURAHAN","KABUPATEN","PROPINSI","KODE_POS","NOMOR_TELEPON","","","","","","");
$pre->add_value("OF","KODE_OBJEK","NAMA","HARGA_SATUAN","JUMLAH_BARANG","HARGA_TOTAL","DISKON","DPP","PPN","TARIF_PPNBM","PPNBM","","","","","","","","","");
while ($db->Next()) {
$pre->add_value("FK", "01", $jenis_fp, rapi_fp($db->Row("No_Pajak")), $db->Row("Bulan_Pajak"), $db->Row("Tahun_Pajak"), $db->Row("Tgl_Faktur"), $db->Row("No_NPWP"), $db->Row("Nama_NPWP"), rapi_alamat($db->Row("Alamat_NPWP2")), $db->Row("Jumlah_DPP"), $db->Row("Jumlah_PPN"), 0, "", 0, 0, 0, 0, "", "");
$db2->Query("SELECT *,(Qty*Harga_Jual) Total_Jual,(Qty*Harga_Jual)*PPN Total_PPN FROM biaya_pajak_detail WHERE No_Biaya='".$db->Row("No_Biaya")."' ORDER BY ID");
while ($db2->Next()) {
$pre->add_value("OF", "", $db2->Row("Uraian_Biaya"), $db2->Row("Harga_Jual"), $db2->Row("Qty"), $db2->Row("Total_Jual"), 0, $db2->Row("Total_Jual"), $db2->Row("Total_PPN"), "0", "0", "", "", "", "", "", "", "", "", "");
}
$db2->Query("UPDATE biaya_pajak SET XFP=XFP+1 WHERE No_Pajak='".$db->Row("No_Pajak")."' LIMIT 1");
}
$pre->download("FP-".Param::Get("Tgl_From").".csv");
} else if ( $data == "detail" ) {
$tcari = trim(Param::Get("Cari_FP"));
$tsql = ($tcari=="") ? "" : " AND CONCAT(No_Pajak,No_NPWP,Nama_NPWP,DATE_FORMAT(Tgl_Pajak,'%d-%m-%Y')) LIKE '%".$tcari."%'";
$tot_fp = 50;
$db->Query("SELECT COUNT(*) FP FROM biaya_pajak WHERE Tgl_Pajak BETWEEN '".$tgl_from."' AND '".$tgl_to."'".$tsql);
if ($db->Next()) $tot_fp = $db->RowFloat("FP", 50);
$obj = new Table($db);
$obj->set_query("SELECT *,'N' Nota FROM biaya_pajak WHERE Tgl_Pajak BETWEEN '".$tgl_from."' AND '".$tgl_to."'".$tsql);
$obj->set_query_footer("SELECT SUM(Jumlah_DPP) Jumlah_DPP,SUM(Jumlah_PPN) Jumlah_PPN FROM biaya_pajak WHERE Tgl_Pajak BETWEEN '".$tgl_from."' AND '".$tgl_to."'".$tsql);
$obj->add_field("No_Pajak", "NSFP", "c");
$obj->add_field("Tgl_Pajak", "Tgl. FP", "c", "sqltgl");
$obj->add_field("No_NPWP", "NPWP", "l");
$obj->add_field("Nama_NPWP", "Nama NPWP", "awr");
$obj->add_field("Jumlah_DPP", "Jumlah DPP", "r", "rupiah", "rupiah");
$obj->add_field("Jumlah_PPN", "Jumlah PPN", "r", "rupiah", "rupiah");
$obj->add_field("XFP", "CSV", "c");
$obj->set_field_order("No_Pajak", "A");
$obj->add_row_checkbox("No_Pajak", "Nota", ["Y","N"]);
$obj->set_func_navi("CSVBiayaJS.data_query('detail')");
$ajson[] = $obj->json_table("divDetail", $tot_fp);
} else if ( $data == "default") {
$form = new Form($db);
$tdari = $form->datebox("_", "Tgl_From", tgl_ymd(), true, false);
$tsamp = $form->datebox("_", "Tgl_To", tgl_ymd(), true, false);
echo '
<div class="card"><div class="card-header custom-style">Export Data Faktur Pajak Biaya</div><div class="card-body"><div class="row mb-1"><div class="col d-flex justify-content-between"><div class="d-flex">'.$tdari.'<div><input type="text" class="form-control-plaintext text-center px-2" value="S / D"></div>'.$tsamp.'</div><div class="ms-2 input-group"><input class="form-control" id="Cari_FP" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button></div><button class="btn btn-info shadow-none ms-2 dropdown-toggle" id="butCSV" type="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="bi-cloud-download me-2"></i>Export CSV</button><div class="dropdown-menu" aria-labelledby="butCSV"><a class="dropdown-item" href="#" id="csvNormal">Faktur Pajak Normal</a><a class="dropdown-item" href="#" id="csvPengganti">Faktur Pajak Pengganti</a></div></div></div><div id="divDetail">&nbsp;</div></div></div>';
}
send_json($ajson);
?>