/******************************************************************* App. Name : INVENTORY AND SALES SYSTEMS Module : /apps/js/iss/opname_barang.js Desc. : JS - Transaksi Penyesuaian Stok Per Barang Created By : Siau Pheng (siaupheng@3fonia.com). Created Date : October 22nd, 2014. Last Modified : September 21st, 2025. (c) 2014 - 2025, 3FONIA Software; WWW.3FONIA.COM. *******************************************************************/ var OpnameBarangJS = { PHP: '', KODE: '', html5QrcodeScanner: null, loading: function(){ $('#butSimpan').click(function(){this.proses_save();}.bind(this)); $('#butBrow').click(function(){this.produk_brow();}.bind(this)); if (FoniaJS.WEB_MOBILE){ html5QrcodeScanner = new Html5Qrcode('qr-reader'); html5QrcodeScanner.start({ facingMode: 'environment' }, { fps: 10, qrbox: 250 }, OpnameBarangJS.ScanSukses); } else { FoniaJS.AutoComplete('#Nama_Produk', this.PHP, ['data=auto-produk'], {'selectFunc': OpnameBarangJS.Produk_Comp}); FoniaJS.setFocus('#Nama_Produk'); } }, proses_save: function(){ if ($('#InvID').val()==0) { FoniaJS.showError('Silakan masukkan Nama Produk!'); return; } new Request.JSON({ url: this.PHP, sendParam: ['data=simpan-opname','InvID','Stok_Fisik'], onSuccess: function(ares){ if (ares.Status){ FoniaJS.showInfo('Sukses simpan penyesuaian Stok !'); $('#InvID').val(0); $('.form-control').val('') if (FoniaJS.WEB_MOBILE){ this.html5QrcodeScanner.resume(); } else FoniaJS.setFocus('Nama_Produk'); } }.bind(this) }).send(); }, ScanSukses: function(decodedText, decodedResult){ new Request.JSON({ url: OpnameBarangJS.PHP, sendParam: ['data=scan-produk','Cari_Produk='+decodedText], onSuccess: function(ajson){ $('#InvID').val(ajson.InvID); $('#Kode_Barang').val(ajson.Kode_Barang); $('#Nama_Barang').val(ajson.Nama_Barang); $('#Nama_Satuan').val(ajson.Nama_Satuan); $('#Stok_Sistem').val(ajson.Stok_Sistem); FoniaJS.setFocus('#Stok_Fisik'); } }).send(); this.html5QrcodeScanner.pause(); }, produk_brow: function(){ var _isi = new String('
 
'); this.winBProduk = FoniaJS.showWindow('BProduk', 'Daftar Barang', _isi, 900, '', function(){ $('#winBProduk') .find('#Cari_Produk').keydown(function(e){ var key = e.keyCode || e.which || 0; if (key==13 && e.target.value!='') this.data_query('brow-produk'); }.bind(this)).end() .find('#butSearch').click(function(e){ this.data_query('brow-produk'); }.bind(this)).end() .find('#butAll').click(function(){ $('#winBProduk').find('#Cari_Produk').val(''); this.data_query('brow-produk'); }.bind(this)); this.data_query('brow-produk'); }.bind(this)); }, produk_select: function(acell){ FoniaJS.closeWindow(this.winBProduk); $('#InvID').val(acell[0]); $('#Kode_Barang').val(acell[1]+' / '+acell[2]); $('#Nama_Barang').val(acell[5]); $('#Nama_Satuan').val(acell[6]); OpnameBarangJS.update_Stok(); }, data_query: function(tipe){ if (tipe=="brow-produk"){ new Request.JSONF({ url: this.PHP, sendParam: ['data=brow-produk','Cari_Produk'], onSuccess: function(){ FoniaJS.setFocus('#Cari_Produk'); } }).send(); } }, Produk_Comp: function(item){ var adata = item.data.split(':'); $('#InvID').val(item.value); $('#Kode_Barang').val(adata[0]); $('#Nama_Barang').val(adata[1]); $('#Nama_Satuan').val(adata[2]); OpnameBarangJS.update_Stok(); }, update_Stok: function(){ new Request.JSONF({ url: this.PHP, sendParam: ['data=cek_stok','InvID'], onSuccess: function(){ FoniaJS.setFocus('#Stok_Fisik'); } }).send(); } };