Files
ias/apps/php/ias/jual_lunas_sales.php
T
2026-01-22 15:30:17 +07:00

130 lines
6.3 KiB
PHP

<?php
/*******************************************************************
App. Name : Inventory Advanced Systems
Module : /apps/php/ias/jual_lunas_sales.php
Desc. : PHP - Transaksi Pelunasan Sales
Created By : Siau Pheng ([email protected]).
Created Date : March 29th, 2012.
Last Modified : October 29th, 2023.
(c) 2012 - 2023, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
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\Table;
use siaupheng\fonia3\Web\Form;
$db = (is_resource($db)) ? $db : new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode", "view");
$mode_detail = Param::Get("mode_detail");
$id_sales = Param::Get("SalesID", 0);
if ( $data == "master" ) {
$ajson = ['error'=>"", 'html'=>""];
$atabel = ['PegID'=>$id_sales,'Alamat_Pegawai'=>"Tanpa Alamat Sales",'Tgl_Bayar'=>"0000-00-00"];
if ($id_sales > 0) {
$db->Query("SELECT * FROM para_pegawai WHERE PegID='".$id_sales."'");
if (!$db->Next()) {
$ajson['error'] = "Nomor Transaksi belum ada / tidak diketemukan !";
} else $atabel = array_merge($atabel, $db->AllRow());
}
$form = new Form($db);
$tsales = $form->option_db("_", "SalesID", $atabel['PegID'], true, false, "para_pegawai", ["PegID","Nama_Pegawai"], "Jenis_PegID='".$_SESSION['__APP_IAS']['GRUP_PEG_SALES']."' ORDER BY Nama_Pegawai", [0,"Tanpa Nama Sales"], null, "JualLunasSalesJS.data_query('master');");
$ttglbayar = $form->datebox("_", "Tgl_Bayar", $atabel['Tgl_Bayar'], true, false);
$tsalesal = $form->textarea("_", "Alamat_Pegawai", $atabel['Alamat_Pegawai'], false, false, 2);
$ajson['html'] = '
<div class="row">
<div class="col-sm-12 col-lg-6">
<div class="row mb-1">
<label class="col-sm-5 col-lg-3 col-form-label" for="SalesID">Nama Sales</label>
<div class="col">'.$tsales.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-5 col-lg-3 col-form-label" for="Tgl_Bayar">Tanggal Bayar</label>
<div class="col-sm-7 col-lg-5">'.$ttglbayar.'</div>
</div>
</div>
<div class="col-sm-12 col-lg-6">
<div class="row mb-1">
<label class="col-sm-5 col-lg-3 col-form-label">Alamat Sales</label>
<div class="col">'.$tsalesal.'</div>
</div>
</div>
</div>
<div class="row mb-1"><div class="col"><hr class="my-1"></div></div>
';
} else if ( $data == "tabel-detail" ) {
if ( $mode == "bayar" ) {
$tgl_bayar = tgl_sql2str(Param::Get("Tgl_Bayar"));
$alist = Param::Get_ArrayCBOX();
foreach ($alist as $_key => $_val) {
if ($_val=="Y") {
$anota = ['Jumlah'=>0, 'Rekap'=>0];
$db->Query("SELECT (Total_Jual-Total_Diskon-Total_Potong) Jumlah,Rekap FROM inv_jual WHERE No_Jual='".$_key."'");
if ($db->Next()) $anota = $db->AllRow();
$db->Query("INSERT INTO inv_jual_lunas (No_Jual,Tgl_Bayar,Tipe,Total_Bayar,UserID) VALUES ('".$_key."','".$tgl_bayar."','1','".$anota['Jumlah']."','".user_id()."')");
$db->Query("UPDATE inv_jual SET Tgl_Lunas='".$tgl_bayar."',Total_Bayar='".$anota['Jumlah']."',Lunas=1 WHERE No_Jual='".$_key."' LIMIT 1");
if ($anota['Rekap']==0) {
$db->Query("UPDATE inv_jual SET Rekap=1 WHERE No_Jual='".$_key."' LIMIT 1");
scs_update_jual($_key, true);
}
}
}
}
$obj = new Table($db);
$obj->set_query("SELECT J.*,O.Nama_Alamat,'N' Pilih FROM (SELECT OutletID,No_Jual,Tgl_Jual,Tgl_JT,Total_Jual-Total_Diskon Total_Faktur,Total_Bayar+Total_Potong Total_Bayar,Total_Jual-Total_Diskon-Total_Bayar-Total_Potong Total_Sisa,CK FROM inv_jual WHERE Lunas=0 AND No_DO<>'' AND SalesID='".$id_sales."') J LEFT JOIN vi_para_outlet O ON (J.OutletID=O.OutletID)");
$obj->set_query_footer("SELECT SUM(Total_Jual-Total_Diskon) Total_Faktur,SUM(Total_Bayar+Total_Potong) Total_Bayar,SUM(Total_Jual-Total_Diskon-Total_Bayar-Total_Potong) Total_Sisa FROM inv_jual WHERE Lunas=0 AND No_DO<>'' AND SalesID='".$id_sales."'");
$obj->add_field("No_Jual", "No. Trans", "c");
$obj->add_field("Tgl_Jual", "Tgl. Jual", "c", "sqltgl", null, "val-tgl");
$obj->add_field("Tgl_JT", "Jatuh Tempo", "c", "sqltgl", null, "val-tgl");
$obj->add_field("Nama_Alamat", "Nama Outlet", "awr");
$obj->add_field("Total_Faktur", "Faktur", "r", "rupiah", "rupiah");
$obj->add_field("Total_Bayar", "Bayar", "r", "rupiah", "rupiah");
$obj->add_field("Total_Sisa", "Sisa", "r", "rupiah", "rupiah");
$obj->add_field("CK", "C/K", "c");
$obj->set_field_order("No_Jual", "A");
$obj->add_row_checkbox("No_Jual", "Pilih", ["Y","N"]);
$obj->set_func_navi("JualLunasSalesJS.data_query('tabel-detail')");
$ajson[] = $obj->json_table("divDetailTabel");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-body">
<ul class="nav nav-tabs" role="tablist">
<li class="nav-item" role="presentation">
<button class="nav-link active" id="tx-tab" data-bs-toggle="tab" data-bs-target="#tx" type="button" role="tab" aria-controls="tx" aria-selected="true"><i class="bi-database me-2"></i>Transaksi Pelunasan Penjualan via Tagihan Penjualan</button>
</li>
<li class="nav-item ms-auto">
<button class="btn btn-danger mb-1 ms-2" id="butBatal" type="button"><i class="bi-x-lg me-2"></i>Batal</button>
<button class="btn btn-success mb-1 ms-2" id="butSimpan" type="button"><i class="bi-floppy me-2"></i>Simpan</button>
</li>
</ul>
<div class="tab-content border border-top-0 p-3">
<div class="tab-pane fade active show" id="tx" role="tabpanel" aria-labelledby="tx-tab">
<div id="divTXMaster">&nbsp;</div>
<div id="divDetailTabel">&nbsp;</div>
</div>
</div>
</div></div>
</div>';
}
send_json($ajson);
?>