first commit
This commit is contained in:
@@ -0,0 +1,128 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
PHP Class : /Controller/System/PrinterController
|
||||
Description : Printer POS
|
||||
Created By : Siau Pheng ([email protected]).
|
||||
Created Date : August 4th, 2013.
|
||||
Last Modified : October 12th, 2026.
|
||||
|
||||
(c) 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Controller\System;
|
||||
|
||||
use flight\Engine;
|
||||
use flight\Session;
|
||||
use flight\database\SimplePdo;
|
||||
use Webapp\DB\SQL;
|
||||
use Webapp\Web\Form;
|
||||
use Webapp\Web\Param;
|
||||
use Webapp\Web\Table;
|
||||
use App\Utils\Invesa;
|
||||
|
||||
class PrinterController {
|
||||
|
||||
private string $mode;
|
||||
private string $id_reg;
|
||||
private string $curr_id_reg;
|
||||
protected Engine $app;
|
||||
protected SimplePdo $db;
|
||||
protected Session $session;
|
||||
|
||||
public function __construct(Engine $app, SimplePdo $db, Session $session) {
|
||||
$this->app = $app;
|
||||
$this->db = $db;
|
||||
$this->session = $session;
|
||||
$this->mode = Param::Get("mode", "");
|
||||
$this->curr_id_reg = (string) $session->get('WEB_APP')['REG_ID'];
|
||||
$this->id_reg = Param::Get("REG_ID", $this->curr_id_reg);
|
||||
}
|
||||
|
||||
public function form_printer() {
|
||||
if ( $this->mode === "save" ) {
|
||||
$sql = new SQL($this->app);
|
||||
$sql->set_table("inv_config");
|
||||
$sql->add_param("PRINT_AUTO");
|
||||
$sql->add_param("PRINT_OPENCD");
|
||||
$sql->add_param("PRINT_AUTOCUT");
|
||||
$sql->add_param("PRINT_ROW");
|
||||
$sql->add_param("TITLE_BEGIN");
|
||||
$sql->add_param("TITLE_END");
|
||||
$sql->add_where("REG_ID");
|
||||
$sql->UpdateDB();
|
||||
|
||||
if ($this->id_reg === $this->curr_id_reg) {
|
||||
$_sess = $this->session->get('APP_INV', []);
|
||||
$_sess['PRINT_AUTO'] = Param::Get("PRINT_AUTO", 1);
|
||||
$_sess['PRINT_OPENCD'] = Param::Get("PRINT_OPENCD", 1);
|
||||
$_sess['PRINT_AUTOCUT'] = Param::Get("PRINT_AUTOCUT", 1);
|
||||
$_sess['PRINT_ROW'] = Param::Get("PRINT_ROW", 0);
|
||||
$_sess['TITLE_BEGIN'] = Param::Get("TITLE_BEGIN", "");
|
||||
$_sess['TITLE_END'] = Param::Get("TITLE_END", "");
|
||||
$this->session->set('APP_INV', $_sess);
|
||||
}
|
||||
|
||||
$ajson['sukses'] = true;
|
||||
$this->mode = "view";
|
||||
}
|
||||
|
||||
$para = [];
|
||||
if ($this->id_reg > 0) {
|
||||
$para = $this->db->fetchRow("SELECT * FROM inv_config WHERE REG_ID=?", [$this->id_reg]);
|
||||
$para['Nama_Cab'] = $this->db->fetchField("SELECT Nama_Cab FROM para_cabang WHERE CabID=?", [$para['CABANGID']]) ?? '';
|
||||
}
|
||||
|
||||
$benable = ($this->mode === "edit") ? true : false;
|
||||
$form = new Form($this->app);
|
||||
$fautoprint = $form->checkbox("_", "PRINT_AUTO", $para['PRINT_AUTO'], $benable, false, [1,0]);
|
||||
$fopencd = $form->checkbox("_", "PRINT_OPENCD", $para['PRINT_OPENCD'], $benable, false, [1,0]);
|
||||
$fautocut = $form->checkbox("_", "PRINT_AUTOCUT", $para['PRINT_AUTOCUT'], $benable, false, [1,0]);
|
||||
$ftitlebegin = $form->textbox("_", "TITLE_BEGIN", $para['TITLE_BEGIN'], $benable, false, "text", "catatan atas struk");
|
||||
$ftitleend = $form->textbox("_", "TITLE_END", $para['TITLE_END'], $benable, false, "text", "catatan bawah struk");
|
||||
$fprintrow = $form->textbox("_", "PRINT_ROW", $para['PRINT_ROW'], $benable, false, "number");
|
||||
|
||||
$ajson['html'] = '
|
||||
<div class="row mb-1">
|
||||
<div class="col">
|
||||
<div class="input-group mb-1"><div class="input-group-text">'.$fautoprint.'</div><span class="input-group-text col">Otomatis Cetak Struk ?</span></div>
|
||||
<div class="input-group mb-1"><div class="input-group-text">'.$fopencd.'</div><span class="input-group-text col">Otomatis Buka Laci Kasir ?</span></div>
|
||||
<div class="input-group mb-1"><div class="input-group-text">'.$fautocut.'</div><span class="input-group-text col">Otomatis Potong Struk ?</span></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1"><hr class="my-1"></div>
|
||||
<div class="row mb-1">
|
||||
<div class="col"><div class="input-group"><span class="input-group-text" style="width:180px;">Header Struk</span>'.$ftitlebegin.Invesa::Form_Info("Gunakan [br] untuk header yang terdiri dari beberapa baris.").'</div></div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<div class="col"><div class="input-group"><span class="input-group-text" style="width:180px;">Footer Struk</span>'.$ftitleend.Invesa::Form_Info("Gunakan [br] untuk footer yang terdiri dari beberapa baris.").'</div></div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<div class="col-6"><div class="input-group"><span class="input-group-text" style="width:180px;">Baris Cetak Kosong</span>'.$fprintrow.Invesa::Form_Info("Jumlah baris kosong dibawah struk/nota sebelum potong.").'</div></div>
|
||||
</div>
|
||||
<input type="hidden" id="mode" value="'.$this->mode.'" >';
|
||||
$ajson['Nama_Cab'] = $para['Nama_Cab'];
|
||||
$this->app->json($ajson);
|
||||
}
|
||||
|
||||
public function brow_cabang() {
|
||||
$obj = new Table($this->app);
|
||||
$obj->set_table("(SELECT * FROM para_cabang WHERE Aktif=1) C LEFT JOIN inv_config G ON (G.CABANGID=C.CabID)", "C.*,G.REG_ID");
|
||||
$obj->add_field("REG_ID", "ID", "hid");
|
||||
$obj->add_field("Kode_Cab", "Kode", "c");
|
||||
$obj->add_field("Nama_Cab", "Nama Cabang", "awr");
|
||||
$obj->set_field_order("Kode_Cab", "A");
|
||||
$obj->set_func_select("PrinterJS.cab_select");
|
||||
$this->app->json([ $obj->json_table("divBrowCab") ]);
|
||||
}
|
||||
|
||||
public function index() {
|
||||
$this->app->json(['html' =>
|
||||
'<div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Nama_Cabang" type="text" disabled readonly><button id="butBrow" class="btn btn-info" type="button"><i class="bi-search"></i></button></div></div></div><div class="card"><div class="card-body"><div id="divPrinter"> </div><input type="hidden" id="REG_ID" value="'.$this->id_reg.'"></div></div>'
|
||||
]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user