/* DANIEL */ var b = "b"; var e = "e"; var p = "p"; var kodeBarang =""; $().ready(function() { /** * plug in button operation(disabled and enabled) * by Daniel Susanto - susantodaniel@gmail.com */ jQuery.fn.disabledBtn = function() { if(this != null){ if(this.attr('disabled') == false) this.attr('disabled', true); } } jQuery.fn.enabledBtn = function() { if(this != null){ if(this.attr('disabled') == true) this.attr('disabled', false); } } /** * plugin element operation(visible and hidden) * by Daniel Susanto - susantodaniel@gmail.com */ jQuery.fn.invisibleElm = function() { if(this != null){ if(this.css('visibility') == 'visible') this.css('visibility', 'hidden'); } } jQuery.fn.visibleElm = function() { if(this != null){ if(this.css('visibility') == 'hidden') this.css('visibility', 'visible'); } } /* $("#tanggal").datepicker({ dateFormat: "dd-mm-yy", showOn: "both", buttonImage: "../images/calendar.gif", buttonImageOnly: true }); */ $("#startDate,#endDate").datepicker({ beforeShow: customRange, dateFormat: "dd-mm-yy", showOn: "both", buttonImage: "../images/calendar.gif", buttonImageOnly: true }); /* * alert function * @param String msg message to be displayed */ var alert = function(msg) { $('p#alertmsg').text(msg); $('#alert').dialog('open'); }; $('#alert').dialog({ modal:true, autoOpen: false, width: 250, height: 70, overlay: { opacity: 0.5, background: "black" }, buttons: { "Ok": function() { $(this).dialog("close"); } } }); /* * confirm function * @param String msg message to be displayed * @param String operation function name called when 'ok' */ var confirm = function(msg, operation){ $('p#confirmMsg').html(msg); $('#confirmDialog').dialog({ modal:true, autoOpen: false, width: 300, height: 100, overlay: { opacity: 0.5, background: "black" }, buttons: { "Ok": function() { operation(); $(this).dialog("close"); $(this).dialog("destroy"); }, "Cancel": function() { $(this).dialog("close"); $(this).dialog("destroy"); } } }); $('#confirmDialog').dialog('open'); return false; }; $("#btntambah").bind("click",function(){ var rc = $('span#idx').text(); hitungTotal(); hitungJumlah(); $('#btnsimpan').enabledBtn(); $('#btntotal').enabledBtn(); rc++; var tbl = "
"; var bretur = "" + "" + "" + "" + "" + "" + "" + ""; if(rc == 1) { $("#detilretur").append(tbl); $("#tdetil").append(bretur); } else $("#tdetil").append(bretur); ambilKeterangan(rc, b); // note the present row id $('span#barisSekarang').text(rc); // note the index row $('span#idx').text(rc); // add the row count var jb = $('span#jbaris').text(); jb++; $('span#jbaris').text(jb); // check row count var sdata = $('span#banyakRetur').text(); if(jb >= sdata) $('#btntambah').disabledBtn(); }); $("#ebtntambah").bind("click",function(){ var kdbr = ""; var pvars = {nofaktur:$('#nonota').val()}; var rc = $('span#idx').text(); hitungTotal(); hitungJumlah(); $('#btnvalidasi').disabledBtn(); $('#btnupdate').enabledBtn(); $('#btntotal').enabledBtn(); rc++; var tbl = "
"; $.post('../umum/ambil_kode_barang.php', pvars, function(data){ nobarang = eval('('+data+')'); for(i in nobarang) { kdbr += ""; } var bretur = "" + "" + "" + "" + "" + "" + "" + ""; if(rc == 1) { $("#detilretur").append(tbl); $("#tdetil").append(bretur); } else $("#tdetil").append(bretur); ambilKeterangan(rc, b); // note the present row id $('span#barisSekarang').text(rc); // note the index row $('span#idx').text(rc); // add the row count var jb = $('span#jbaris').text(); jb++; $('span#jbaris').text(jb); // check row count var sdata = $('span#banyakRetur').text(); if(jb >= sdata) $('#ebtntambah').disabledBtn(); }); }); /** * Validasi input user */ var valid = ""; var cekInput = function() { valid = ""; if(isNaN($('#totalretur').val())) valid += "Jumlah Harus Angka!
"; if(cekJumlah() == 1) valid += "Jumlah Tidak Boleh Nol!"; }; /* save data */ var simpanData = function(){ var message = $('#frmreturbeli').formToArray(); $.ajax({ type: "post", dataType: "json", url: "retur_beli_simpan.php", data: message, success: function(result) { if (result.hasil == 1) { alert("Simpan Data berhasil!"); $('#btnvalidasi').enabledBtn(); $('#btntambah').disabledBtn(); $('#btntotal').disabledBtn(); $('#btnsimpan').disabledBtn(); disableAll(); $('#idretur').val(result.id_retur); } else alert("Simpan Data Gagal!"); } }); }; $("#btnsimpan").click(function(){ hitungTotal(); hitungJumlah(); cekInput(); if(valid == "") { confirm('Anda Yakin Akan Simpan Data?', simpanData); } else alert(valid); }); /* update data */ var updateData = function(){ var message = $('#frmreturbeli').formToArray(); var sdata = $('span#banyakRetur').text(); var jb = $('span#jbaris').text(); $.ajax({ type: "post", dataType: "json", url: "retur_beli_update.php", data: message, success: function(result) { if (result.hasilm == 1 && result.hasild == 1) { alert("Update Data Berhasil!"); $('#btnvalidasi').enabledBtn(); $('#btnupdate').disabledBtn(); $('#idretur').val(result.id_retur); // reload table dengan data yang baru $("#detilretur").empty(); ambilBarang(result.id_retur, $('#nonota').val()); ambilKeteranganRetur($('#nonota').val(), result.id_retur); } else if (result.hasilm == 1 && result.hasild == 0) { alert("Update Data Master Berhasil!"); $('#btnvalidasi').enabledBtn(); $('#btnupdate').disabledBtn(); $('#idretur').val(result.id_retur); // reload table dengan data yang baru $("#detilretur").empty(); ambilBarang(result.id_retur, $('#nonota').val()); ambilKeteranganRetur($('#nonota').val(), result.id_retur); } else if (result.hasilm == 0 && result.hasild == 1) { alert("Update Data Detail Berhasil!"); $('#btnvalidasi').enabledBtn(); $('#btnupdate').disabledBtn(); $('#idretur').val(result.id_retur); // reload table dengan data yang baru $("#detilretur").empty(); ambilBarang(result.id_retur, $('#nonota').val()); ambilKeteranganRetur($('#nonota').val(), result.id_retur); } else { if(jb >= sdata) { alert("Update Data Berhasil!"); $('#btnvalidasi').enabledBtn(); $('#btnupdate').disabledBtn(); $('#idretur').val(result.id_retur); // reload table dengan data yang baru $("#detilretur").empty(); ambilBarang(result.id_retur, $('#nonota').val()); ambilKeteranganRetur($('#nonota').val(), result.id_retur); }else{ alert("Update Data Gagal!"); } } } }); }; $("#btnupdate").click(function(){ hitungTotal(); hitungJumlah(); cekInput(); if(valid == "") { confirm('Anda Yakin Akan Update Data?', updateData); } else alert(valid); }); /* delete row data */ var hapusData = function(){ var brs = $('span#barisSekarang').text(); $("#rowdetil" + brs).remove(); $('#btntambah').enabledBtn(); $('#ebtntambah').enabledBtn(); hitungTotal(); hitungJumlah(); // minus the row count var jb = $('span#jbaris').text(); jb--; $('span#jbaris').text(jb); // check row count if(jb <= 0) { $('#btntotal').disabledBtn(); $('#btnsimpan').disabledBtn(); } }; $('.hapus').live('click', function() { $('span#barisSekarang').text(this.id); confirm('Anda Yakin Akan Hapus Baris?', hapusData); }); /* delete data for edit function*/ var ehapusData = function(){ var brs = $('span#barisSekarang').text(); // hapus db var message = { idretur:$('#idretur').val(), kbarang:$('#skodebarang'+brs).val(), nomor:$('#snomorbarang'+brs).val(), harga:$('#hargabeli'+brs).val() }; $.ajax({ type: "post", dataType: "json", url: "retur_hapus.php", data: message, success: function(result) { if (result.hasil == 1) { alert("Hapus Data berhasil!"); $('#btnvalidasi').enabledBtn(); $('#btnupdate').enabledBtn(); } else alert("Hapus Data Gagal!"); } }); $("#rowdetil" + brs).remove(); $('#ebtntambah').enabledBtn(); hitungTotal(); hitungJumlah(); // minus the row count var jb = $('span#jbaris').text(); jb--; $('span#jbaris').text(jb); // check row count if(jb <= 0) { $('#btntotal').disabledBtn(); $('#btnsimpan').disabledBtn(); } }; $('.ehapus').live('click', function() { $('span#barisSekarang').text(this.id); confirm('Anda Yakin Akan Hapus Baris?', ehapusData); }); /* data validation */ var validasiData = function(){ var message = $('#frmreturbeli').formToArray(); $.ajax({ type: "post", dataType: "json", url: "retur_beli_validasi.php", data: message, success: function(result) { if (result.hasil == 1){ alert("Validasi Data Berhasil!"); $('#btnprint').enabledBtn(); $('#btnvalidasi').disabledBtn(); $('#btntambah').disabledBtn(); $('#ebtntambah').disabledBtn(); $('#btntotal').disabledBtn(); $('#btnsimpan').disabledBtn(); $('#btnupdate').disabledBtn(); disableAll(); var postvar = {sesi : 7} $.post('../log.php',postvar, function(data){ alert(data); }); }else alert("Validasi Data Gagal!"); } }); }; $('#btnvalidasi').click(function(){ confirm('Anda Yakin Akan Validasi Data?', validasiData); }); $('#btnprint').click(function(){ $('#frmreturbeli').attr('action', 'retur_beli_print.php'); $('#frmreturbeli').submit(); }); if($.browser.msie) $('input').focus(function(){$(this).addClass('iefocus');}).blur(function(){$(this).removeClass('iefocus');}); }); function proses(nofaktur) { var bdata = 0; var kdsupp = ""; var supp = ""; var pvars = {nofaktur:nofaktur}; $.post('../umum/ambil_kode_barang.php', pvars, function(data){ kodeBarang = ""; var no_barang = eval('('+data+')'); for(i in no_barang) { kodeBarang += ""; kdsupp = no_barang[i].kd_supplier; supp = no_barang[i].supplier; //bdata += parseInt(no_barang[i].jum); bdata = no_barang[i].jdata; } $('#kodesupplier').val(kdsupp); $('span#banyakRetur').text(bdata); }); $("#tblreturdetil").visibleElm(); $('#btntambah').visibleElm(); $('#btntotal').visibleElm(); $('#btnsimpan').visibleElm(); $('#btnvalidasi').visibleElm(); $('#btnprint').visibleElm(); $('#btntambah').enabledBtn(); $('#btntotal').disabledBtn(); $('#btnvalidasi').disabledBtn(); $('#btnprint').disabledBtn(); $('#btnsimpan').disabledBtn(); } /** * inisialisasi nilai */ function setNol() { $('span#idx').text(0); $('span#sbaris').text(0); $('span#barisSekarang').text(0); $('span#jbaris').text(0); $('span#banyakRetur').text(0); } function ambilBarang(idretur, nofaktur) { var br = 0; var nb = ""; var bdata = 0; var pvars = {nofaktur:nofaktur}; $.post('ambil_kode_barang.php', pvars, function(data){ no_barang = eval('('+data+')'); for(i in no_barang) { nb += ""; bdata = no_barang[i].jdata; } $('span#banyakRetur').text(bdata); }); var postvar = {idretur:idretur}; $.post('retur_ambil_barang.php', postvar, function(data){ barang = eval('('+data+')'); var tabel = "
"; $("#detilretur").append(tabel); var trn = ""; for(i in barang) { br++; trn = "" + "" + "" + "" + "" + "" + "" + ""; $("#tdetil").append(trn); ambilKeterangan(br, e); $('span#idx').text(br); $('span#jbaris').text(br); } }); } function pAmbilBarang(idretur, nofaktur) { var br = 0; var nb = ""; var bdata = 0; var pvars = {nofaktur:nofaktur}; $.post('ambil_kode_barang.php', pvars, function(data){ no_barang = eval('('+data+')'); for(i in no_barang) { nb += ""; bdata += parseInt(no_barang[i].jum); } $('span#banyakRetur').text(bdata); }); var postvar = {idretur:idretur}; $.post('retur_ambil_barang.php', postvar, function(data){ barang = eval('('+data+')'); var tabel = "
"; $("#detilretur").append(tabel); var trn = ""; for(i in barang) { br++; trn = "" + "" + "" + "" + "" + "" + "" + ""; $("#tdetil").append(trn); //ambilKeterangan(br, p); $('span#idx').text(br); $('span#jbaris').text(br); } }); } /** * Mengambil keterangan berdasarkan kode barang tertentu * @param int i baris yang akan diambil keterangannya * @param int status baru(b), edit(e), atau print(p) */ function ambilKeterangan(i, status) { var postvar = {idbarang:$('#skodebarang' + i).val()}; if(status == "e") var postvar = {idbarang:$('#skodebarang' + i).val(), nobarang:$('#snomorbarang' + i).val()}; $.post('ambil_barang.php', postvar, function(data) { var keterangan = eval('('+data+')'); $('#kodeasli' + i).val(keterangan[0].kode_asli); $('#namabarang' + i).val(keterangan[0].nama_barang); var hrgp = decodeHrgP(keterangan[0].harga_beli); $('#hargabeli' + i).val(hrgp); $('#stok' + i).val(keterangan[0].stok); }); if(status != "p") { $.post('ambil_nomor.php', postvar, function(data) { var opt = ""; var nm = eval('('+data+')'); for(n in nm) opt += ""; if(status == "b") $('#snomorbarang' + i).empty(); $('#snomorbarang' + i).append(opt); }); } } /** * Mengambil keterangan berdasarkan kode barang dan nomor barang tertentu * @param int i baris yang akan diambil keterangannya */ function ambilKeteranganNomor(i) { var postvar = {idbarang:$('#skodebarang' + i).val(), nobarang:$('#snomorbarang' + i).val()}; $.post('ambil_barang.php', postvar, function(data) { var keterangan = eval('('+data+')'); $('#kodeasli' + i).val(keterangan[0].kode_asli); $('#namabarang' + i).val(keterangan[0].nama_barang); var hrgp = decodeHrgP(keterangan[0].harga_beli); $('#hargabeli' + i).val(hrgp); $('#stok' + i).val(keterangan[0].stok); }); } function ambilKeteranganRetur(nota, idretur) { var postvar = {nonota:nota, idretur:idretur}; $.post('retur_ambil_keterangan.php', postvar, function(data) { var ket = eval('('+data+')'); $('#tglnota').val(ket.tgl_nota); $('#kodesupplier').val(ket.kd_supplier); $('#jumlahretur').val(ket.jumlah); }); } /** * Menghitung total retur */ function hitungTotal() { var total = 0; var jb = $('span#idx').text(); for(var id=1; id<=jb; id++) { var jm = $("#jmlr" + id).val(); var hr = $("#hargabeli" + id).val(); if(jm == null && hr == null) continue; else { var j = parseInt(jm); var h = parseInt(hr); total += (j * h); } } $("#totalretur").val(total); } /** * Melakukan decode harga pokok */ function decodeHrgP(strHrgP){ var i = 0; var kode = ""; for(i=0;i