terkadang saya sangad bodoh sekali…..

ini terjadi ketika mendevelope sebuah module pada project yang kami kerjakan. jika anda seorang lulusan atau tau tentang urusan ekonomilah, yang lebih spesifik lagi aja dech, masalah keuangan. dalam project kami ini terdapat module2 besar, module keuangan salah satunya. dalam keuangan terdapat pos-pos anggaran yang di identidikasi menggunakan kode rekening. dalam hal ini ada 3 – 9 digit kode rekening, contohya untuk rekening piutang 104.00.00.00 induknya dengan kode rekening 104 dan “00”nya itu mengacu pada sub-subnya yang menjelaskan lebih spesifik. yang tidak ketinggalan tentu saja ada Kredit dan Debit, dan setiap kali transaksi dilakukan harus “balance” antara Debet dan Kredit, tidak terkecuali module yang saya develope. awalnya menyeimbangkan antara debit dan kredit ini cukup rumit, karena backround pendidikan saya jauh dari “jungkir balik” kegiatan ekonomi, apalagi keunangan meski Bapak Saya bergelut dengan hal ini(Ekonomi -Red). nah, ada transaksi pada sistem ini, JKM istilahNya atau Jurnal Kas Masuk, JKK atau Jurnal Kas Keluar, dan satu lagi JRR atau Jurnal Rupa-Rupa. JKM dan JKK saya rasa sudah pada tau maksudnya seperti apa. tapi yang JRR, saya kira perlu di jelaskan. JRR berguna untuk membolak-balikkan nilai pada Debet dan Kredit, begini ceritanya, jika ada nilai pada Debet yang ingin di Jadikan/dipindahkan ke Kredit ataupun sebaliknya, inilah kegunaan JRR. nah, kebetulan salah satu module yang saya buat itu menggunakan JRR untuk cetak Buktinya (karena setiap transaksi ada bukti fisiknya, selayaknya kwitansi lain sebagainya) dan kasusnya adalah bagaimana membalikkan nilai yang ada di debet menjadi kredit, dan sebaliknya yang di kredit menjadi debet dalam suatu transaksi pembatalan nota. nah, dalam codding, proses ini tidak terllu rumit bila pikiran anda focus. dalam iBatis, nge-get record kredit dan dibit ini sebagai berikut:

 select

no_jurnal as noJurnal,

kode_rekening as kodeRekening,

master_id as masterId,

no_nota as noNota,

jumlah_debit as jumlahDebit,

jumlah_kredit as jumlahKredit,

biaya as biaya         from 			t_jurnal_detail

where

no_jurnal = #noJurnal# 

dengan sintak diatas, kita sudah bisa mendapatkan nilai yang kita inginkan pada debet dan kredit. kurang lebih hasilnya seperti berikut:

noJurnal;kodeRekening;masterId;noNota;JumlahDebit;jumlahKredit;jenisBiaya “295022010”;”704.08.00.00″;””;””;0.00;1400000.00;”” “295022010”;”704.09.00.00″;””;””;0.00;2300000.00;”” “295022010”;”704.12.00.00″;””;””;0.00;200000.00;”” “295022010”;”704.11.00.00″;””;””;0.00;1266200.00;”” “295022010”;”791.11.00.00″;””;””;0.00;6000.00;”” “295022010”;”409.06.00.00″;””;””;0.00;516620.00;”” “295022010”;”103.04.00.00″;”40264″;”4D10000201″;5688820.00;0.00;””

nah ketika record ini kita dapatkan yang di tampung dalam list pada java, selanjutnya adalah membalikan nilai yang ada di kredit menjadi debet, dan yang berada di debet menjadi kredit(JRR). skenario saya adalah melakukan pembalikan tersebut pada java. selanjutnya di dalam looping saya menambahkan script untuk pembalikan:

 if (!(data.getJumlahDebit().equals(new Double(0)))) {                      data.setJumlahKredit(data.getJumlahDebit());                     data.setJumlahDebit(new BigDecimal(0));                  }else if (!(data.getJumlahKredit().equals(new Double(0)))) {                      data.setJumlahDebit(data.getJumlahKredit());                     data.setJumlahKredit(new BigDecimal(0));                  }

dengan baris diatas, sayapun blum berhasil juga membalikan nilai yang ingin di capai (JRR -red). oleh karena pikiran seperti awan yang tidak beraturan dan abstrak sekali, kasus yang sangat mudah sekali ini menjadi jlimet dan menguras pikiran saya saat itu. mash dengan kasus pembalikaan nilai. setelah merenungi dan mencari udara segar di luar gedung PT. PElindo 4 ini akhirnya terbayang juga. yang perlu kita lakukan hanyalah mebalikan nama/inisial pada sql yang kita buat sebelumnya. jadi sqlNya berubah menjadi :

 select 			no_jurnal as noJurnal, 			kode_rekening as kodeRekening, 			master_id as masterId, 			no_nota as noNota, 			jumlah_debit as jumlahKredit, 			jumlah_kredit as jumlahDebit,             biaya as biaya         from 			t_jurnal_detail 		where 			no_jurnal = #noJurnal# 

dengan begini, masalah selesai, tinggal di insert ke tableNya. tidak perlu melakukan kondisi pada java. mungkin ini adalah hal yang terbodoh yang pernah saya kerjakan…… πŸ˜€ hasil querynya menjadi:

noJurnal;kodeRekening;masterId;noNota;JumlahDebit;jumlahKredit;jenisBiaya “0296022010”;”704.08.00.00″;””;””;1400000.00;0.00;”” “0296022010”;”704.09.00.00″;””;””;2300000.00;0.00;”” “0296022010”;”704.12.00.00″;””;””;200000.00;0.00;”” “0296022010”;”704.11.00.00″;””;””;1266200.00;0.00;”” “0296022010”;”791.11.00.00″;””;””;6000.00;0.00;”” “0296022010”;”409.06.00.00″;””;””;516620.00;0.00;”” “0296022010”;”103.04.00.00″;”40264″;”4D10000201″;0.00;5688820.00;””

dengan demikian selesai masalah, coba perhatikan SQL sebelum dan sesudahNya, dan perhatikan hasilnya. yang kredit menjadi debit, yang debit menjadi kredit kan…. πŸ˜€

sangad gampang sekali, dan memang kadang saya juga bodoh sekali… πŸ™‚

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s