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

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