'.$_SESSION['__WEB_APP']['REG_NPWP'].'
';
$a_tax = '
%s
Normal
04
'.$_SESSION['__WEB_APP']['REG_NPWP'].$_SESSION['__WEB_APP']['REG_NITKU'].'
%s
%s
IDN
%s
%s
%s
-
%s
';
$x_item = '
B
000000
%s
%s
%s
%s
%s
%s
%s
%s
%s
0
0
';
$z_tax = '
';
$z_xml = '
';
}
if ( $data == "download" ) {
$xml = $a_xml;
$alist = Param::Get_ArrayCBOX();
foreach ($alist as $_key => $_val) {
if ($_val!=="Y") continue;
$no_pajak = str_replace("_",".",$_key);
$afp = [];
//pajak per invoice biaya
$db->Query("SELECT P.*,IF(P.SupID=0,P.Alamat_NPWP,CONCAT(S.Alamat_Sup,' ',S.Kota_Sup)) Alamat_NPWP2 FROM (SELECT * FROM biaya_pajak WHERE No_Biaya='".$no_pajak."' LIMIT 1) P LEFT JOIN para_supplier S ON (S.SupID=P.SupID)");
if ($db->Next()) $afp = $db->AllRow();
if (count($afp) > 0) {
$buy_id = "TIN"; $buy_doc = $afp['No_Biaya']; $buy_name = "-"; $buy_addr = "-"; $buy_nitku = $afp['No_NPWP'].$afp['No_NITKU'];
if ($afp['No_NPWP']==0) {
if (($afp['No_NIK']?:0)==0) {
$buy_id = "Other ID";
$buy_nitku = "0";
} else {
$buy_id = "National ID";
$buy_doc = $afp['No_NIK'];
$buy_nitku = "000000";
}
$buy_name = $afp['Nama_NPWP'];
$buy_addr = $afp['Alamat_NPWP2'];
}
$xml .= sprintf($a_tax, $afp['Tgl_Biaya'], $afp['No_NPWP'], $buy_id, $buy_doc, $buy_name, $buy_addr, $buy_nitku);
$db->Query("SELECT *,(Qty*Harga_Jual) Total_Jual FROM biaya_pajak_detail WHERE No_Biaya='".$no_pajak."' ORDER BY ID");
while ($db->Next()) {
$n_dpp = $db->Row("Total_Jual");
$n_dpp_lain = $n_dpp * 11/12;
$n_ppn = $n_dpp_lain * 12/100;//ppn = 12%
$xml .= sprintf($x_item, $db->Row("Uraian_Biaya"), "UM.0030", $db->RowFloat("Harga_Jual"), $db->RowFloat("Qty"), 0.00, round($n_dpp,2), round($n_dpp_lain,2), 12, round($n_ppn,2));
}
$xml .= $z_tax;
$db->Query("UPDATE biaya_pajak SET XFP=XFP+1 WHERE No_Biaya='".$no_pajak."' LIMIT 1");
}
}
$xml .= $z_xml;
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"FPB-".Param::Get("Tgl_From").".xml\"");
echo $xml;
} else if ( $data == "detail" ) {
$tcari = trim(Param::Get("Cari_FP"));
$tsql = ($tcari=="") ? "" : " AND CONCAT(No_Biaya,No_NPWP,Nama_NPWP,DATE_FORMAT(Tgl_Biaya,'%d-%m-%Y')) LIKE '%".$tcari."%'";
$tot_fp = 50;
$db->Query("SELECT COUNT(*) FP FROM biaya_pajak WHERE Tgl_Biaya 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_Biaya BETWEEN '".$tgl_from."' AND '".$tgl_to."'".$tsql);
$obj->add_field("No_Biaya", "No. TX", "c");
$obj->add_field("Tgl_Biaya", "Tgl. Pajak", "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");
$obj->add_field("Jumlah_PPN", "Jumlah PPN", "r", "rupiah");
$obj->add_field("XFP", "XML", "c");
$obj->set_field_order("No_Biaya", "A");
$obj->add_row_checkbox("No_Biaya", "Nota", ["Y","N"]);
$obj->set_func_navi("XMLFPBJS.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 '
';
}
send_json($ajson);
?>