first commit
This commit is contained in:
@@ -0,0 +1,182 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : Inventory Advanced Systems
|
||||
Module : /apps/php/repo/rekap_outlet_oli.php
|
||||
Desc. : PHP - Rekap Penj. Outlet Produk Sosro & Oli
|
||||
Created By : Siau Pheng ([email protected]).
|
||||
Created Date : November 20th, 2014.
|
||||
Last Modified : January 20th, 2024.
|
||||
|
||||
(c) 2014 - 2024, 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\Web\Param;
|
||||
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" ) {
|
||||
$tipe = Param::Get("Tipe", 1); // 1, 2
|
||||
$tglfrom = Param::Get("Tgl_From");
|
||||
$tglto = Param::Get("Tgl_To");
|
||||
|
||||
// generate report header
|
||||
$tglheader = "Periode : ".$tglfrom;
|
||||
if ($tglfrom!==$tglto) $tglheader .= " S/D ".$tglto;
|
||||
$tglfrom = tgl_sql2str($tglfrom);
|
||||
$tglto = tgl_sql2str($tglto);
|
||||
|
||||
$sjudul = "OLI"; $tsql1 = ""; $tsql2 = "/B.Qty"; $tsql3 = "5";
|
||||
if ($tipe==1) {
|
||||
$sjudul = "SOSRO"; $tsql1 = " NOT"; $tsql2 = ""; $tsql3 = "3";
|
||||
}
|
||||
|
||||
$tsql = (Param::Get("Semua",2)==1) ? " WHERE D.OutletID2 IS NOT NULL" : "";
|
||||
$ahasil = []; $aprod = [];
|
||||
$db->Query("SELECT O.OutletID,O.Nama_Outlet,O.Alamat_Outlet,D.* FROM (SELECT * FROM para_outlet WHERE Grup_OutletID".$tsql1." IN (14,18,19,20,21,22,23,25,26,27,28,29,30,31,32,33,34,35,36)) O LEFT JOIN (SELECT A.No_Ref,A.InvID,SUM(-A.Stok)".$tsql2." Qty,J.OutletID OutletID2,S.Nama_Pegawai Nama_Sales FROM inv_detail A LEFT JOIN inv_jual J ON (A.No_Ref=J.No_Jual) LEFT JOIN para_pegawai S ON (J.SalesID=S.PegID) LEFT JOIN inv_produk_kemasan B ON (A.InvID=B.InvID AND B.SatuanID=2) WHERE (A.Tgl_Ref BETWEEN '".$tglfrom."' AND '".$tglto."') AND A.InvID IN (SELECT InvID FROM inv_produk WHERE Grup_InvID=".$tsql3." ORDER BY Kode_Produk) AND A.NotaID=5 AND J.Rekap=1 GROUP BY A.No_Ref,A.InvID) D ON (O.OutletID=D.OutletID2)".$tsql." ORDER BY O.Nama_Outlet");
|
||||
while ($db->Next()) {
|
||||
if (!$ahasil[$db->Row("OutletID")]) {
|
||||
$ahasil[$db->Row("OutletID")]['Nama'] = $db->Row("Nama_Outlet");
|
||||
$ahasil[$db->Row("OutletID")]['Alamat'] = $db->Row("Alamat_Outlet");
|
||||
$ahasil[$db->Row("OutletID")]['Sales'] = $db->Row("Nama_Sales");
|
||||
}
|
||||
$ahasil[$db->Row("OutletID")][$db->Row("InvID")] += $db->RowFloat("Qty", 0);
|
||||
$aprod[$db->Row("InvID")] += $db->RowFloat("Qty", 0);
|
||||
}
|
||||
|
||||
$aproduk = array();
|
||||
$db->Query("SELECT InvID,Kode_Produk FROM inv_produk WHERE Grup_InvID='".$tsql3."'");
|
||||
while ($db->Next()) {
|
||||
$aproduk[$db->Row("InvID")] = $db->Row("Kode_Produk");
|
||||
}
|
||||
}
|
||||
|
||||
if ( $data == "print" ) {
|
||||
Report_Header("LAPORAN PENJUALAN ".$sjudul, $tglheader);
|
||||
$pre = new PrintHTML();
|
||||
$pre->set_css("garis");
|
||||
$pre->add_field("NO.",5,"C");
|
||||
$pre->add_field("NAMA OUTLET",80);
|
||||
$pre->add_field("ALAMAT OUTLET",100);
|
||||
$pre->add_field("SALES",20);
|
||||
foreach ($aprod as $_key => $_val) {
|
||||
if ($_key == "") continue;
|
||||
$pre->add_field($aproduk[$_key],50,"R","rupiah2");
|
||||
}
|
||||
$pre->add_field("TOTAL",50,"R","rupiah2");
|
||||
$pre->show_fields();
|
||||
|
||||
$tot = 0; $no = 1;
|
||||
foreach ($ahasil as $_key => $_val) {
|
||||
$_tot = 0;
|
||||
$_atmp = array($no, $_val['Nama'], $_val['Alamat'], $_val['Sales']);
|
||||
foreach ($aprod as $_key2 => $_val2) {
|
||||
if ($_key2 == "") continue;
|
||||
$_atmp[] = $_val[$_key2];
|
||||
$_tot += $_val[$_key2];
|
||||
}
|
||||
$_atmp[] = $_tot;
|
||||
$pre->add_value($_atmp);
|
||||
$no++;
|
||||
}
|
||||
$_tot = 0;
|
||||
$_atmp = array("", "TOTAL", "", "");
|
||||
foreach ($aprod as $_key2 => $_val2) {
|
||||
if ($_key2 == "") continue;
|
||||
$_atmp[] = $_val2;
|
||||
$_tot += $_val2;
|
||||
}
|
||||
$_atmp[] = $_tot;
|
||||
$pre->add_value($_atmp);
|
||||
|
||||
$pre->add_stamp(0, true);
|
||||
$pre->show();
|
||||
|
||||
} else if ( $data == "export" ) {
|
||||
$xls = new SimpleXLS([
|
||||
'title'=>"Laporan Penjualan ".ucfirst($sjudul)."",
|
||||
'subject'=>"PT.PMS",
|
||||
'desc'=>"Export Data dari IAS"
|
||||
]);
|
||||
$xls->add_header("<b>".strtoupper($_SESSION['__WEB_APP']['REG_NAME'])."</b>");
|
||||
$xls->add_header("<b>LAPORAN PENJUALAN ".$sjudul."</b>");
|
||||
$xls->add_header($tglheader);
|
||||
|
||||
$xls->add_field("NO.", 6, "C");
|
||||
$xls->add_field("NAMA OUTLET", 30, "L");
|
||||
$xls->add_field("ALAMAT OUTLET", 80, "L");
|
||||
$xls->add_field("SALES", 20, "L");
|
||||
foreach ($aprod as $_key => $_val) {
|
||||
if ($_key == "") continue;
|
||||
$xls->add_field($aproduk[$_key],12,"R,N");
|
||||
}
|
||||
$xls->add_field("TOTAL",12,"R,N");
|
||||
$xls->add_sheet("REKAP PENJUALAN ".$sjudul, false);
|
||||
$xls->show_headers();
|
||||
|
||||
$tot = 0; $no = 1;
|
||||
foreach ($ahasil as $_key => $_val) {
|
||||
$_tot = 0;
|
||||
$_atmp = array($no, $_val['Nama'], $_val['Alamat'], $_val['Sales']);
|
||||
foreach ($aprod as $_key2 => $_val2) {
|
||||
if ($_key2 == "") continue;
|
||||
$_atmp[] = $_val[$_key2];
|
||||
$_tot += $_val[$_key2];
|
||||
}
|
||||
$_atmp[] = $_tot;
|
||||
$xls->add_value($_atmp);
|
||||
$no++;
|
||||
}
|
||||
$_tot = 0;
|
||||
$_atmp = array("", "TOTAL", "", "");
|
||||
foreach ($aprod as $_key2 => $_val2) {
|
||||
if ($_key2 == "") continue;
|
||||
$_atmp[] = $_val2;
|
||||
$_tot += $_val2;
|
||||
}
|
||||
$_atmp[] = $_tot;
|
||||
$xls->add_value($_atmp);
|
||||
|
||||
$xls->add_stamp(1, true);
|
||||
$xls->send("Laporan Penjualan ".ucfirst($sjudul).".xlsx");
|
||||
unset($xls);
|
||||
|
||||
} else if ( $data == "default") {
|
||||
$form = new Form($db);
|
||||
$ttipe = $form->radio("_", "Tipe", 1, true, false, [1=>"Sosro",2=>"Oli"], null);
|
||||
$tsemua = $form->radio("_", "Semua", 2, true, false, [1=>"Ya",2=>"Tidak"]);
|
||||
$ttglfrom = $form->datebox("_", "Tgl_From", tgl_ymd(), true, false);
|
||||
$ttglto = $form->datebox("_", "Tgl_To", tgl_ymd(), true, false);
|
||||
echo '
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-5 col-lg-3 col-form-label" for="Tipe">Tipe Laporan</label>
|
||||
<div class="col">'.$ttipe.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-5 col-lg-3 col-form-label" for="Semua">Semua Outlet</label>
|
||||
<div class="col">'.$tsemua.'</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_From">Dari Tanggal</label>
|
||||
<div class="col">'.$ttglfrom.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-5 col-lg-3 col-form-label" for="Tgl_To">Sampai Tanggal</label>
|
||||
<div class="col">'.$ttglto.'</div>
|
||||
</div>';
|
||||
}
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user