app = $app; $this->db = $db; $this->id_grup_member = $session->get('APP_INV')['ECERANID']; $this->id_inv = Param::Int("InvID", 0); } public function brow_produk() { $tcari = Param::Get("Cari_Produk"); $tsql = ''; $asql = [1, $this->id_grup_member]; if (!empty($tcari)) { $tsql .= " AND Barcode_Nama LIKE ?"; $asql[] = '%' . $tcari . '%'; } $obj = new Table($this->app); $obj->set_table("inv_produk_join", "*", "Aktif=? AND Grup_MemberID=? AND Harga_Jual>0".$tsql, $asql); $obj->add_field("InvID", "ID", "hid"); $obj->add_field("Kode_SKU", "SKU", "c"); $obj->add_field("Kode_Barcode", "Barcode", "c"); $obj->add_field("Nama_Lengkap", "Nama Barang", "awr"); $obj->add_field("Harga_Jual", "Harga Jual", "r", "rupiah"); $obj->add_field("Satuan_Kemasan", "Satuan", "hid"); $obj->set_field_order("Kode_SKU", "A"); $obj->set_func_select("CekHargaJS.produk_select"); $this->app->json([ $obj->db_table("divBrowProduk") ]); } public function auto_produk() { $tcari = Param::Get("Auto_Query", ""); $ajson['autodata'] = []; $bcode = 0; $arec = []; // Cari by SKU + Barcode // Kode_SKU + Kode_Barcode : Satuan_Kemasan : Harga_Jual $_row = $this->db->fetchRow("SELECT P.InvID,P.Nama_Produk_Varian,CONCAT(P.Kode_SKU,' / ',P.Kode_Barcode,':',P.Satuan_Kemasan,':',CONVERT(FORMAT(P.Harga_Jual,2) USING UTF8)) Data2 FROM (SELECT * FROM inv_produk_join WHERE Aktif=1 AND Harga_Jual>0 AND Grup_MemberID=? AND (Kode_SKU=? OR Kode_Barcode=?)) P", [$this->id_grup_member, $tcari, $tcari]); if ($_row) { $bcode = 1; $arec = $_row->getData(); } if ($bcode === 1) { $ajson['autodata'][] = ['value'=>$arec['InvID'], 'text'=>$arec['Nama_Produk_Varian'], 'data'=>$arec['Data2'], 'bc'=>1]; } else { $stat = $this->db->runQuery("SELECT P.InvID,P.Nama_Lengkap,P.Nama_Produk_Varian,P.Kode_SKU,P.Harga_Jual,CONCAT(P.Kode_SKU,' / ',P.Kode_Barcode,':',P.Satuan_Kemasan,':',CONVERT(FORMAT(P.Harga_Jual,2) USING UTF8)) Data2 FROM (SELECT * FROM inv_produk_join WHERE Barcode_Nama LIKE ? AND Aktif=1 AND Harga_Jual>0 AND Grup_MemberID=?) P ORDER BY P.Nama_Produk,P.Qty LIMIT 50", ['%'.$tcari.'%', $this->id_grup_member]); while ($row = $stat->fetch(SimplePdo::FETCH_ASSOC)) { $ajson['autodata'][] = ['value'=>$row['InvID'], 'text'=>$row['Nama_Produk_Varian'], 'html'=>''.$row['Kode_SKU'].' '.$row['Nama_Lengkap'].' - Rp'.rupiah($row['Harga_Jual']).'', 'data'=>$row['Data2'], 'bc'=>0]; } } $this->app->json($ajson); } public function scan_produk() { $tcari = Param::Get("Cari_Produk", ""); $scandata = ['InvID'=>0, 'Kode_Barang'=>"KODE_SKU / KODE_BARCODE", 'Nama_Barang'=>"NAMA_BARANG", 'Nama_Satuan'=>"SATUAN", 'Harga_Jual'=>"", 'Nama_Supplier'=>"BELUM ADA"]; // Cari by SKU + Barcode // InvID : Kode_SKU + Kode_Barcode : Nama_Lengkap : Satuan_Kemasan : Harga_Jual $_row = $this->db->fetchRow("SELECT P.InvID,CONCAT(P.Kode_SKU,' / ',P.Kode_Barcode) Kode_Barang,P.Nama_Produk_Varian Nama_Barang,P.Satuan_Kemasan Nama_Satuan,CONVERT(FORMAT(P.Harga_Jual,2) USING UTF8) Harga_Jual FROM (SELECT * FROM inv_produk_join WHERE Aktif=1 AND Harga_Jual>0 AND Grup_MemberID=? AND (Kode_SKU=? OR Kode_Barcode=?)) P", [$this->id_grup_member, $tcari, $tcari]); if ($_row) $scandata = array_merge($scandata, $_row->getData()); if (isset($scandata['InvID']) && $scandata['InvID'] > 0) { $_row = $this->db->fetchRow("SELECT Nama_Sup Nama_Supplier FROM para_supplier WHERE SupID=(SELECT SupID FROM inv_produk_sup WHERE InvID=? ORDER BY Aktif DESC LIMIT 1)", [$scandata['InvID']]); if ($_row) $scandata = array_merge($scandata, $_row->getData()); } $this->app->json( $scandata ); } public function update_sup() { $n_sup = $this->db->fetchField("SELECT Nama_Sup FROM para_supplier WHERE SupID=(SELECT SupID FROM inv_produk_sup WHERE InvID=? ORDER BY Aktif DESC LIMIT 1)", [$this->id_inv]) ?? "BELUM ADA"; $this->app->json([ ['type'=>"form", 'id'=>"Nama_Supplier", 'value'=>$n_sup] ]); } public function index() { $form = new Form($this->app); $tbrg = $form->textauto("_", "Nama_Produk", ['value'=>0, 'text'=>""], true, true, "Scan SKU / Barcode / Ketik Nama Barang"); $tkode = $form->textbox("_", "Kode_Barang", "KODE_SKU / KODE_BARCODE", false); $tnama = $form->textbox("_", "Nama_Barang", "NAMA_BARANG", false); $tsat = $form->textbox("_", "Nama_Satuan", "SATUAN", false); $tharga = $form->textbox("_", "Harga_Jual", "", false); $tsup = $form->textbox("_", "Nama_Supplier", "", false); $ajson['html'] = ''; if (isMobile()) { $ajson['html'] .= '

Kode SKU / Barcode
'.$tkode.'
'; } else { $ajson['html'] .= '
Kunci Pencarian
'.$tbrg.'

Kode SKU / Barcode
'.$tkode.'
'; } $ajson['html'] .= '
Nama Barang
'.$tnama.'
Satuan
'.$tsat.'
Harga Jual @
'.$tharga.'
Supplier
'.$tsup.'
'; $this->app->json($ajson); } }