/* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.comprainsumos.MPersistencia;
import com.comprainsumos.modelo.Insumo;
import com.comprainsumos.modelo.InsumoProveedor;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.LinkedList;
import java.util.List;
public class MPinsumoProveedor {
public static ManejadorBaseDatos mbd = ManejadorBaseDatos.getInstancia();
public static Connection con;
public static InsumoProveedor getInsumoProveedor(String codprod,String codprov) throws SQLException, Exception {
mbd.conectar();
con = mbd.getConexion();
if (codprod == null) {
throw new SQLException("No hay elemento clave de la clase insumos");
}
ResultSet rs = null;
PreparedStatement pst = null;
InsumoProveedor insumoprov = null;
try {
pst = con.prepareStatement("SELECT * FROM insumoproveedor WHERE codprod = ? AND codproveedor =? ");
pst.setString(1, codprod.trim());
pst.setString(2, codprov.trim());
rs = pst.executeQuery();
while (rs.next()) {
insumoprov = InsumoProveedor.load(rs);
}
} finally {
if (rs != null) {
rs.close();
}
if (pst != null) {
pst.close();
}
return insumoprov;
}
}
//Metodo que recibe como parametro un objeto de tipo Insumos para ingresarlo a la base de datos
public static void crearInsumoProveedor(Insumo insumos) throws SQLException, Exception {
mbd.conectar();
con = mbd.getConexion();
if (con == null) {
throw new SQLException(" no hay conexion ");
}
PreparedStatement pst = null;
try {
pst = con.prepareStatement("Insert Into insumos values(?,?,?,?,?)");
pst.setInt(1, insumos.getCodigo());
pst.setString(2, insumos.getNombre());
pst.setDouble(3, insumos.getCantidad());
pst.setDouble(4, insumos.getStockMin());
pst.setString(5, insumos.getUnidadmedia());
pst.executeUpdate();
} finally {
if (pst != null) {
pst.close();
}
}
}
public static void delInsumoProveedor(int codigo) throws SQLException, Exception {
mbd.conectar();
con = mbd.getConexion();
if (codigo == 0) {
throw new SQLException("No hay elemento clave de la clase insumos");
}
PreparedStatement pst = null;
try {
pst = con.prepareStatement("delete from insumos where codigo = ?");
pst.setInt(1, codigo);
pst.executeUpdate();
} finally {
}
}
//Metodo que recibe como parametro un objeto de tipo Insumos para acualizar un registro existente
public static Insumo modInsumoProveedor(Insumo insumos) throws SQLException, Exception {
mbd.conectar();
con = mbd.getConexion();
if (insumos == null) {
throw new SQLException("No hay elemento clave de la clase insumos");
}
Insumo insu = null;
PreparedStatement pst = null;
try {
//Construimos la sentencia SQL para actializar un registro existente
pst = con.prepareStatement("UPDATE insumos SET nombre = '" + insumos.getNombre() + "'"
+ " ,cantidad = '" + insumos.getCantidad() + "', "
+ "stockmin='" + insumos.getStockMin() + "',"
+ " unidadmedia = '" + insumos.getUnidadmedia() + "' WHERE codigo = ?");
pst.setInt(1, insumos.getCodigo());
pst.executeUpdate();
} finally {
}
return insu;
}
public static List<Insumo> listar() throws Exception {
mbd.conectar();
con = mbd.getConexion();
ResultSet rs = null;
PreparedStatement pst = null;
List<Insumo> lista = new LinkedList();
try {
pst = con.prepareStatement("SELECT * FROM insumos");
rs = pst.executeQuery();
while (rs.next()) {
lista.add(Insumo.load(rs));
}
} finally {
if (rs != null) {
rs.close();
}
if (pst != null) {
pst.close();
}
}
return lista;
}
public static List<InsumoProveedor> listarCodinsumo(int cod) throws Exception {
mbd.conectar();
con = mbd.getConexion();
ResultSet rs = null;
PreparedStatement pst = null;
List<InsumoProveedor> lista = new LinkedList();
try {
pst = con.prepareStatement("SELECT * FROM insumoproveedor WHERE codprod = ?");
pst.setInt(1, cod);
rs = pst.executeQuery();
while (rs.next()) {
lista.add(InsumoProveedor.load(rs));
}
} finally {
if (rs != null) {
rs.close();
}
if (pst != null) {
pst.close();
}
}
return lista;
}
}