agregado logs y docs a la clase
This commit is contained in:
BIN
dist/Programa Caja.jar
vendored
BIN
dist/Programa Caja.jar
vendored
Binary file not shown.
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user