144 lines
6.0 KiB
PHP
144 lines
6.0 KiB
PHP
<?php
|
|
|
|
/*******************************************************************
|
|
|
|
App. Name : INVENTORY AND SALES SYSTEMS
|
|
Module : /apps/php/gel/terima.php
|
|
Desc. : PHP - Transaksi Penerimaan Kas
|
|
Created By : Siau Pheng ([email protected]).
|
|
Created Date : April 23rd, 2013.
|
|
Last Modified : September 29th, 2025.
|
|
|
|
(c) 2013 - 2025, 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\DB\SQL;
|
|
use siaupheng\fonia3\Web\Param;
|
|
use siaupheng\fonia3\Web\Table;
|
|
use siaupheng\fonia3\Web\Form;
|
|
|
|
$db = $db ?? new MySQL();
|
|
$ajson = [];
|
|
$data = Param::Get("data");
|
|
$mode = Param::Get("mode", "view");
|
|
$mode_detail = Param::Get("mode_detail");
|
|
$id_cab = Param::Get("CabID", $_SESSION['__APP_INV']['CABANGID']);
|
|
$nomor = Param::Get("No_Kas", "");
|
|
|
|
if ( $data == "master" ) {
|
|
} else if ( $data == "tabel-detail" ) {
|
|
if (in_array($mode_detail, ["insert","update","delete"])) {
|
|
$sql = new SQL($db);
|
|
$sql->set_table("gel_kas");
|
|
$sql->add_param_date("Tgl_Kas");
|
|
$sql->add_param("CabID");
|
|
$sql->add_param("TXID");
|
|
$sql->add_param("Jumlah");
|
|
$sql->add_param("Ket");
|
|
$sql->add_param_userid();
|
|
$sql->add_where("No_Kas");
|
|
|
|
if ( $mode_detail == "insert" ) {
|
|
$nomor = Nomor_Kas_Baru("K", Param::Get("Tgl_Kas"), false);
|
|
$sql->add_param("No_Kas", $nomor);
|
|
$sql->add_param("Tipe_Kas", "I");
|
|
$sql->InsertDB();
|
|
} else if ( $mode_detail == "update" ) {
|
|
$sql->UpdateDB();
|
|
} else if ( $mode_detail == "delete" ) {
|
|
$sql->DeleteDB();
|
|
}
|
|
}
|
|
|
|
$obj = new Table($db);
|
|
$obj->set_query("SELECT * FROM gel_kas WHERE Tipe_Kas='I' AND CabID='".$id_cab."'");//todo: glamore kunci cabang
|
|
$obj->add_field("No_Kas", "No. Trans", "c");
|
|
$obj->add_field("Tgl_Kas", "Tanggal", "c", "sqltgl");
|
|
$obj->add_field("Ket", "Keterangan", "awr");
|
|
$obj->add_field("Jumlah", "Jumlah", "r", "rupiah");
|
|
$obj->set_field_order("No_Kas", "A");
|
|
$obj->add_row_btn("clipboard", "Ubah", "KasTerimaJS.tx_ubah");
|
|
if (user_level(1)) $obj->add_row_btn("trash", "Hapus", "KasTerimaJS.tx_hapus");
|
|
$obj->set_func_navi("KasTerimaJS.data_query('tabel-detail')");
|
|
$ajson[] = $obj->json_table("divDetailTabel");
|
|
|
|
} else if ($data == "detail-tx") {
|
|
$ajson = ['error'=>"", 'html'=>""];
|
|
$atabel = ['No_Kas'=>$nomor, 'CabID'=>$id_cab, 'TXID'=>0, 'Jumlah'=>0];
|
|
|
|
if ($mode_detail == "insert") {
|
|
$atabel['No_Kas'] = "GI-BARU#".$_SESSION['__WEB_APP']['SERVER_ID'].user_id(3);
|
|
$atabel['Tgl_Kas'] = tgl_ymd();
|
|
} else {
|
|
//todo : pencarian hanya pada cabang terkait
|
|
//untuk robinson abaikan filter cabang
|
|
$db->Query("SELECT * FROM gel_kas WHERE Tipe_Kas='I' AND CabID='".$id_cab."' AND No_Kas='".$nomor."'");
|
|
if (!$db->Next()) {
|
|
$ajson['error'] = "Nomor Transaksi belum ada / tidak diketemukan !";
|
|
} else $atabel = array_merge($atabel, $db->AllRow());
|
|
}
|
|
|
|
$form = new Form($db);
|
|
$tnota = $form->textbox("_", "No_Kas", $atabel['No_Kas'], false, false, "text");
|
|
$ttgl = $form->datebox("_", "Tgl_Kas", $atabel['Tgl_Kas'], true, false);
|
|
$tcab = $form->option_db("_", "CabID", $atabel['CabID'], false, false, "para_cabang", ["CabID","Nama_Cab"], "Aktif=1 ORDER BY CabID", [0," "]);//todo: glamore kunci cabang
|
|
$ttx = $form->option_db("_", "TXID", $atabel['TXID'], true, false, "para_tx_kas", ["TXID","Nama_TX"], "Grup_TX='I' AND Aktif=1 ORDER BY Nama_TX", [0," "]);
|
|
$tjumlah = $form->textbox("_", "Jumlah", $atabel['Jumlah'], true, false, "double");
|
|
$tket = $form->textarea("_", "Ket", $atabel['Ket'], true, false, 2);
|
|
$ajson['html'] = '
|
|
<div class="row mb-1">
|
|
<label class="col-sm-5 col-lg-3 col-form-label" for="No_Kas">Nomor Transaksi</label>
|
|
<div class="col-sm-7 col-lg-5">'.$tnota.'</div>
|
|
</div>
|
|
<div class="row mb-1">
|
|
<label class="col-sm-5 col-lg-3 col-form-label" for="Tgl_Kas">Tanggal Transaksi</label>
|
|
<div class="col-sm-7 col-lg-5">'.$ttgl.'</div>
|
|
</div>
|
|
<div class="row mb-1">
|
|
<label class="col-sm-5 col-lg-3 col-form-label" for="CabID">Nama Cabang</label>
|
|
<div class="col">'.$tcab.'</div>
|
|
</div>
|
|
<div class="row mb-1">
|
|
<label class="col-sm-5 col-lg-3 col-form-label" for="TXID">Jenis Transaksi</label>
|
|
<div class="col">'.$ttx.'</div>
|
|
</div>
|
|
<div class="row mb-1">
|
|
<label class="col-sm-5 col-lg-3 col-form-label" for="Ket">Keterangan</label>
|
|
<div class="col">'.$tket.'</div>
|
|
</div>
|
|
<div class="row mb-1">
|
|
<label class="col-sm-5 col-lg-3 col-form-label" for="Jumlah">Jumlah</label>
|
|
<div class="col-sm-7 col-lg-5">'.$tjumlah.'</div>
|
|
</div>
|
|
<input type="hidden" id="mode_detail" value="'.$mode_detail.'" >';
|
|
|
|
} 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 Penerimaan Kas</button>
|
|
</li>
|
|
<li class="nav-item ms-auto">
|
|
<button class="btn btn-primary mb-1 ms-2" id="butTambah" type="button"><i class="bi-plus-lg me-2"></i>Tambah</button>
|
|
<button class="btn btn-secondary mb-1 ms-2 d-none" id="butCari" type="button"><i class="bi-search me-2"></i>Cari</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="divDetailTabel"> </div>
|
|
</div>
|
|
</div>
|
|
</div></div>
|
|
</div>';
|
|
}
|
|
|
|
send_json($ajson);
|
|
?>
|