package database;
import fungsi.Admin;
import fungsi.Products;
import fungsi.Supplier;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;
import java.sql.Connection;
import tampilan.Tambah_prod;
import tampilan.Tambah_prod.Pencarian;
import tampilan.Tambah_supp;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
public class dbProducts {
private Connection koneksi;
public dbProducts() {
try {
Class.forName(Config.DATABASE_DRIVER).newInstance();
koneksi = DriverManager.getConnection(Config.URL, Config.username,
Config.password);
} catch (InstantiationException | IllegalAccessException
| ClassNotFoundException | SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void addProduk(JTextField namaSupp, JLabel lblIdSupp, JLabel lblNoIdp,
JTextField namaProd, JTextField harga,
JTextField stock) {
if ((namaSupp.getText().equals("")) || (lblIdSupp.getText().equals(""))
|| (namaProd.getText().equals(""))
|| (harga.getText().equals("")) || (stock.getText().equals("")) || (lblIdSupp.getText().equals("-")) || (harga.getText().equals(null)) || (stock.getText().equals(null)) || (stock.getText().equals("0")) || (harga.getText().equals("0")) ){
JOptionPane.showMessageDialog(null, "Field Tidak Boleh Kosong atau Masukan Salah!",
"Add Failed!", JOptionPane.ERROR_MESSAGE);
} else {
try {
Statement stmt = koneksi.createStatement();
ResultSet rs = stmt.executeQuery("insert into Products values ('"
+ lblNoIdp.getText() + "','" + namaProd.getText()
+ "', '" + lblIdSupp.getText() + "', '"
+ harga.getText() + "', '" + stock.getText() + "')");
JOptionPane.showMessageDialog(null,
"Produk Berhasil Disimpan!", "Added Succes!",
JOptionPane.INFORMATION_MESSAGE);
namaSupp.setText("");
lblIdSupp.setText("");
lblNoIdp.setText("");
namaProd.setText("");
harga.setText("");
stock.setText("");
stmt.close();
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public Vector<Products> viewAll() {
Vector<Products> vHasil = new Vector<Products>();
Products aHasil = null;
try {
Statement stmt = koneksi.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM Products");
while (rs.next()) {
String id = rs.getString(1);
String nama = rs.getString(2);
String idSupp = rs.getString(3);
int harga = rs.getInt(4);
int stock = rs.getInt(5);
aHasil = new Products(id, nama, idSupp, harga, stock);
vHasil.add(aHasil);
}
stmt.close();
} catch (SQLException x) {
x.printStackTrace();
}
return vHasil;
}
public void viewAllBy(String data, String kategori, JTextField text,
JTable table, DefaultTableModel model) {
Vector<Products> vHasil = new Vector<Products>();
String id = "";
Products aHasil = null;
if ((text.getText().equalsIgnoreCase(""))
|| (text.getText().equalsIgnoreCase(null))) {
JOptionPane.showMessageDialog(null, "Data Belum Dimasukkan!",
"Search Failed!", JOptionPane.ERROR_MESSAGE);
} else {
try {
Statement stmt = koneksi.createStatement();
ResultSet rs = stmt
.executeQuery("SELECT * FROM Products where "
+ kategori + " like '%" + data + "%' or "
+ kategori + " like '%" + data + "%'");
while (rs.next()) {
id = rs.getString(1);
String nama = rs.getString(2);
String idSupp = rs.getString(3);
int harga = rs.getInt(4);
int stock = rs.getInt(5);
aHasil = new Products(id, nama, idSupp, harga, stock);
vHasil.add(aHasil);
}
stmt.close();
if (id.equals("")) {
JOptionPane.showMessageDialog(null,
"Data Tidak Ditemukan!", "Data Not Found!",
JOptionPane.ERROR_MESSAGE);
} else {
for (int i = table.getRowCount() - 1; i > -1; i--) {
model.removeRow(i);
}
for (int i = 0; i < vHasil.size(); i++) {
model.addRow(new Object[] {
vHasil.elementAt(i).getIdProd(),
vHasil.elementAt(i).getNama(),
vHasil.elementAt(i).getIdSupp(),
vHasil.elementAt(i).getHarga(),
vHasil.elementAt(i).getStock(),"Edit", "Hapus" });
}
table.setModel(model);
}
} catch (SQLException x) {
x.printStackTrace();
JOptionPane.showMessageDialog(null, "Data Tidak Ditemukan!",
"Data Not Found!", JOptionPane.ERROR_MESSAGE);
}
}
}
public void editProd(JLabel lblID,JTextField nama, JTextField harga, JTable table, int row){
if((nama.getText().equals("")) || (harga.getText().equals(""))){
JOptionPane.showMessageDialog(null, "Field Harus Terisi Semua!", "Edit Failed!", JOptionPane.ERROR_MESSAGE);
}
else {
try{
Statement stmt = koneksi.createStatement();
int hargax = Integer.parseInt(harga.getText());
ResultSet rs = stmt.executeQuery("update Products set nama = '"+nama.getText()+"', harga = "+hargax+" where idProd = '"+lblID.getText()+"' ");
JOptionPane.showMessageDialog(null, "Update Berhasil disimpan!", "Edit Succes!", JOptionPane.INFORMATION_MESSAGE);
table.setValueAt(nama.getText(), row, 1);
table.setValueAt(harga.getText(), row, 3);
}
catch(SQLException e){
e.printStackTrace();
}
}
}
public void viewAllByAdd(String nKategori, String data, JTable table, DefaultTableModel model) {
Vector<Products> vHasil = new Vector<Products>();
String id = "";
Products aHasil = null;
try {
Statement stmt = koneksi.createStatement();
ResultSet rs = stmt.executeQuery("select * from Products where "+nKategori+" like '%"+data+"%'");
while (rs.next()) {
id = rs.getString(1);
String nama = rs.getString(2);
String idSupp = rs.getString(3);
int harga = rs.getInt(4);
int stock = rs.getInt(5);
aHasil = new Products(id, nama, idSupp, harga, stock);
vHasil.add(aHasil);
}
stmt.close();
/*
* else { for(int i = table.getRowCount()-1; i>-1; i--){
* model.removeRow(i); }
*/
for (int i = 0; i < vHasil.size(); i++) {
model.addRow(new Object[] { vHasil.elementAt(i).getIdProd(), vHasil.elementAt(i).getNama(), vHasil.elementAt(i).getIdSupp(),
vHasil.elementAt(i).getHarga(), vHasil.elementAt(i).getStock()});
}
table.setModel(model);
} catch (SQLException x) {
x.printStackTrace();
// JOptionPane.showMessageDialog(null, "Data Tidak Ditemukan!",
// "Data Not Found!", JOptionPane.ERROR_MESSAGE);
}
}
public void reStock(JLabel id, JLabel stock){
try{
Statement stmt = koneksi.createStatement();
ResultSet rs = stmt.executeQuery("update Products set stock = "+ Integer.parseInt(stock.getText()) +" where idProd = '"+id.getText()+"' ");
JOptionPane.showMessageDialog(null, "Stock Berhasil diupdate!", "Update Succes" , JOptionPane.INFORMATION_MESSAGE);
}
catch(SQLException e){
e.printStackTrace();
}
}
public void viewAllByTrans(JTextField text, JTable table, DefaultTableModel model) {
Vector<Products> vHasil = new Vector<Products>();
String id = "";
Products aHasil = null;
try {
Statement stmt = koneksi.createStatement();
ResultSet rs = stmt.executeQuery("select * from Products where idProd like '%"+text.getText().toUpperCase()+"%'");
while (rs.next()) {
id = rs.getString(1);
String nama = rs.getString(2);
String idSupp = rs.getString(3);
int harga = rs.getInt(4);
int stock = rs.getInt(5);
aHasil = new Products(id, nama, idSupp, harga, stock);
vHasil.add(aHasil);
}
stmt.close();
/*
* else { for(int i = table.getRowCount()-1; i>-1; i--){
* model.removeRow(i); }
*/
for (int i = 0; i < vHasil.size(); i++) {
model.addRow(new Object[] { vHasil.elementAt(i).getIdProd(), vHasil.elementAt(i).getNama(), vHasil.elementAt(i).getIdSupp(),
vHasil.elementAt(i).getHarga(), vHasil.elementAt(i).getStock()});
}
table.setModel(model);
} catch (SQLException x) {
x.printStackTrace();
// JOptionPane.showMessageDialog(null, "Data Tidak Ditemukan!",
// "Data Not Found!", JOptionPane.ERROR_MESSAGE);
}
}
public void viewAllByTrans2(JTextField text, JTable table, DefaultTableModel model) {
Vector<Products> vHasil = new Vector<Products>();
String id = "";
Products aHasil = null;
try {
Statement stmt = koneksi.createStatement();
ResultSet rs = stmt.executeQuery("select * from Products where nama like '%"+text.getText()+"%'");
while (rs.next()) {
id = rs.getString(1);
String nama = rs.getString(2);
String idSupp = rs.getString(3);
int harga = rs.getInt(4);
int stock = rs.getInt(5);
aHasil = new Products(id, nama, idSupp, harga, stock);
vHasil.add(aHasil);
}
stmt.close();
/*
* else { for(int i = table.getRowCount()-1; i>-1; i--){
* model.removeRow(i); }
*/
for (int i = 0; i < vHasil.size(); i++) {
model.addRow(new Object[] { vHasil.elementAt(i).getIdProd(), vHasil.elementAt(i).getNama(), vHasil.elementAt(i).getIdSupp(),
vHasil.elementAt(i).getHarga(), vHasil.elementAt(i).getStock()});
}
table.setModel(model);
} catch (SQLException x) {
x.printStackTrace();
// JOptionPane.showMessageDialog(null, "Data Tidak Ditemukan!",
// "Data Not Found!", JOptionPane.ERROR_MESSAGE);
}
}
}