agregado logs y docs a la clase
This commit is contained in:
@@ -35,16 +35,28 @@ import java.sql.SQLException;
|
||||
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 objecto Documentos
|
||||
* En especifico esta implementacion se comunica con la base de datos SQLite
|
||||
*/
|
||||
public class SQLiteDocumentosDAO implements DocumentosDAO {
|
||||
private static final Logger LOGGER = LogManager.getLogger(SQLiteDocumentosDAO.class);
|
||||
private ConnectionHolder connectionHolder;
|
||||
|
||||
public SQLiteDocumentosDAO() {
|
||||
this.connectionHolder = new SQLiteConnectionHolder();
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtiene todas las instancias de Documentos que existen en la base de datos
|
||||
* @return Una lista con los Documentos
|
||||
*/
|
||||
@Override
|
||||
public List<Documentos> getAll() {
|
||||
LOGGER.info("Se intentaran conseguir todos los Documentos");
|
||||
List<Documentos> documentosList = new ArrayList<>();
|
||||
String query = "select * from documentos";
|
||||
try (Connection conn = connectionHolder.getConnection()) {
|
||||
@@ -67,12 +79,21 @@ public class SQLiteDocumentosDAO implements DocumentosDAO {
|
||||
}
|
||||
}
|
||||
} 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;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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
|
||||
public Optional<Documentos> getById(int id) {
|
||||
LOGGER.info("Se intentara conseguir el Documentos con id " + id);
|
||||
Documentos documentos = null;
|
||||
|
||||
try (Connection conn = connectionHolder.getConnection()) {
|
||||
@@ -95,12 +116,21 @@ public class SQLiteDocumentosDAO implements DocumentosDAO {
|
||||
}
|
||||
}
|
||||
} 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);
|
||||
}
|
||||
|
||||
/**
|
||||
* 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
|
||||
public Optional<Documentos> getByCaja(Caja caja) {
|
||||
LOGGER.info("Se intentara conseguir el Documentos de la caja " + caja);
|
||||
Documentos documentos = null;
|
||||
|
||||
if (Caja.EMPTY == caja) {
|
||||
@@ -123,14 +153,25 @@ public class SQLiteDocumentosDAO implements DocumentosDAO {
|
||||
}
|
||||
}
|
||||
} 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);
|
||||
}
|
||||
|
||||
/**
|
||||
* 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
|
||||
public int getTotalDocumentos(Caja caja) {
|
||||
LOGGER.info("Se intentara conseguir el total de Documentos de la caja " + caja);
|
||||
int total = 0;
|
||||
if (Caja.EMPTY == caja) {
|
||||
LOGGER.trace("La caja entregada era Caja.EMPTY");
|
||||
return total;
|
||||
}
|
||||
|
||||
@@ -145,12 +186,19 @@ public class SQLiteDocumentosDAO implements DocumentosDAO {
|
||||
}
|
||||
}
|
||||
} 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;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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
|
||||
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 (?,?,?,?)";
|
||||
try (Connection conn = connectionHolder.getConnection()) {
|
||||
try (PreparedStatement ps = conn.prepareStatement(query)) {
|
||||
@@ -169,11 +217,20 @@ public class SQLiteDocumentosDAO implements DocumentosDAO {
|
||||
}
|
||||
|
||||
} 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
|
||||
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,?)";
|
||||
try (Connection conn = connectionHolder.getConnection()) {
|
||||
try (PreparedStatement ps = conn.prepareStatement(query)) {
|
||||
@@ -187,11 +244,18 @@ public class SQLiteDocumentosDAO implements DocumentosDAO {
|
||||
}
|
||||
}
|
||||
} 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
|
||||
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 = ?";
|
||||
try (Connection conn = connectionHolder.getConnection()) {
|
||||
try (PreparedStatement ps = conn.prepareStatement(query)) {
|
||||
@@ -203,18 +267,26 @@ public class SQLiteDocumentosDAO implements DocumentosDAO {
|
||||
ps.executeUpdate();
|
||||
}
|
||||
} 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
|
||||
public void deleteDocumentos(Documentos documentos) {
|
||||
LOGGER.info("Se intentara eliminar el documentos " + documentos);
|
||||
String query = "delete from documentos where id = ?";
|
||||
try (Connection conn = connectionHolder.getConnection()) {
|
||||
try (PreparedStatement ps = conn.prepareStatement(query)) {
|
||||
ps.setInt(1, documentos.getId());
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
LOGGER.error("Error al eliminar el documentos " + documentos, e);
|
||||
}
|
||||
LOGGER.trace("Se elimino el documentos " + documentos);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user