diff --git a/dist/Programa Caja.jar b/dist/Programa Caja.jar index 915bb7e..f36170a 100644 Binary files a/dist/Programa Caja.jar and b/dist/Programa Caja.jar differ diff --git a/src/danielcortes/xyz/models/estado_resultado/SQLiteEstadoResultadoDAO.java b/src/danielcortes/xyz/models/estado_resultado/SQLiteEstadoResultadoDAO.java index 2e2bc2f..78ef772 100644 --- a/src/danielcortes/xyz/models/estado_resultado/SQLiteEstadoResultadoDAO.java +++ b/src/danielcortes/xyz/models/estado_resultado/SQLiteEstadoResultadoDAO.java @@ -10,16 +10,30 @@ import java.time.YearMonth; import java.util.ArrayList; import java.util.List; import java.util.Optional; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +/** + * Objeto DAO que realiza las querys y mapeos necesarios del objeto EstadoResultado. En especifico + * esta implementacion se comunica con la base de datos SQLite + */ public class SQLiteEstadoResultadoDAO implements EstadoResultadoDAO { + + private static final Logger log = LogManager.getLogger(SQLiteEstadoResultadoDAO.class); private SQLiteConnectionHolder connectionHolder; public SQLiteEstadoResultadoDAO() { this.connectionHolder = new SQLiteConnectionHolder(); } + /** + * Obtiene todos los EstadoResultado. + * + * @return una Lista con los EstadoResultado + */ @Override public List getAll() { + log.debug("Se intentara conseguir todos los EstadoResultado"); List estadoResultadoList = new ArrayList<>(); String query = "select * from estado_resultado"; try (Connection conn = connectionHolder.getConnection()) { @@ -51,12 +65,23 @@ public class SQLiteEstadoResultadoDAO implements EstadoResultadoDAO { } } } catch (SQLException e) { + log.error("Error al intentar conseguir todos los EstadoResultado", e); } + + log.debug("Se consiguieron " + estadoResultadoList.size() + "EstadoResultado"); return estadoResultadoList; } + /** + * Obtiene un EstadoResultado dado su id en la base de datos + * + * @param id id de la fila de EstadoResultado en la base de datos + * @return Un optional que contiene al EstadoResultado que puede estar vacio, esto porque no es + * 100% seguro que la base de datos tenga una fila con ese id o que el id sea valido + */ @Override public Optional getById(int id) { + log.debug("Se intentara conseguir el EstadoResultado con el id " + id); EstadoResultado estadoResultado = null; String query = "select * from estado_resultado where id = ?"; try (Connection conn = connectionHolder.getConnection()) { @@ -89,12 +114,22 @@ public class SQLiteEstadoResultadoDAO implements EstadoResultadoDAO { } } } catch (SQLException e) { + log.error("Error al intentar conseguir el EstadoResultado con id " + id, e); } + log.debug("Se consiguio el EstadoResultado " + estadoResultado); return Optional.ofNullable(estadoResultado); } + /** + * Obtiene un EstadoResultado dado su mes + * + * @param month YearMonth que tiene el EstadoResultado. + * @return Un optional que contiene el EstadoResultado que puede estar vacio, esto porque no es + * 100% seguro que exista un EstadoResultado en ese mes. + */ @Override public Optional getByMonth(YearMonth month) { + log.debug("Se intentara conseguir un EstadoResultado con el mes " + month); EstadoResultado estadoResultado = null; String query = "select * from estado_resultado where mes = ?"; try (Connection conn = connectionHolder.getConnection()) { @@ -128,12 +163,20 @@ public class SQLiteEstadoResultadoDAO implements EstadoResultadoDAO { } } catch ( SQLException e) { + log.error("Error al intentar conseguir un EstadoResultado con el mes " + month, e); } + log.debug("Se consiguio el EstadoResultado " + estadoResultado); return Optional.ofNullable(estadoResultado); } + /** + * Inserta en la base de datos el EstadoResultado, al terminar le otorga un id + * + * @param estadoResultado EstadoResultado a insertar + */ @Override public void insert(EstadoResultado estadoResultado) { + log.debug("Se intentara insertar el EstadoResultado " + estadoResultado); String query = "insert into estado_resultado (mes, costo_venta, cuenta_corriente_factura, cuenta_corriente_boleta, cuenta_corriente_sin_respaldo, remuneraciones, finiquitos, aguinaldo, bonos_personal, honorarios_contador, arriendo, agua, luz, gas, telefono, otro_servicio, ppm, ivaFavor) values (?, ?, ?, ?, ?, ? , ?, ? , ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; try (Connection conn = connectionHolder.getConnection()) { try (PreparedStatement ps = conn.prepareStatement(query)) { @@ -165,11 +208,19 @@ public class SQLiteEstadoResultadoDAO implements EstadoResultadoDAO { } } } catch (SQLException e) { + log.error("Error al intentar insertar el EstadoResultado " + estadoResultado, e); } + log.debug("Se inserto el EstadoResultado " + estadoResultado); } + /** + * Actualiza un EstadoResultado existente en la base de datos + * + * @param estadoResultado EstadoResultado a actualizar + */ @Override public void update(EstadoResultado estadoResultado) { + log.debug("Se intentara actualizar el estadoResultado " + estadoResultado); String query = "update estado_resultado set mes = ?, costo_venta = ?, cuenta_corriente_factura = ?, cuenta_corriente_boleta = ?, cuenta_corriente_sin_respaldo = ?, remuneraciones = ?, finiquitos = ?, aguinaldo = ?, bonos_personal = ?, honorarios_contador = ?, arriendo = ?, agua = ?, luz = ?, gas = ?, telefono = ?, otro_servicio = ?, ppm = ?, ivaFavor = ? where id = ?"; try (Connection conn = connectionHolder.getConnection()) { try (PreparedStatement ps = conn.prepareStatement(query)) { @@ -196,11 +247,20 @@ public class SQLiteEstadoResultadoDAO implements EstadoResultadoDAO { ps.executeUpdate(); } } catch (SQLException e) { + log.error("Error al intentar actualizar el estadoResultado " + estadoResultado, e); } + log.debug("Se actualizo el estadoResultado " + estadoResultado); } + + /** + * Elimina un EstadoResultado desde la base de datos + * + * @param estadoResultado EstadoResultado a eliminar + */ @Override public void delete(EstadoResultado estadoResultado) { + log.debug("Se intentara eliminar el EstadoResultado " + estadoResultado); String query = "delete from estado_resultado where id = ?"; try (Connection conn = connectionHolder.getConnection()) { try (PreparedStatement ps = conn.prepareStatement(query)) { @@ -208,6 +268,8 @@ public class SQLiteEstadoResultadoDAO implements EstadoResultadoDAO { ps.executeUpdate(); } } catch (SQLException e) { + log.error("Error al intentar eliminar el EstadoResultado " + estadoResultado, e); } + log.debug("Se elimino el EstadoResultado " + estadoResultado); } }