You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
511 lines
14 KiB
JavaScript
511 lines
14 KiB
JavaScript
/* DANIEL */
|
|
|
|
/**
|
|
* Menambah baris baru untuk pengisian barang yang akan diretur
|
|
*/
|
|
var b = "b";
|
|
var e = "e";
|
|
var p = "p";
|
|
|
|
var c = 0;
|
|
var baris = 0;
|
|
var kodeBarang ="";
|
|
$(function(){
|
|
/**
|
|
* plugin 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').html(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').text(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;
|
|
};
|
|
|
|
/**
|
|
* Validasi input user
|
|
*/
|
|
var valid = "";
|
|
var cekInput = function() {
|
|
valid = "";
|
|
if($('#tokotujuan').val() == "")
|
|
valid += "Toko Tujuan Harus Diisi!<br />";
|
|
if(isNaN($('#totaltransfer').val()))
|
|
valid += "Jumlah Harus Angka!";
|
|
};
|
|
|
|
/* save data */
|
|
var simpanData = function(){
|
|
var message = $('#frmtransfer').formToArray();
|
|
$.ajax({ type: "post", dataType: "json", url: "transfer_simpan_kembali.php", data: message,
|
|
success: function(result) {
|
|
if (result.hasil == 1) {
|
|
alert("Simpan Data berhasil!");
|
|
$('#btnvalidasi').enabledBtn();
|
|
$('#btntotal').disabledBtn();
|
|
$('#btnsimpan').disabledBtn();
|
|
disableAll();
|
|
$('#idtransfer').val(result.id_transfer);
|
|
} else
|
|
alert("Simpan Data Gagal!");
|
|
}
|
|
});
|
|
};
|
|
|
|
$("#btnsimpan").click(function(){
|
|
hitungTotal();
|
|
hitungJumlah();
|
|
cekInput();
|
|
if(valid == "") {
|
|
confirm('Anda Yakin Akan Simpan Data?', simpanData);
|
|
} else
|
|
alert(valid);
|
|
});
|
|
/*end save data */
|
|
|
|
|
|
/* data validation */
|
|
var validasiData = function(){
|
|
var message = {fakturoper:$('#fakturoper').val(), tgltransfer:$("input[name='tgltransfer']").val(), idtransfer:$('#idtransfer').val()};
|
|
$.ajax({ type: "post", dataType: "json", url: "transfer_validasi_kembali.php", data: message,
|
|
success: function(result) {
|
|
if (result.hasil == 1){
|
|
alert("Validasi Data Berhasil!");
|
|
$('#btnprint').enabledBtn();
|
|
$('#btnvalidasi').disabledBtn();
|
|
$('#btntotal').disabledBtn();
|
|
$('#btnsimpan').disabledBtn();
|
|
disableAll();
|
|
var postvar = {sesi : 8}
|
|
$.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(){
|
|
$('#frmtransfer').attr('action','transfer_print.php');
|
|
$('#frmtransfer').submit();
|
|
});
|
|
|
|
if($.browser.msie)
|
|
$('input').focus(function(){$(this).addClass('iefocus');}).blur(function(){$(this).removeClass('iefocus');});
|
|
|
|
/* pencarian barang */
|
|
$('#pencarian').dialog({
|
|
modal:true,
|
|
autoOpen: false,
|
|
width: 700,
|
|
height: 400,
|
|
overlay: {
|
|
opacity: 0.5,
|
|
background: "black"
|
|
},
|
|
buttons: {
|
|
"Cari": function() {
|
|
cariBarang();
|
|
},
|
|
"Tutup": function() {
|
|
$(this).dialog('close');
|
|
}
|
|
}
|
|
});
|
|
|
|
$("#txtkode").keydown(function(e){
|
|
if(e.keyCode == 13) {
|
|
cariBarang();
|
|
}
|
|
});
|
|
$("#txtnama").keydown(function(e){
|
|
if(e.keyCode == 13) {
|
|
cariBarang();
|
|
}
|
|
});
|
|
|
|
/* event saat button cari barang di click */
|
|
$('.caribarang').live('click', function(){
|
|
$("#txtkode").val("");
|
|
$("#txtnama").val("");
|
|
$("#hasil").html("");
|
|
$('#pencarian').dialog('open');
|
|
$("#txtkode").focus();
|
|
return false;
|
|
});
|
|
|
|
});
|
|
|
|
function setKodeBarang(kode) {
|
|
var id = $('#barisSekarang').text();
|
|
clearValue(id);
|
|
$('#kodebarang' + id).val(kode);
|
|
$('#pencarian').dialog('close');
|
|
$('#kodebarang' + id).focus();
|
|
}
|
|
|
|
function cariBarang() {
|
|
var postvars = { kode:$("#txtkode").val(),
|
|
nama:$("#txtnama").val(),
|
|
kd_supp:$("#kodesupplier").val(),
|
|
nonota:$("#nonota").val(),
|
|
operation: "cari", status: "ok" };
|
|
$.post('fungsi_transfer.php', postvars, function(data) {
|
|
var nota = eval('('+data+')');
|
|
var tabel = "<table width=100% border='0' style='background-color:#000; text-align:center;'>"
|
|
+ "<tr style='background-color:#000; color:#FFF; font-weight:bold;'>"
|
|
+ "<td width=5%>No.</td><td width=25%>Kode Barang</td><td width=30%>Nama</td>"
|
|
+ "<td width=30%>Supplier</td><td width=30%>HP</td><td width=30%>HJ</td></tr>";
|
|
var chasil = 1;
|
|
for(i in nota) {
|
|
tabel += "<tr style='background-color:#FFF;'><td>"+chasil+"</td><td><a href=\"javascript:setKodeBarang('"+nota[i].kode_barang+"')\">"
|
|
+nota[i].kode_barang+"</a></td><td>"+nota[i].nama_barang+"</td><td>"+nota[i].supplier+"</td><td>"+nota[i].hp+"</td><td>"+nota[i].hj+"</td></tr>";
|
|
chasil++;
|
|
}
|
|
tabel += "</table>";
|
|
$("#hasil").html(tabel);
|
|
});
|
|
}
|
|
/**
|
|
* inisialisasi nilai
|
|
*/
|
|
function setNol()
|
|
{
|
|
$('span#idx').text(0);
|
|
$('span#sbaris').text(0);
|
|
$('span#barisSekarang').text(0);
|
|
$('span#jbaris').text(0);
|
|
$('span#banyakData').text(0);
|
|
}
|
|
|
|
function proses(nofaktur)
|
|
{
|
|
var bdata = 0;
|
|
var kdsupp = "";
|
|
var supp = "";
|
|
var pvars = {nofaktur:nofaktur};
|
|
$.post('ambil_kode_barang.php', pvars, function(data){
|
|
kodeBarang = "";
|
|
var no_barang = eval('('+data+')');
|
|
for(i in no_barang) {
|
|
kodeBarang += "<option value=" + no_barang[i].kode_barang + ">" + no_barang[i].kode_barang + "</option>";
|
|
kdsupp = no_barang[i].kd_supplier;
|
|
supp = no_barang[i].supplier;
|
|
//bdata += parseInt(no_barang[i].jumlah);
|
|
//bdata++;
|
|
bdata = no_barang[i].jdata;
|
|
}
|
|
$('#kodesupplier').val(kdsupp);
|
|
$('#namasupplier').val(supp);
|
|
$('span#banyakData').text(bdata);
|
|
});
|
|
|
|
$("#tbltransferdetil").visibleElm();
|
|
$('#btntotal').visibleElm();
|
|
$('#btnsimpan').visibleElm();
|
|
$('#btnvalidasi').visibleElm();
|
|
$('#btnprint').visibleElm();
|
|
|
|
$('#btntotal').disabledBtn();
|
|
$('#btnvalidasi').disabledBtn();
|
|
$('#btnprint').disabledBtn();
|
|
$('#btnsimpan').disabledBtn();
|
|
}
|
|
|
|
function clearValue(id) {
|
|
$('#nomorbarang' + id).val("");
|
|
$('#namabarang' + id).val("");
|
|
$('#kodeasli' + id).val("");
|
|
$('#kodesupp' + id).val("");
|
|
$('#nofaktur' + id).val("");
|
|
$('#hargabeli' + id).val("");
|
|
$('#stok' + id).val("");
|
|
$('#jmlt' + id).val(0);
|
|
}
|
|
|
|
function ambilBarang(idtransfer, status)
|
|
{
|
|
var br = 0;
|
|
var postvar = {idtransfer:idtransfer};
|
|
$.post('transfer_ambil_barang.php', postvar, function(data){
|
|
var barang = eval('('+data+')');
|
|
var tabel = "<table width='100%' border='0' cellpadding='2' id='tdetil' style='background-color:#000;'></table>";
|
|
$("#detiltransfer").append(tabel);
|
|
var trn = "";
|
|
for(i in barang) {
|
|
br++;
|
|
if(status == 'kembali')
|
|
{
|
|
trn = "<tr style='background-color:#FFFFFF;' id='rowdetil"+ br +"'>"
|
|
+ "<td width='12%' align='center'><input type='text' name='kode[]' id='kodebarang"+ br +"' onBlur='ambilKeterangan("+ br +", "+ b +")' value='" + barang[i].kd_barang +"' style='width:100px;' readonly='readonly'/>"
|
|
+ "<input type='hidden' name='kodesupp[]' id='kodesupp"+ br +"' value='" + barang[i].kode_supp +"' style='width:140px;' readonly='readonly'/>"
|
|
+ "<input type='hidden' name='nofaktur[]' id='nofaktur"+ br +"' value='" + barang[i].no_nota +"' style='width:140px;' readonly='readonly'/>"
|
|
+ "<td width='20%' align='center'><input type='text' name='namabarang[]' id='namabarang"+ br +"' value='" + barang[i].nama_barang +"' style='width:220px;' readonly='readonly'/></td>"
|
|
+ "<td width='9%' align='center'><input type='text' name='nomorbarang[]' id='nomorbarang"+ br +"' value='" + barang[i].nomor_barang + "' style='width:60px;' readonly='readonly'/></td>"
|
|
+ "<td width='15%' align='center'><input type='text' name='hargabelisatuan[]' id='hargabeli"+ br +"' value='" + barang[i].harga_satuan +"' style='width:90px;' readonly='readonly'/></td>"
|
|
+ "<td width='8%' align='center'><input type='text' name='stokkomp[]' id='stok"+ br +"' value='" + barang[i].stok +"' onclick='this.select()' style='width:30px;' readonly='readonly'/></td>"
|
|
+ "<td width='8%' align='center'><input type='text' name='jumlahtr[]' id='jmltr"+ br +"' value='" + barang[i].jumlah +"' style='width:50px;' readonly='readonly'/></td>"
|
|
+ "<td width='8%' align='center'><input type='text' name='jumlah[]' id='jmlt"+ br +"' value='0' style='width:50px;' onclick='this.select()'/></td>"
|
|
+ "</tr>";
|
|
$("#tdetil").append(trn);
|
|
ambilKeterangan(br, e);
|
|
$('span#idx').text(br);
|
|
$('span#jbaris').text(br);
|
|
}
|
|
}
|
|
|
|
});
|
|
$("#tbltransferdetil").visibleElm();
|
|
$('#btntotal').visibleElm();
|
|
$('#btnsimpan').visibleElm();
|
|
$('#btnvalidasi').visibleElm();
|
|
$('#btnprint').visibleElm();
|
|
|
|
$('#btntotal').enabledBtn();
|
|
$('#btnvalidasi').enabledBtn();
|
|
$('#btnprint').disabledBtn();
|
|
$('#btnsimpan').enabledBtn();
|
|
|
|
}
|
|
/**
|
|
* Mengambil keterangan berdasarkan kode barang tertentu
|
|
* @param int i baris yang akan diambil keterangannya
|
|
*/
|
|
function ambilKeterangan(i, status)
|
|
{
|
|
var postvar = {idbarang:$('#kodebarang' + i).val()};
|
|
if(status == "e") var postvar = {idbarang:$('#kodebarang' + i).val(), nobarang:$('#nomorbarang' + i).val()};
|
|
$.post('ambil_barang_kembali.php', postvar, function(data)
|
|
{
|
|
var keterangan = eval('('+data+')');
|
|
$('#kodesupp' + i).val(keterangan[0].kode_supp);
|
|
$('#nofaktur' + i).val(keterangan[0].no_faktur);
|
|
$('#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_kembali.php', postvar, function(data)
|
|
{
|
|
var opt = "";
|
|
var nm = eval('('+data+')');
|
|
for(n in nm)
|
|
opt += "<option value="+nm[n].nomor+">"+nm[n].nomor+"</option>";
|
|
if(status == "b")
|
|
$('#nomorbarang' + i).empty();
|
|
$('#nomorbarang' + 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:$('#kodebarang' + i).val(), nobarang:$('#nomorbarang' + i).val()};
|
|
$.post('ambil_barang_kembali.php', postvar, function(data)
|
|
{
|
|
var keterangan = eval('('+data+')');
|
|
$('#namabarang' + i).val(keterangan[0].nama_barang);
|
|
var hrgp = decodeHrgP(keterangan[0].harga_beli);
|
|
$('#hargabeli' + i).val(hrgp);
|
|
$('#stok' + i).val(keterangan[0].stok);
|
|
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Menghitung total retur
|
|
*/
|
|
function hitungTotal()
|
|
{
|
|
var total = 0;
|
|
var jb = $('span#idx').text();
|
|
for(var id=1; id<=jb; id++)
|
|
{
|
|
var jm = $("#jmlt" + 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);
|
|
}
|
|
}
|
|
$("#totaloper").val(total);
|
|
}
|
|
|
|
/**
|
|
* Melakukan decode harga pokok
|
|
*/
|
|
function decodeHrgP(strHrgP){
|
|
var i = 0;
|
|
var kode = "";
|
|
for(i=0;i<strHrgP.length;i++){
|
|
kode += dec(strHrgP.substr(i,1));
|
|
}
|
|
return kode;
|
|
}
|
|
function dec(hrg){
|
|
switch(hrg){
|
|
case "B" : return "1";break;
|
|
case "R" : return "2";break;
|
|
case "A" : return "3";break;
|
|
case "W" : return "4";break;
|
|
case "N" : return "5";break;
|
|
case "F" : return "6";break;
|
|
case "O" : return "7";break;
|
|
case "X" : return "8";break;
|
|
case "E" : return "9";break;
|
|
case "S" : return "0";break;
|
|
}
|
|
}
|
|
/**
|
|
* Menghitung jumlah item transfer
|
|
*/
|
|
function hitungJumlah()
|
|
{
|
|
var jum = 0;
|
|
jumlah = 0;
|
|
var jb = $('span#idx').text();
|
|
for(var id=1; id<=jb; id++)
|
|
{
|
|
var jum = $("#jmlt" + id).val();
|
|
if(jum == null) continue;
|
|
else
|
|
jumlah += parseInt(jum);
|
|
}
|
|
$("span#banyakData").val(jumlah);
|
|
$("#jumlahoper").val(jumlah);
|
|
}
|
|
|
|
|
|
/**
|
|
* Melakukan disable elemen setelah disimpan
|
|
*/
|
|
function disableAll()
|
|
{
|
|
document.forms[0].btncari.disabled = true;
|
|
var jb = $('span#idx').text();
|
|
for(var i=1; i<=jb; i++)
|
|
{
|
|
if(document.getElementById('jmlt'+i) != null)
|
|
document.getElementById('jmlt'+i).readOnly = true;
|
|
if(document.getElementById(i) != null)
|
|
document.getElementById(i).disabled = true;
|
|
}
|
|
document.forms[0].tokotujuan.readOnly = true;
|
|
document.forms[0].diskon.readOnly = true;
|
|
|
|
}
|
|
|