/* 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