- Beranda
- Komunitas
- Tech
- Programmer Forum
cara menghindari perulangan saat input data di java?


TS
sally31
cara menghindari perulangan saat input data di java?
ane lagi buat aplikasi penjualan. ini ane kasih gambar form penjualannya :
Form
maaf sebelumnya ane jelasin dulu ya ..
ketika klik button 'Tambah', maka akan muncul no nota dan tanggalnya secara otomatis. terus tinggal isi aja nama pembelinya dan barang yang mau dibeli. pilih barangnya klik button yang ada dibawah label kode barang, trus tinggal di klik dan muncul nama barang dan harganya otomatis, dan input jumlah yang ingin dibeli. trus tinggal klik button + maka data barang tadi akan ditampung sementara di tabel. nah yang jadi permasalahannya ini, gimana caranya agar kode barang yg sdh dipilih dan ditampung di tabel itu ga bisa dipilih lagi? jadi hanya boleh satu kali utk memilih 1 jenis kode barang. misal kalo kita klik lagi kode barang yg sdh dipilih tadi, maka pas klik button + akan muncul pesan error "barang sudah dipilih". ane udah coba buat,tapi malah error hehe. mohon agan2 bantuannya..
ini koding button + di form penjualan =
Ini class EntitasDetail_Beli :
class DetailBeli :
Form
maaf sebelumnya ane jelasin dulu ya ..
ketika klik button 'Tambah', maka akan muncul no nota dan tanggalnya secara otomatis. terus tinggal isi aja nama pembelinya dan barang yang mau dibeli. pilih barangnya klik button yang ada dibawah label kode barang, trus tinggal di klik dan muncul nama barang dan harganya otomatis, dan input jumlah yang ingin dibeli. trus tinggal klik button + maka data barang tadi akan ditampung sementara di tabel. nah yang jadi permasalahannya ini, gimana caranya agar kode barang yg sdh dipilih dan ditampung di tabel itu ga bisa dipilih lagi? jadi hanya boleh satu kali utk memilih 1 jenis kode barang. misal kalo kita klik lagi kode barang yg sdh dipilih tadi, maka pas klik button + akan muncul pesan error "barang sudah dipilih". ane udah coba buat,tapi malah error hehe. mohon agan2 bantuannya..
ini koding button + di form penjualan =
Code:
private void btnTambahActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(txtkodebrg.getText().equals("") || txtnota.getText().equals("") || txtnama.getText().equals("")){
JOptionPane.showMessageDialog(null, "Lengkapi inputan pembelian barang");
} else{
int jml=Integer.parseInt(txtjumlah.getText());
int stok=Integer.parseInt(txtstok.getText());
if(jml>stok){
JOptionPane.showMessageDialog(null, "Stok barang tidak mencukupi");
}else{
listEDB=dbc.CekBarang(/*txtnota.getText(),*/txtkodebrg.getText());
if(listEDB.size()>0){
JOptionPane.showMessageDialog(null, "Barang ini sudah anda beli, silahkan pilih yang lain");
} else{
int harga=Integer.parseInt(txtharga.getText());
EntitasDetail_Beli edb=new EntitasDetail_Beli();
// edb.setNonota(txtnota.getText());
edb.setKdbarang(txtkodebrg.getText());
edb.setNmbarang(txtnamabrg.getText());
edb.setHarga(harga);
edb.setJml(jml);
edb.setTotal(harga*jml);
if (dbc.tambahDetailBeli(edb)==0){
JOptionPane.showMessageDialog(null, "Simpan detail data barang gagal, Mohon periksa kembali");
} else{
int sisaStok=stok-jml;
brgc.updateStok(sisaStok, txtkodebrg.getText());
buatTabelBeli();
tampilBarang();
int total=Integer.parseInt(txttotal.getText());
int totalBayar=total+(harga*jml);
txttotal.setText(Integer.toString(totalBayar));
txtkodebrg.setText("");
txtnamabrg.setText("");
txtharga.setText("");
txtjumlah.setText("");
txtstok.setText("");
}
}
}
private DefaultTableModel model;
DetailBeli dbc=new DetailBeli();
ControlBeli bc=new ControlBeli();
ControlBarang brgc=new ControlBarang();
List <Entitas_Beli> listEb=new ArrayList<Entitas_Beli>();
List <EntitasDetail_Beli> listEDB=new ArrayList<EntitasDetail_Beli>();
List <Entitas_Barang> listBarang=new ArrayList<Entitas_Barang>();
Ini class EntitasDetail_Beli :
Code:
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package aplikasipenjualan.entity;
/**
*
* @author Dlc
*/
public class EntitasDetail_Beli {
String nonota,kdbarang,nmbarang;
int harga,jml,total;
public int getHarga() {
return harga;
}
public void setHarga(int harga) {
this.harga = harga;
}
public int getJml() {
return jml;
}
public void setJml(int jml) {
this.jml = jml;
}
public String getKdbarang() {
return kdbarang;
}
public void setKdbarang(String kdbarang) {
this.kdbarang = kdbarang;
}
public String getNmbarang() {
return nmbarang;
}
public void setNmbarang(String nmbarang) {
this.nmbarang = nmbarang;
}
public String getNonota() {
return nonota;
}
public void setNonota(String nonota) {
this.nonota = nonota;
}
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
}
class DetailBeli :
Code:
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package aplikasipenjualan.Method;
import aplikasipenjualan.entity.EntitasDetail_Beli;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
/**
*
* @author internet
*/
public class DetailBeli {
Connection con=null;
Statement st=null;
ResultSet rs=null;
String sql=null;
public DetailBeli(){
try{
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/penjualan","root","");
st=con.createStatement();
}catch(Exception a){
JOptionPane.showMessageDialog(null, "Koneksi Database Gagal, Terjadi kesalahaan Pada : \n"+a);
}
}
public List tampilBarang(String noNota){
List logDetailBeli = new ArrayList();
sql="select kd_barang,namabarang,harga,jumlah,total from tbl_detailjual where no_nota='"+noNota+"'";
try{
rs=st.executeQuery(sql);
while(rs.next()){
EntitasDetail_Beli eb=new EntitasDetail_Beli();
eb.setKdbarang(rs.getString("kd_barang"));
eb.setNmbarang(rs.getString("namabarang"));
eb.setHarga(rs.getInt("harga"));
eb.setJml(rs.getInt("jumlah"));
eb.setTotal(rs.getInt("total"));
logDetailBeli.add(eb);
}
} catch(SQLException a){
JOptionPane.showMessageDialog(null, "Terjadi kesalahan tampil, pada :\n"+a);
}
return logDetailBeli;
}
public List CekBarang(String noNota,String kdBarang){
List logDetailBeli = new ArrayList();
sql="select kd_barang,namabarang,harga,jumlah,total from tbl_detailjual where kd_barang='"+kdBarang+"'";
try{
rs=st.executeQuery(sql);
while(rs.next()){
EntitasDetail_Beli eb=new EntitasDetail_Beli();
eb.setKdbarang(rs.getString("kd_barang"));
eb.setNmbarang(rs.getString("namabarang"));
eb.setHarga(rs.getInt("harga"));
eb.setJml(rs.getInt("jumlah"));
eb.setTotal(rs.getInt("total"));
logDetailBeli.add(eb);
}
} catch(SQLException a){
JOptionPane.showMessageDialog(null, "Terjadi kesalahaan Cek barang, pada :\n"+a);
}
return logDetailBeli;
}
public int tambahDetailBeli(EntitasDetail_Beli e){
sql="insert into tbl_detailjual values('"+e.getNonota()+"','"+e.getKdbarang()
+"','"+e.getNmbarang()+"','"+e.getHarga()+"','"+e.getJml()+"','"+e.getTotal()+"')";
int hasil=0;
try{
hasil=st.executeUpdate(sql);
} catch(SQLException a){
Logger.getLogger(ControlBarang.class.getName()).log(Level.SEVERE,null,a);
}
return hasil;
}
public int deleteDetailBeli(String nonota,String kdbarang){
sql="delete from tbl_detailjual where no_nota='"+nonota+"' and kd_barang='"+kdbarang+"'";
int hasil=0;
try{
hasil=st.executeUpdate(sql);
} catch(SQLException a){
Logger.getLogger(ControlBarang.class.getName()).log(Level.SEVERE,null,a);
}
return hasil;
}
}
Diubah oleh sally31 06-04-2017 12:48


nona212 memberi reputasi
1
1.2K
5


Komentar yang asik ya
Urutan
Terbaru
Terlama


Komentar yang asik ya
Komunitas Pilihan