Files
cmasa/app/Scripts/inv/opname_barang.js
T

131 lines
5.4 KiB
JavaScript

/*******************************************************************
PHP Class : /Controller/Inv/OpnamebarangController
Description : Transaksi Penyesuaian Stok Per Barang
Created By : Siau Pheng ([email protected]).
Created Date : October 22nd, 2014.
Last Modified : October 11th, 2026, 2026.
(c) 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var OpnameBarangJS = {
PHP: '',
KODE: '',
html5QrcodeScanner: null,
index: function(){
$('#butSimpan').click(() => this.proses_save());
$('#butBrow').click(() => this.produk_brow());
if (FoniaJS.WEB_MOBILE){
//html5QrcodeScanner = new Html5QrcodeScanner('qr-reader', { fps: 10, qrbox: 250, rememberLastUsedCamera: true, supportedScanTypes: [Html5QrcodeScanType.SCAN_TYPE_CAMERA] });
html5QrcodeScanner = new Html5Qrcode('qr-reader');
html5QrcodeScanner.start({ facingMode: 'environment' }, { fps: 10, qrbox: 250 }, OpnameBarangJS.ScanSukses);
} else {
FoniaJS.AutoComplete('#Nama_Produk', this.PHP + '/auto_produk', [], {'selectFunc': this.Produk_Comp});
FoniaJS.setFocus('#Nama_Produk');
}
},
proses_save: function(){
if ($('#InvID').val()==0) {
FoniaJS.showError('Silakan masukkan Nama Produk!');
return;
}
new Request({
url: this.PHP + '/proses_simpan',
sendParam: ['InvID','SatuanID','VarianID','Stok_Fisik','Harga_Beli','PPN'],
onSuccess: (ajson) => {
if (ajson.status === true){
FoniaJS.showInfo('Sukses simpan penyesuaian Stok !');
$('#InvID, #SatuanID, #VarianID, #Harga_Beli #PPN').val(0);
$('#Nama_Produk, #Kode_Barang, #Nama_Barang, #Nama_Satuan').val('');
$('#Stok_Sistem, #Stok_Fisik').val('0.00');
if (FoniaJS.WEB_MOBILE){
this.html5QrcodeScanner.resume();
} else FoniaJS.setFocus('Nama_Produk');
}
}
}).send();
},
ScanSukses: function(decodedText, decodedResult){
new Request({
url: OpnameBarangJS.PHP + '/scan_produk',
sendParam: ['Cari_Produk='+decodedText],
onSuccess: (ajson) => {
$('#InvID').val(ajson.InvID);
$('#SatuanID').val(ajson.SatuanID);
$('#VarianID').val(ajson.VarianID);
$('#Harga_Beli').val(ajson.Harga_Beli);
$('#Kode_Barang').val(ajson.Kode_Barang);
$('#Nama_Barang').val(ajson.Nama_Barang);
$('#Nama_Satuan').val(ajson.Nama_Satuan);
$('#Stok_Sistem').val(ajson.Stok_Sistem);
$('#PPN').val(ajson.PPN);
FoniaJS.setFocus('#Stok_Fisik');
}
}).send();
this.html5QrcodeScanner.pause();
},
produk_brow: function(){
var _isi = new String('<div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_Produk" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div></div><div id="divBrowProduk">&nbsp;</div>');
this.winBProduk = FoniaJS.showWindow('BProduk', 'Daftar Barang', _isi, 'xl', '', () => {
$('#winBProduk')
.find('#Cari_Produk').keydown((e) => {
var key = e.keyCode || e.which || 0;
if (key==13 && e.target.value!='') this.data_query('brow-produk');
}).end()
.find('#butSearch').click(() => this.data_query('brow-produk')).end()
.find('#butAll').click(() => {
$('#winBProduk').find('#Cari_Produk').val('');
this.data_query('brow-produk');
});
this.data_query('brow-produk');
});
},
produk_select: function(acell){
FoniaJS.closeWindow(this.winBProduk);
$('#InvID').val(acell[0]);
$('#SatuanID').val(acell[1]);
$('#VarianID').val(acell[2]);
$('#Harga_Beli').val(acell[7]);
$('#Kode_Barang').val(acell[3]+' / '+acell[4]);
$('#Nama_Barang').val(acell[5]);
$('#Nama_Satuan').val(acell[6]);
$('#Stok_Sistem').val(acell[8]);
$('#PPN').val(acell[9]);
FoniaJS.setFocus('#Stok_Fisik');
},
data_query: function(tipe){
if (tipe=="brow-produk"){
new Request_JSF({
url: this.PHP + '/brow_produk',
sendParam: ['Cari_Produk'],
onSuccess: () => FoniaJS.setFocus('#Cari_Produk')
}).send();
}
},
Produk_Comp: function(item){
// Cari by SKU + Barcode
// Satuan : Varian : SKU + Barcode : Harga_Pokok : Satuan : PPN : Stok
var adata = item.data.split(':');
$('#InvID').val(item.value);
$('#SatuanID').val(adata[0]);
$('#VarianID').val(adata[1]);
$('#Harga_Beli').val(adata[3]);
$('#Kode_Barang').val(adata[2]);
$('#Nama_Barang').val(item.text);
$('#Nama_Satuan').val(adata[4]);
$('#Stok_Sistem').val(adata[6]);
$('#PPN').val(adata[5]);
FoniaJS.setFocus('#Stok_Fisik');
}
};