first commit
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : Inventory Advanced Systems
|
||||
Module : /apps/php/pdf/po.php
|
||||
Desc. : PHP - Cetak PDF Purchase Order
|
||||
Created By : Siau Pheng ([email protected]).
|
||||
Created Date : April 12th, 2011.
|
||||
Last Modified : January 19th, 2026.
|
||||
|
||||
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
require_once(__DIR__."/../../../../../vendor/autoload.php");
|
||||
require_once(__DIR__."/../func.iss.php");
|
||||
|
||||
use siaupheng\fonia3\DB\MySQL;
|
||||
use siaupheng\fonia3\Web\Param;
|
||||
|
||||
function pdf_po($db, $nota="", $mode="view") {
|
||||
if (trim($nota)=="") return;
|
||||
$baris_faktur = 8;
|
||||
$db->Query("SELECT B.*,DATE_FORMAT(B.Tgl_PO,'%d-%m-%Y') Tgl_PO2,S.Kode_Sup,S.Nama_Sup,S.Alamat_Sup FROM (SELECT * FROM inv_po WHERE No_PO='".$nota."') B LEFT JOIN para_supplier S ON (S.SupID=B.SupID)");
|
||||
if ($db->Next()) $ainfo = $db->AllRow();
|
||||
$ainfo['Alamat_Sup'] = str_replace("\n", "<br>", $ainfo['Alamat_Sup']);
|
||||
|
||||
$db->Query("SELECT D.*,P.Nama_Produk,P.Nama_Satuan FROM (SELECT InvID,SatuanID,Harga_Beli,SUM(Qty) Qty,SUM(Qty*Harga_Beli) Jumlah FROM inv_po_detail WHERE No_PO='".$nota."' AND Qty>0 GROUP BY InvID,SatuanID,Harga_Beli) D LEFT JOIN vi_inv_produk P ON (P.InvID=D.InvID AND P.SatuanID=D.SatuanID) ORDER BY P.Nama_Produk");
|
||||
|
||||
$html = '<table class="judul"><tbody><tr><td>PURCHASE ORDER</td><td class="r">'.$_SESSION['__WEB_APP']['REG_NAME'].'</td></tr></tbody></table><table><tbody><tr><td width="15%">Nomor PO</td><td>'.$ainfo['No_PO'].'</td></tr><tr><td>Tanggal PO</td><td>'.$ainfo['Tgl_PO2'].'</td></tr><tr><td>Supplier</td><td>'.$ainfo['Nama_Sup'].(($ainfo['Kode_Sup'])?" [".$ainfo['Kode_Sup']."]":"").'</td></tr><tr><td>Alamat</td><td>'.$ainfo['Alamat_Sup'].'</td></tr></tbody></table>';
|
||||
$footer = '<htmlpagefooter name="RepFoot%s"><table class="footer"><tr><td width="33%%">INVESA - Robinson</td><td width="34%%" class="c">%s</td><td width="33%%" class="r i">{DATE d-m-Y H:i} / Halaman : {PAGENO} dari {nbpg}</td></tr></table></htmlpagefooter>';
|
||||
$_setfoot = '<sethtmlpagefooter name="RepFoot%s" show-this-page="1" value="on" />';
|
||||
|
||||
$t_head = '<div><table autosize="1" class="garis"><thead><tr><th>No.</th><th>Nama Barang</th><th>Qty</th><th>Satuan</th></tr></thead><tbody>';
|
||||
$t_foot = '</tbody></table></div>';
|
||||
$_line = '<tr><td class="c">%s</td><td class="l">%s</td><td class="r">%s</td><td class="l">%s</td></tr>';
|
||||
|
||||
$html .= sprintf($footer, 10, "Purchase Order ".$ainfo['No_PO']);
|
||||
$html .= sprintf($_setfoot, 10);
|
||||
|
||||
$body .= $t_head; $nomor = 1;
|
||||
while ($db->Next()) {
|
||||
$body .= sprintf($_line, $nomor++, $db->Row("Nama_Produk"), rupiah30($db->Row("Qty")), $db->Row("Nama_Satuan"));
|
||||
}
|
||||
if ($nomor <= $baris_faktur) {
|
||||
$nomor--;
|
||||
for ($x=$baris_faktur; $x>fmod($nomor, $baris_faktur); $x--) {
|
||||
$body .= sprintf($_line, " ", " ", " ", " ");
|
||||
}
|
||||
}
|
||||
$body .= sprintf($t_foot);
|
||||
$body .= '<table class="akhir"><tr><td>Penerima,</td><td>Hormat Kami,</td></tr><tr><td><p> </p><p> </p><p> </p><p> </p>Tanda Tangan & Cap Perusahaan</td><td class="r"> </td></tr></table>';
|
||||
|
||||
$mpdf = new \Mpdf\Mpdf([
|
||||
'mode' => 'c',
|
||||
'format' => 'A4',
|
||||
'margin_left' => 8,
|
||||
'margin_right' => 8,
|
||||
'margin_top' => 8,
|
||||
'margin_header' => 5,
|
||||
'margin_footer' => 5
|
||||
]);
|
||||
$mpdf->SetDisplayMode('fullpage');
|
||||
$css = file_get_contents($_SESSION['__WEB_APP']['REAL_PATH'].'assets/css/pdf/po.css');
|
||||
$mpdf->WriteHTML($css, \Mpdf\HTMLParserMode::HEADER_CSS);
|
||||
$mpdf->WriteHTML($html . $body, \Mpdf\HTMLParserMode::HTML_BODY);
|
||||
$mpdf->SetAuthor($_SESSION['__WEB_APP']['REG_NAME']);
|
||||
$mpdf->SetCreator($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER']);
|
||||
$mpdf->setTitle("Purchase Order ".$ainfo['No_PO']);
|
||||
$mpdf->Output("Purchase Order ".$ainfo['No_PO'].".pdf", ($mode=="view" ? "I" : "D"));
|
||||
unset($mpdf);
|
||||
}
|
||||
|
||||
$db = $db ?? new MySQL();
|
||||
$data = Param::Get("data");
|
||||
$mode = Param::Get("mode", "view");
|
||||
$nomor = Param::Get("Nomor_Cetak");
|
||||
|
||||
if ( $data == "pdf-po" ) {
|
||||
pdf_po($db, $nomor, $mode);
|
||||
|
||||
} else if ( $data == "default") {}
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user