laporan rekap promo dan export data excel ubah pilihan group produk menjadi multiple.

This commit is contained in:
2026-04-25 15:59:11 +07:00
parent 3762931658
commit eb5281c429
8 changed files with 41 additions and 44 deletions
+1 -1
View File
@@ -17,7 +17,7 @@ $APP_DATA = [
'host' => "127.0.0.1",
'port' => "3306",
'user' => "ias_pms",
'pwd' => "14sp0nt12810",
'pwd' => "r4h4s14",
'db' => "ias_pms",
'sock' => ""
];
+5 -5
View File
@@ -5,9 +5,9 @@
Desc. : JS - Laporan Penjualan Produk Promo
Created By : Siau Pheng ([email protected]).
Created Date : July 22th, 2011.
Last Modified : March 28th, 2025.
Last Modified : April 25th, 2026.
(c) 2011 - 2025, 3FONIA Software; WWW.3FONIA.COM.
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
@@ -16,9 +16,9 @@ var RepoRekapPromoJS = {
KODE: '',
loading: function(){
$('#butCetak').click(function(){this.proses_print('print');}.bind(this));
$('#butPreview').click(function(){this.proses_print('preview');}.bind(this));
$('#butExcel').click(function(){this.proses_dload();}.bind(this));
$('#butCetak').click(() => this.proses_print('print'));
$('#butPreview').click(() => this.proses_print('preview'));
$('#butExcel').click(() => this.proses_dload());
this.oc_Grup();
},
+4 -4
View File
@@ -4,7 +4,7 @@
Desc. : JS - Informasi Aplikasi
Created By : Siau Pheng ([email protected]).
Created Date : November 23th, 2011.
Last Modified : February 12th, 2026.
Last Modified : February 28th, 2026.
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
@@ -56,14 +56,14 @@ var AboutJS = {
update_run: function(){
new Request.JSON({
url: this.PHP,
sendParam: ['data=proses_update','new_sha1','new_date'],
sendParam: ['data=proses_update'],
onSuccess: (adata) => {
if (adata.sukses==true) {
if (adata.success==true) {
$('#spanStatus').html(adata.message);
FoniaJS.showInfo('Aplikasi telah di Update.<br>Silakan refresh browser Anda!');
} else {
FoniaJS.showInfo('Aplikasi gagal di Update.');
}
console.log(adata.message);
}
}).send();
}
+3 -3
View File
@@ -5,9 +5,9 @@
Desc. : JS - Export XLS Penjualan
Created By : Siau Pheng ([email protected]).
Created Date : April 2rd, 2011.
Last Modified : June 27th, 2025.
Last Modified : April 25th, 2026.
(c) 2011 - 2025, 3FONIA Software; WWW.3FONIA.COM.
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
@@ -16,7 +16,7 @@ var XLSJualJS = {
KODE: '',
loading: function(){
$('#butExcel').click(function(){this.proses_dload();}.bind(this));
$('#butExcel').click(() => this.proses_dload());
},
proses_dload: function(){
+6 -3
View File
@@ -124,7 +124,11 @@ if ( $data == "master" ) {
$tno_pajak = $form->textbox("_", "No_Pajak", $atabel['No_Pajak'], false, false, "text");
$ttgllunas = $form->datebox("_", "Tgl_Lunas", $atabel['Tgl_Lunas'], false, false);
$tcatat = $form->textarea("_", "Catatan", $atabel['Catatan'], $enable, true, 1);
$tck = ($enable) ? '<select class="form-select" id="CK" name="CK" onchange="JualJS.oc_CK();"><option value="C"'.($atabel['CK']=="C"?' selected="selected"':'').'>Tunai</option><option value="K"'.($atabel['CK']=="K"?' selected="selected"':'').'>Non Tunai</option></select>' : '<button class="btn btn-secondary" type="button" disabled="">'.['C'=>"Tunai",'K'=>"Non Tunai"][$atabel['CK']].'</button>';
$tck = '<button class="btn btn-secondary" type="button" disabled="">'.['C'=>"Tunai",'K'=>"Non Tunai"][$atabel['CK']].'</button>';
if ($enable) {
$tck = $form->option("_", "CK", $atabel['CK'], true, false, ['C'=>"Tunai",'K'=>"Non Tunai"], null, "JualJS.oc_CK()");
$tck = str_replace("option-tags", "", $tck);
}
$ajson['html'] = '
<div class="row">
<div class="col-sm-12 col-lg-6">
@@ -201,8 +205,7 @@ if ( $data == "master" ) {
<input type="hidden" id="Lunas" value="'.$atabel['Lunas'].'" >
<input type="hidden" id="Rekap" value="'.$atabel['Rekap'].'" >
<input type="hidden" id="Termin" value="'.$atabel['Termin'].'" >
<input type="hidden" id="mode" value="'.$mode.'" >
';
<input type="hidden" id="mode" value="'.$mode.'" >';
} else if ( $data == "delete" ) {
$db->Query("DELETE FROM inv_jual_lunas WHERE No_Jual='".$nomor."'");
+8 -10
View File
@@ -7,9 +7,9 @@
Desc. : PHP - Laporan Penjualan Produk Promo
Created By : Siau Pheng ([email protected]).
Created Date : July 22th, 2011.
Last Modified : March 28th, 2025.
Last Modified : April 25th, 2026.
(c) 2011 - 2025, 3FONIA Software; WWW.3FONIA.COM.
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
@@ -18,9 +18,7 @@ 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;
@@ -28,7 +26,7 @@ use siaupheng\fonia3\Data\SimpleXLS;
$db = (is_resource($db)) ? $db : new MySQL();
$ajson = [];
$data = Param::Get("data");
$id_grup = Param::Get("Grup_InvID", 0);
$a_grup = Param::Get("Grup_InvID", "0");
$id_inv = Param::Get("InvID", 0);
if ( $data == "print" || $data == "export" ) {
@@ -57,10 +55,10 @@ if ( $data == "print" || $data == "export" ) {
$qdetail = ""; $qsql = "";
if ($id_inv > 0) {
$qdetail = " AND InvID='".$id_inv."'";
} else if ($id_grup > 0) {
$qsql .= " AND P.Grup_InvID='".$id_grup."'";
} else {
} else if ($a_grup == "0") {
$qsql .= " AND P.Grup_InvID NOT IN ('".$_SESSION['__APP_IAS']['GRUP_PRODUK_KEMASAN']."','".$_SESSION['__APP_IAS']['GRUP_PRODUK_HADIAH']."')";
} else {
$qsql .= " AND P.Grup_InvID IN (".$a_grup.")";
}
$qsql .= ($rekap<>"X") ? " AND J.Rekap='".intval($rekap)."'" : "";
$qsql .= ($id_sales>0 && $id_sales<>"NON") ? " AND J.SalesID='".$id_sales."'" : "";
@@ -317,7 +315,7 @@ if ( $data == "print" ) {
unset($xls);
} else if ( $data == "option-produk" ) {
$tsql = ($id_grup == 0) ? " Grup_InvID NOT IN ('".$_SESSION['__APP_IAS']['GRUP_PRODUK_KEMASAN']."','".$_SESSION['__APP_IAS']['GRUP_PRODUK_HADIAH']."')" : " Grup_InvID='".$id_grup."'";
$tsql = ($a_grup == "0") ? " Grup_InvID NOT IN ('".$_SESSION['__APP_IAS']['GRUP_PRODUK_KEMASAN']."','".$_SESSION['__APP_IAS']['GRUP_PRODUK_HADIAH']."')" : " Grup_InvID IN (".$a_grup.")";
$aoption = ['type' => "option", 'id' => "InvID", 'value' => 0, 'avalue' => [['value'=>0,'html'=>"SEMUA PRODUK"]]];
$db->Query("SELECT * FROM inv_produk WHERE".$tsql." ORDER BY Nama_Produk");
while ($db->Next()) {
@@ -336,7 +334,7 @@ if ( $data == "print" ) {
$ttipe = $form->radio("_", "Tipe", "R", true, false, ["R"=>"Rekap","D"=>"Detail","B"=>"Detail + Bonus"]);
$trekap = $form->radio("_", "Rekap", "X", true, false, ["1"=>"Antar","0"=>"Belum Antar","X"=>"Semua"]);
$tsales = $form->option("_", "SalesID", "SEMUA", true, false, $asales);
$tgrup = $form->option_db("_", "Grup_InvID", 0, true, false, "inv_produk_grup", ["Grup_InvID","Nama_Grup"], "Grup_InvID NOT IN ('".$_SESSION['__APP_IAS']['GRUP_PRODUK_KEMASAN']."','".$_SESSION['__APP_IAS']['GRUP_PRODUK_HADIAH']."') ORDER BY Nama_Grup", [0,"SEMUA GRUP PRODUK"], null, "RepoRekapPromoJS.oc_Grup();");
$tgrup = $form->option_db("_", "Grup_InvID", "0", true, false, "inv_produk_grup", ["Grup_InvID","Nama_Grup"], "Grup_InvID NOT IN ('".$_SESSION['__APP_IAS']['GRUP_PRODUK_KEMASAN']."','".$_SESSION['__APP_IAS']['GRUP_PRODUK_HADIAH']."') ORDER BY Nama_Grup", [0,"SEMUA GRUP PRODUK"], null, "RepoRekapPromoJS.oc_Grup();", true);
$tproduk = $form->option("_", "InvID", $id_inv, true, false, []);
$ttglfrom = $form->datebox("_", "Tgl_From", tgl_ymd(), true, false);
$ttglto = $form->datebox("_", "Tgl_To", tgl_ymd(), true, false);
+7 -9
View File
@@ -6,7 +6,7 @@
Desc. : PHP - Informasi Aplikasi
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : November 23th, 2011.
Last Modified : February 12th, 2026.
Last Modified : February 28th, 2026.
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
@@ -37,12 +37,12 @@ if ( $data == "check_update") {
<div class="col col-form-label"><span class="form-control">'.$ainfo['cur_version'].'</span></div>
</div>
<div class="row">
<div class="col-sm-4 col-lg-4 col-form-label">Versi Sekarang</div>
<div class="col-sm-4 col-lg-4 col-form-label">Commit Sekarang</div>
<div class="col col-form-label"><span class="form-control"><strong>'.$ainfo['cur_sha'].'</strong> '.$ainfo['cur_date'].'</span></div>
</div>
<div class="row"><div class="col"><hr class="my-1"></div></div>
<div class="row">
<div class="col-sm-4 col-lg-4 col-form-label">Versi Update</div>
<div class="col-sm-4 col-lg-4 col-form-label">Commit Update</div>
<div class="col col-form-label"><span class="form-control"><strong>'.$ainfo['new_sha'].'</strong> '.$ainfo['new_date'].'</span></div>
</div>
<div class="row">
@@ -50,16 +50,14 @@ if ( $data == "check_update") {
<div class="col col-form-label"><span class="form-control">'.$ainfo['new_message'].'</span></div>
</div>
<div class="row">
<div class="col-sm-4 col-lg-4 col-form-label">Status Update</div>
<div class="col-sm-4 col-lg-4 col-form-label">Status Server</div>
<div class="col">
<span class="form-control text-'.($ainfo['svr_status']==1?'success border-primary':'warning border-danger').'">'.$ainfo['svr_message'].'</span>
<span class="form-control text-'.($ainfo['svr_status']==1?'success border-primary':'warning border-danger').'" id="spanStatus">'.$ainfo['svr_message'].'</span>
</div>
</div>
<input type="hidden" id="new_date" value="'.$ainfo['new_date'].'" >
<input type="hidden" id="new_sha1" value="'.$ainfo['new_sha1'].'" >';
</div>';
} else if ( $data == "proses_update") {
$ajson = $cpd->go_update(Param::Get("new_sha1"), Param::Get("new_date"));
$ajson = $cpd->go_update();
} else if ( $data == "check_db") {
$form = new Form($db);
+7 -9
View File
@@ -7,9 +7,9 @@
Desc. : PHP - Export XLS Penjualan
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : April 2rd, 2011.
Last Modified : July 5th, 2025.
Last Modified : April 25th, 2026.
(c) 2011 - 2025, 3FONIA Software; WWW.3FONIA.COM.
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
@@ -17,7 +17,6 @@ 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\Form;
use siaupheng\fonia3\Data\SimpleXLS;
@@ -25,7 +24,7 @@ use siaupheng\fonia3\Data\SimpleXLS;
$db = (is_resource($db)) ? $db : new MySQL();
$ajson = [];
$data = Param::Get("data");
$id_grup = Param::Get("Grup_InvID", 0);
$a_grup = Param::Get("Grup_InvID", "0");
$tgl_from = Param::Get("Tgl_From");
$tgl_to = Param::Get("Tgl_To");
@@ -37,10 +36,10 @@ if ( $data == "download" ) {
$tgl_to = tgl_sql2str($tgl_to);
$qsql = "";
if ($id_grup > 0) {
$qsql .= " AND InvID IN (SELECT InvID FROM inv_produk WHERE Grup_InvID='".$id_grup."')";
} else {
if ($a_grup == "0") {
$qsql .= " AND InvID IN (SELECT InvID FROM inv_produk WHERE Grup_InvID NOT IN ('".$_SESSION['__APP_IAS']['GRUP_PRODUK_KEMASAN']."','".$_SESSION['__APP_IAS']['GRUP_PRODUK_HADIAH']."'))";
} else {
$qsql .= " AND InvID IN (SELECT InvID FROM inv_produk WHERE Grup_InvID IN (".$a_grup."))";
}
$db->Query("SELECT D.*,J.*,CONCAT(P.Nama_Produk,_latin1' ',S.Nama_Satuan) Nama_Produk,IFNULL(R.Nama_Rasa,'') Rasa,OG.Nama_Grup Grup_Outlet,PG.Nama_Grup Grup_Produk,O.Nama_Outlet,CONCAT(O.Alamat_Outlet,_latin1', ',O.Kota_Outlet) Alamat_Outlet,PS.Nama_Pegawai Nama_Sales,PO.Nama_Pegawai Nama_Supir,Nama_Picker(J.A_Picker) Nama_Picker FROM (SELECT No_Ref,InvID,RasaID,SatuanID,-Qty Qty,Harga_Jual,Total_Diskon,(-Qty*Harga_Jual)-Total_Diskon Jumlah FROM inv_detail WHERE NotaID=5 AND (Tgl_Ref BETWEEN '".$tgl_from."' AND '".$tgl_to."')".$qsql.") D LEFT JOIN (SELECT No_Jual,No_Faktur,No_DO,Tgl_Jual,Tgl_Lunas,OutletID,SalesID,HelperID,SupirID,A_Picker,CK,IF(Rekap=1,'Antar','Belum Antar') Status_Order,Catatan FROM inv_jual WHERE Tgl_Jual BETWEEN '".$tgl_from."' AND '".$tgl_to."') J ON (J.No_Jual=D.No_Ref) LEFT JOIN para_outlet O ON (O.OutletID=J.OutletID) LEFT JOIN para_outlet_grup OG ON (OG.Grup_OutletID=O.Grup_OutletID) LEFT JOIN inv_produk P ON (P.InvID=D.InvID) LEFT JOIN inv_produk_grup PG ON (PG.Grup_InvID=P.Grup_InvID) LEFT JOIN para_satuan S ON (S.SatuanID=D.SatuanID) LEFT JOIN para_rasa R ON (R.RasaID=D.RasaID) LEFT JOIN para_pegawai PS ON (J.SalesID=PS.PegID) LEFT JOIN para_pegawai PO ON (J.SupirID=PO.PegID) ORDER BY J.Tgl_Jual,J.No_Jual,P.Nama_Produk");
@@ -80,7 +79,6 @@ if ( $data == "download" ) {
$xls->add_field("NAMA PICKER", 12, "L");
$xls->add_field("CATATAN", 12, "L");
$xls->add_sheet("".str_replace("S/D","-",$tglheader), true);
//$xls->show_headers();
while ($db->Next()) {
$xls->add_value($db->Row("Tgl_Jual"), $db->Row("Tgl_Lunas"), $db->Row("No_Jual"), $db->Row("No_Faktur"), $db->Row("No_DO"), $db->Row("Nama_Sales"), $db->Row("Grup_Outlet"), $db->Row("Nama_Outlet"), $db->Row("Alamat_Outlet"), $db->Row("Nama_Produk"), $db->Row("Rasa"), $db->RowFloat("Qty"), $db->RowFloat("Harga_Jual"), $db->RowFloat("Total_Diskon"), $db->RowFloat("Jumlah"), $db->Row("Grup_Produk"), $db->Row("Status_Order"), $db->Row("CK"), $db->Row("Nama_Supir"), $db->Row("Nama_Picker"), $db->Row("Catatan"));
@@ -91,7 +89,7 @@ if ( $data == "download" ) {
} else if ( $data == "default") {
$form = new Form($db);
$tgrup = $form->option_db("_", "Grup_InvID", 0, true, false, "inv_produk_grup", ["Grup_InvID","Nama_Grup"], "Grup_InvID NOT IN ('".$_SESSION['__APP_IAS']['GRUP_PRODUK_KEMASAN']."','".$_SESSION['__APP_IAS']['GRUP_PRODUK_HADIAH']."') ORDER BY Nama_Grup", [0,"SEMUA GRUP PRODUK"]);
$tgrup = $form->option_db("_", "Grup_InvID", "0", true, false, "inv_produk_grup", ["Grup_InvID","Nama_Grup"], "Grup_InvID NOT IN ('".$_SESSION['__APP_IAS']['GRUP_PRODUK_KEMASAN']."','".$_SESSION['__APP_IAS']['GRUP_PRODUK_HADIAH']."') ORDER BY Nama_Grup", [0,"SEMUA GRUP PRODUK"], null, null, true);
$ttglfrom = $form->datebox("_", "Tgl_From", tgl_ymd(), true, false);
$ttglto = $form->datebox("_", "Tgl_To", tgl_ymd(), true, false);
echo '