/** * Clase para acceder y operar en la Tabla Empresa * de la base de datos ZazilDataWareHouse. * @author Hector Rodriguez */ package com.zazil.dwh.app.dao; import com.zazil.dwh.app.model.EmpresaBean; import com.zazil.dwh.app.util.AppException; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; public class EmpresaDAO extends BaseDAO{ private ResultSet resultados = null; public EmpresaDAO(Connection cnx) { super(cnx); } /** * * @return ArrayList<Empresas> */ public ArrayList obtenerEmpresas(){ ArrayList<EmpresaBean> listaEmpresas = new ArrayList<>(); String query = "select * from Empresa"; try(Connection cnx = this.obtenerConexion(); Statement consulta = cnx.createStatement()){ resultados = consulta.executeQuery(query); while(resultados.next()){ EmpresaBean empresa = new EmpresaBean(resultados.getString("rfcEmpresa"), resultados.getString("nombreEmpresa"), resultados.getInt("empresaSISCAM")); listaEmpresas.add(empresa); } }catch(Exception ex){ System.out.println("Exception: " + ex.getMessage()); } return listaEmpresas; } /** * Metodo que nos devuelve una empresa en base al rfc que le hemos pasado como parametro * Nota: el metodo no verifica si el rfc es o no valido, debemos implementar esto en una capa superior * esto por si alguien desea usar el metodo a mano y no mediante la clase Service asociada * Nota: Este metodo es sensible a inyeccion SQL... se necesitan propuestas para hacerlo mas seguro. * * @param rfc * @return EmpresaBean */ public EmpresaBean obtenerEmpresaRFC(String rfc){ //TODO Terminado Hector Giovanni Rodriguez Ramos EmpresaBean empresa = null; //Creamos la consulta StringBuilder query = new StringBuilder("select * from Empresa where rfcEmpresa = '"); query.append(rfc).append("'"); //Conectamos a la base de datos try(Connection cnx = this.obtenerConexion(); Statement consulta = cnx.createStatement()){ //Ejecutamos la consulta y obtenemos resultados resultados = consulta.executeQuery(query.toString()); //Si tenemos resultados los guardamos en un Bean si no es asi devolvemos Bean vacio. if(resultados.next()){ empresa = new EmpresaBean(resultados.getString("rfcEmpresa"), resultados.getString("nombreEmpresa"), resultados.getInt("empresaSISCAM")); } }catch(SQLException | AppException ex){ System.out.println("Excepcion: " + ex.getMessage()); } //Regresamos el Bean return empresa; } /** * Metodo que obtiene una empresa en base al numero del sistema SISCAM que * tiene asignado. * @param siscam * @return */ public EmpresaBean obtenerEmpresaSISCAM(int siscam){ EmpresaBean empresa = null; StringBuilder query = new StringBuilder("select * from Empresa where empresaSISCAM = "); query.append(query); try(Connection cnx = this.obtenerConexion(); Statement consulta = cnx.createStatement()){ resultados = consulta.executeQuery(query.toString()); if(resultados.next()){ empresa = new EmpresaBean(resultados.getString("rfcEmpresa"), resultados.getString("nombreEmpresa"), resultados.getInt("empresaSISCAM")); } }catch(Exception ex){ System.out.println("Excepcion: " + ex.getMessage()); } return empresa; } }