first commit
This commit is contained in:
@@ -0,0 +1,122 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : Inventory Advanced Systems
|
||||
Module : /apps/php/repo/stok_akhir.php
|
||||
Desc. : PHP - Laporan Stok Akhir Produk
|
||||
Created By : Siau Pheng ([email protected]).
|
||||
Created Date : January 24th, 2011.
|
||||
Last Modified : November 18th, 2023.
|
||||
|
||||
(c) 2011 - 2023, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
require_once(__DIR__."/../../../../../vendor/autoload.php");
|
||||
require_once(__DIR__."/../func/ias.php");
|
||||
require_once(__DIR__."/../func/report.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\Printer\PrintHTML;
|
||||
use siaupheng\fonia3\Data\SimpleXLS;
|
||||
|
||||
$db = (is_resource($db)) ? $db : new MySQL();
|
||||
$ajson = [];
|
||||
$data = Param::Get("data");
|
||||
|
||||
if ( $data == "print" || $data == "export" ) {
|
||||
$id_gudang = Param::Get("GudangID", 0);
|
||||
$tgldata = Param::Get("Tgl_Data");
|
||||
|
||||
$agudang = [];
|
||||
if ($id_gudang>0) {
|
||||
$db->Query("SELECT * FROM para_gudang WHERE GudangID='".$id_gudang."' LIMIT 1");
|
||||
if ($db->Next()) $agudang = $db->AllRow();
|
||||
}
|
||||
|
||||
// generate report header
|
||||
$tglheader = "Periode : ".$tgldata;
|
||||
$tgldata = tgl_sql2str($tgldata);
|
||||
$tsql = ($id_gudang==0) ? "" : " AND GudangID='".$id_gudang."'";
|
||||
|
||||
$db->Query("SELECT P.Kode_Produk,P.Nama_Produk,P.Satuan_Normal,P.Satuan_Stok,D.Jumlah,S.Qty Kali FROM (SELECT InvID,SUM(Stok) Jumlah FROM inv_detail WHERE NotaID<>5 OR (NotaID=5 AND Promo=0 AND No_Ref IN (SELECT No_Jual FROM inv_jual WHERE Data_Jual=1 AND Rekap=1)) AND Tgl_Ref<>'0000-00-00' AND Tgl_Ref<='".$tgldata."'".$tsql." GROUP BY InvID) D LEFT JOIN vi_inv_produk P ON (P.InvID=D.InvID) LEFT JOIN inv_produk_kemasan S ON (S.InvID=P.InvID AND S.SatuanID=P.NormalID) WHERE P.Nama_Produk IS NOT NULL ORDER BY P.Grup_InvID,P.Nama_Produk");
|
||||
}
|
||||
|
||||
if ( $data == "print" ) {
|
||||
Report_Header("LAPORAN STOK PRODUK", $tglheader);
|
||||
$pre = new PrintHTML();
|
||||
$pre->set_css("garis");
|
||||
|
||||
if ($id_gudang>0) echo "Nama Gudang : ".$agudang['Nama_Gudang']."<br>";
|
||||
|
||||
$pre->add_field("NO",10,"C");
|
||||
$pre->add_field("KODE",20);
|
||||
$pre->add_field("NAMA PRODUK",200);
|
||||
$pre->add_field("STOK",80,"R");
|
||||
$pre->show_fields();
|
||||
|
||||
$nomor = 1;
|
||||
while ($db->Next()) {
|
||||
$total = $db->Row("Jumlah",0);
|
||||
$kali = $db->Row("Kali",0);
|
||||
$sat_norm = $db->Row("Satuan_Normal");
|
||||
$sat_stok = $db->Row("Satuan_Stok");
|
||||
$pre->add_value($nomor++, $db->Row("Kode_Produk"), $db->Row("Nama_Produk"), Format_Stok($total, $kali, $sat_norm, $sat_stok));
|
||||
}
|
||||
$pre->add_stamp(0, true);
|
||||
$pre->show();
|
||||
|
||||
} else if ( $data == "export" ) {
|
||||
$xls = new SimpleXLS([
|
||||
'title'=>"Laporan Stok Produk",
|
||||
'subject'=>"PT.PMS",
|
||||
'desc'=>"Export Data dari IAS"
|
||||
]);
|
||||
$xls->add_header("<b>".strtoupper($_SESSION['__WEB_APP']['REG_NAME'])."</b>");
|
||||
$xls->add_header("<b>LAPORAN STOK PRODUK</b>");
|
||||
$xls->add_header($tglheader);
|
||||
|
||||
$xls->add_field("NO.", 5, "C");
|
||||
$xls->add_field("KODE", 12, "L");
|
||||
$xls->add_field("NAMA PRODUK", 50, "L");
|
||||
$xls->add_field("STOK", 22, "R");
|
||||
$xls->add_sheet("STOK AKHIR", false);
|
||||
|
||||
if ($id_gudang>0) $xls->add_span(["Nama Gudang : ".$agudang['Nama_Gudang'],4,"L"]);
|
||||
$xls->show_headers();
|
||||
|
||||
$nomor = 1;
|
||||
while ($db->Next()) {
|
||||
$total = $db->Row("Jumlah",0);
|
||||
$kali = $db->Row("Kali",0);
|
||||
$sat_norm = $db->Row("Satuan_Normal");
|
||||
$sat_stok = $db->Row("Satuan_Stok");
|
||||
$xls->add_value($nomor++, $db->Row("Kode_Produk"), $db->Row("Nama_Produk"), Format_Stok($total, $kali, $sat_norm, $sat_stok));
|
||||
}
|
||||
$xls->add_stamp(1, true);
|
||||
$xls->send("Laporan Stok Produk.xlsx");
|
||||
unset($xls);
|
||||
|
||||
} else if ( $data == "default") {
|
||||
$form = new Form($db);
|
||||
$tgudang = $form->option_db("_", "GudangID", 0, true, false, "para_gudang", ["GudangID","Nama_Gudang"], "TRUE ORDER BY Nama_Gudang", [0,"SEMUA GUDANG"]);
|
||||
$ttgldata = $form->datebox("_", "Tgl_Data", tgl_ymd(), true, false);
|
||||
echo '
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-5 col-lg-3 col-form-label" for="GudangID">Nama Gudang</label>
|
||||
<div class="col">'.$tgudang.'</div>
|
||||
</div>
|
||||
<div class="row mb-1"><div class="col"><hr class="my-1"></div></div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-5 col-lg-3 col-form-label" for="Tgl_Data">Tanggal Stok</label>
|
||||
<div class="col">'.$ttgldata.'</div>
|
||||
</div>';
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user