agregado logs y docs a la clase

This commit is contained in:
Daniel Cortes
2019-03-09 17:24:34 -03:00
parent 3ed62ccc3a
commit e1dee34467
2 changed files with 73 additions and 1 deletions

BIN
dist/Programa Caja.jar vendored

Binary file not shown.

View File

@@ -35,16 +35,28 @@ import java.sql.SQLException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Optional; 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 objecto Documentos
* En especifico esta implementacion se comunica con la base de datos SQLite
*/
public class SQLiteDocumentosDAO implements DocumentosDAO { public class SQLiteDocumentosDAO implements DocumentosDAO {
private static final Logger LOGGER = LogManager.getLogger(SQLiteDocumentosDAO.class);
private ConnectionHolder connectionHolder; private ConnectionHolder connectionHolder;
public SQLiteDocumentosDAO() { public SQLiteDocumentosDAO() {
this.connectionHolder = new SQLiteConnectionHolder(); this.connectionHolder = new SQLiteConnectionHolder();
} }
/**
* Obtiene todas las instancias de Documentos que existen en la base de datos
* @return Una lista con los Documentos
*/
@Override @Override
public List<Documentos> getAll() { public List<Documentos> getAll() {
LOGGER.info("Se intentaran conseguir todos los Documentos");
List<Documentos> documentosList = new ArrayList<>(); List<Documentos> documentosList = new ArrayList<>();
String query = "select * from documentos"; String query = "select * from documentos";
try (Connection conn = connectionHolder.getConnection()) { try (Connection conn = connectionHolder.getConnection()) {
@@ -67,12 +79,21 @@ public class SQLiteDocumentosDAO implements DocumentosDAO {
} }
} }
} catch (SQLException e) { } catch (SQLException e) {
LOGGER.error("Error al intentar conseguir todos los Documentos de la base de datos", e);
} }
LOGGER.trace("Se consiguieron " + documentosList.size() + " Documentos");
return documentosList; return documentosList;
} }
/**
* Obtiene un Documento dado su id en la base de datos
* @param id el id de la fila del documento en la base de datos
* @return Un optional que contiene el documento que puede ser vacio, dado que no es
* 100% seguro que el id entregado sea valido o exista en la base de datos.
*/
@Override @Override
public Optional<Documentos> getById(int id) { public Optional<Documentos> getById(int id) {
LOGGER.info("Se intentara conseguir el Documentos con id " + id);
Documentos documentos = null; Documentos documentos = null;
try (Connection conn = connectionHolder.getConnection()) { try (Connection conn = connectionHolder.getConnection()) {
@@ -95,12 +116,21 @@ public class SQLiteDocumentosDAO implements DocumentosDAO {
} }
} }
} catch (SQLException e) { } catch (SQLException e) {
LOGGER.error("Error al intentar conseguir el Documentos con id " + id, e);
} }
LOGGER.trace("Se consiguio el Documentos " + documentos);
return Optional.ofNullable(documentos); return Optional.ofNullable(documentos);
} }
/**
* Obtiene el Documentos que esta relacionado con la Caja
* @param caja caja con la cual esta relacionado el Documentos
* @return Un optional que contiene el Documentos el cual puede ser vacio, dado que no
* es 100% seguro que exista un Documentos con esa caja.
*/
@Override @Override
public Optional<Documentos> getByCaja(Caja caja) { public Optional<Documentos> getByCaja(Caja caja) {
LOGGER.info("Se intentara conseguir el Documentos de la caja " + caja);
Documentos documentos = null; Documentos documentos = null;
if (Caja.EMPTY == caja) { if (Caja.EMPTY == caja) {
@@ -123,14 +153,25 @@ public class SQLiteDocumentosDAO implements DocumentosDAO {
} }
} }
} catch (SQLException e) { } catch (SQLException e) {
LOGGER.error("Error al intentar conseguir el documentos de la caja " + caja, e);
} }
LOGGER.trace("Se consiguio el Documentos " + documentos);
return Optional.ofNullable(documentos); return Optional.ofNullable(documentos);
} }
/**
* Obtiene la suma de los documentos pertenecientes a una caja
* @param caja caja a la que pertenecen los documentos que se sumaran
* @return Un int con la suma obtenida, en caso que la caja entregada sea igual a
* Caja.EMPTY se retornara 0, al igual que si no existe ningun documentos para la caja
*/
@Override @Override
public int getTotalDocumentos(Caja caja) { public int getTotalDocumentos(Caja caja) {
LOGGER.info("Se intentara conseguir el total de Documentos de la caja " + caja);
int total = 0; int total = 0;
if (Caja.EMPTY == caja) { if (Caja.EMPTY == caja) {
LOGGER.trace("La caja entregada era Caja.EMPTY");
return total; return total;
} }
@@ -145,12 +186,19 @@ public class SQLiteDocumentosDAO implements DocumentosDAO {
} }
} }
} catch (SQLException e) { } catch (SQLException e) {
LOGGER.error("Error al intentar conseguir la suma de los documentos de la caja " + caja);
} }
LOGGER.trace("La suma obtenida es " + total);
return total; return total;
} }
/**
* Inserta en la base de datos una instancia de Documentos nuevo
* @param documentos Documentos a insertar, una vez que ocurra se le otorgara un id
*/
@Override @Override
public void insertDocumentos(Documentos documentos) { public void insertDocumentos(Documentos documentos) {
LOGGER.info("Se intentara insertar un nuevo documentos " + documentos);
String query = "insert into documentos (cheques, tarjetas, retiros, caja_id) values (?,?,?,?)"; String query = "insert into documentos (cheques, tarjetas, retiros, caja_id) values (?,?,?,?)";
try (Connection conn = connectionHolder.getConnection()) { try (Connection conn = connectionHolder.getConnection()) {
try (PreparedStatement ps = conn.prepareStatement(query)) { try (PreparedStatement ps = conn.prepareStatement(query)) {
@@ -169,11 +217,20 @@ public class SQLiteDocumentosDAO implements DocumentosDAO {
} }
} catch (SQLException e) { } catch (SQLException e) {
LOGGER.error("Error al intentar insertar el documentos " + documentos);
} }
LOGGER.trace("Se inserto el documentos " + documentos);
} }
/**
* Inserta un documentos por default, teniendo los campos cheques, tarjetas y retiros
* siendo 0.
* @param documentos Instancia de documentos la cual se guardara con esas caracteristicas
* Solo se tomara el objecto caja para obtener el id de esta y asociarlo en la base de datos
*/
@Override @Override
public void insertDefaultDocumentos(Documentos documentos) { public void insertDefaultDocumentos(Documentos documentos) {
LOGGER.info("Se intentara insertar el documento default " + documentos);
String query = "insert into documentos (cheques, tarjetas, retiros, caja_id) values (0,0,0,?)"; String query = "insert into documentos (cheques, tarjetas, retiros, caja_id) values (0,0,0,?)";
try (Connection conn = connectionHolder.getConnection()) { try (Connection conn = connectionHolder.getConnection()) {
try (PreparedStatement ps = conn.prepareStatement(query)) { try (PreparedStatement ps = conn.prepareStatement(query)) {
@@ -187,11 +244,18 @@ public class SQLiteDocumentosDAO implements DocumentosDAO {
} }
} }
} catch (SQLException e) { } catch (SQLException e) {
LOGGER.error("Error al intentar insertar el documento por default " + documentos, e);
} }
LOGGER.trace("Se inserto el documento por default " + documentos);
} }
/**
* Actualiza un Documentos existente en la base de datos
* @param documentos el documentos a insertar
*/
@Override @Override
public void updateDocumentos(Documentos documentos) { public void updateDocumentos(Documentos documentos) {
LOGGER.info("Se intentara actualizar el documentos " + documentos);
String query = "update documentos set tarjetas = ?, cheques = ?, retiros = ?, caja_id = ? where id = ?"; String query = "update documentos set tarjetas = ?, cheques = ?, retiros = ?, caja_id = ? where id = ?";
try (Connection conn = connectionHolder.getConnection()) { try (Connection conn = connectionHolder.getConnection()) {
try (PreparedStatement ps = conn.prepareStatement(query)) { try (PreparedStatement ps = conn.prepareStatement(query)) {
@@ -203,18 +267,26 @@ public class SQLiteDocumentosDAO implements DocumentosDAO {
ps.executeUpdate(); ps.executeUpdate();
} }
} catch (SQLException e) { } catch (SQLException e) {
LOGGER.error("Error al actualizar el documentos " + documentos, e);
} }
LOGGER.trace("Se actualizo el documentos " + documentos);
} }
/**
* Elimina un Documentos existente en la base de datos
* @param documentos El documentos a eliminar
*/
@Override @Override
public void deleteDocumentos(Documentos documentos) { public void deleteDocumentos(Documentos documentos) {
LOGGER.info("Se intentara eliminar el documentos " + documentos);
String query = "delete from documentos where id = ?"; String query = "delete from documentos where id = ?";
try (Connection conn = connectionHolder.getConnection()) { try (Connection conn = connectionHolder.getConnection()) {
try (PreparedStatement ps = conn.prepareStatement(query)) { try (PreparedStatement ps = conn.prepareStatement(query)) {
ps.setInt(1, documentos.getId()); ps.setInt(1, documentos.getId());
} }
} catch (SQLException e) { } catch (SQLException e) {
LOGGER.error("Error al eliminar el documentos " + documentos, e);
}
LOGGER.trace("Se elimino el documentos " + documentos);
} }
} }
}