Terminado de reescribir documentos
Ademas se soluciono un bug en el controlador de arqueo, habia anotado mal el listener del boton de documentos :c
This commit is contained in:
BIN
dist/Programa Caja.jar
vendored
BIN
dist/Programa Caja.jar
vendored
Binary file not shown.
@@ -91,7 +91,7 @@ public class ArqueoController extends BaseController {
|
||||
* Rellea los campos de documentos con la instancia de documentos que pertenece a la caja
|
||||
*/
|
||||
private void fillDocumentos() {
|
||||
this.documentos = DAOManager.getDocumentosDAO().findByCaja(caja);
|
||||
this.documentos = DAOManager.getDocumentosDAO().findByCaja(caja).orElse(Documentos.EMPTY);
|
||||
this.view.getTarjetasField().setValue(documentos.getTarjetas());
|
||||
this.view.getChequesField().setValue(documentos.getCheques());
|
||||
this.view.getRetiroField().setValue(documentos.getRetiros());
|
||||
@@ -179,7 +179,7 @@ public class ArqueoController extends BaseController {
|
||||
this.view.getGuardarEfectivoButton()
|
||||
.addActionListener(e -> this.guardarEfectivoActionListener());
|
||||
this.view.getGuardarDocumentosButton()
|
||||
.addActionListener(e -> this.guardarEfectivoActionListener());
|
||||
.addActionListener(e -> this.guardarDocumentosActionListener());
|
||||
this.view.getCalcularFondoButton().addActionListener(e -> this.calcularFondoActionListener());
|
||||
}
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ package danielcortes.xyz.models.documentos;
|
||||
import danielcortes.xyz.models.caja.Caja;
|
||||
|
||||
public class Documentos {
|
||||
|
||||
public final static Documentos EMPTY = new Documentos();
|
||||
private int id;
|
||||
private int cheques;
|
||||
private int tarjetas;
|
||||
|
||||
@@ -26,22 +26,23 @@ package danielcortes.xyz.models.documentos;
|
||||
|
||||
import danielcortes.xyz.models.caja.Caja;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
public interface DocumentosDAO {
|
||||
|
||||
List<Documentos> findAll();
|
||||
|
||||
Documentos findById(int id);
|
||||
Optional<Documentos> findById(int id);
|
||||
|
||||
Documentos findByCaja(Caja caja);
|
||||
Optional<Documentos> findByCaja(Caja caja);
|
||||
|
||||
boolean insertDocumentos(Documentos documentos);
|
||||
void insertDocumentos(Documentos documentos);
|
||||
|
||||
boolean insertDefaultDocumentos(Documentos documentos);
|
||||
void insertDefaultDocumentos(Documentos documentos);
|
||||
|
||||
boolean updateDocumentos(Documentos documentos);
|
||||
void updateDocumentos(Documentos documentos);
|
||||
|
||||
boolean deleteDocumentos(Documentos documentos);
|
||||
void deleteDocumentos(Documentos documentos);
|
||||
|
||||
int getTotalDocumentos(Caja caja);
|
||||
|
||||
|
||||
@@ -28,13 +28,13 @@ import danielcortes.xyz.data.ConnectionHolder;
|
||||
import danielcortes.xyz.data.DAOManager;
|
||||
import danielcortes.xyz.data.SQLiteConnectionHolder;
|
||||
import danielcortes.xyz.models.caja.Caja;
|
||||
import danielcortes.xyz.models.caja.CajaDAO;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
@@ -43,6 +43,7 @@ public class SQLiteDocumentosDAO implements DocumentosDAO {
|
||||
private static final Logger LOGGER = Logger.getLogger(SQLiteDocumentosDAO.class.getName());
|
||||
|
||||
private ConnectionHolder connectionHolder;
|
||||
|
||||
public SQLiteDocumentosDAO() {
|
||||
this.connectionHolder = new SQLiteConnectionHolder();
|
||||
}
|
||||
@@ -50,17 +51,28 @@ public class SQLiteDocumentosDAO implements DocumentosDAO {
|
||||
@Override
|
||||
public List<Documentos> findAll() {
|
||||
List<Documentos> documentosList = new ArrayList<>();
|
||||
String query = "select * from documentos";
|
||||
try (Connection conn = connectionHolder.getConnection()) {
|
||||
String query = "select * from documentos";
|
||||
PreparedStatement ps = conn.prepareStatement(query);
|
||||
ResultSet rs = ps.executeQuery();
|
||||
try (PreparedStatement ps = conn.prepareStatement(query)) {
|
||||
try (ResultSet rs = ps.executeQuery()) {
|
||||
LOGGER.log(Level.FINE, "QUERY: {0}", query);
|
||||
|
||||
LOGGER.log(Level.FINE, "QUERY: {0}", query);
|
||||
while (rs.next()) {
|
||||
//Confio en que la base de datos mapeo correctamente la caja_id
|
||||
@SuppressWarnings("OptionalGetWithoutIsPresent")
|
||||
Caja caja = DAOManager.getCajaDAO().getById(rs.getInt("caja_id")).get();
|
||||
|
||||
documentosList = this.documentosFromResultSet(rs);
|
||||
Documentos documentos = new Documentos();
|
||||
documentos.setCaja(caja);
|
||||
documentos.setId(rs.getInt("id"));
|
||||
documentos.setCheques(rs.getInt("cheques"));
|
||||
documentos.setTarjetas(rs.getInt("tarjetas"));
|
||||
documentos.setRetiros(rs.getInt("retiros"));
|
||||
|
||||
rs.close();
|
||||
ps.close();
|
||||
documentosList.add(documentos);
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
LOGGER.log(Level.SEVERE, e.toString(), e);
|
||||
}
|
||||
@@ -68,204 +80,159 @@ public class SQLiteDocumentosDAO implements DocumentosDAO {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Documentos findById(int id) {
|
||||
public Optional<Documentos> findById(int id) {
|
||||
Documentos documentos = null;
|
||||
|
||||
try (Connection conn = connectionHolder.getConnection()) {
|
||||
String query = "select * from documentos where id = ?";
|
||||
PreparedStatement ps = conn.prepareStatement(query);
|
||||
ps.setInt(1, id);
|
||||
ResultSet rs = ps.executeQuery();
|
||||
try (PreparedStatement ps = conn.prepareStatement(query)) {
|
||||
ps.setInt(1, id);
|
||||
try (ResultSet rs = ps.executeQuery()) {
|
||||
LOGGER.log(Level.FINE, "QUERY: {0} | values: {1}", new Object[]{query, id});
|
||||
|
||||
LOGGER.log(Level.FINE, "QUERY: {0} | values: {1}", new Object[]{query, id});
|
||||
if (rs.next()) {
|
||||
//Confio en que la base de datos mapeo correctamente la caja_id
|
||||
@SuppressWarnings("OptionalGetWithoutIsPresent")
|
||||
Caja caja = DAOManager.getCajaDAO().getById(rs.getInt("caja_id")).get();
|
||||
|
||||
List<Documentos> documentosList = this.documentosFromResultSet(rs);
|
||||
if (documentosList.size() > 0) {
|
||||
documentos = documentosList.get(0);
|
||||
documentos = new Documentos();
|
||||
documentos.setCaja(caja);
|
||||
documentos.setId(rs.getInt("id"));
|
||||
documentos.setCheques(rs.getInt("cheques"));
|
||||
documentos.setTarjetas(rs.getInt("tarjetas"));
|
||||
documentos.setRetiros(rs.getInt("retiros"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
rs.close();
|
||||
ps.close();
|
||||
} catch (SQLException e) {
|
||||
LOGGER.log(Level.SEVERE, e.toString(), e);
|
||||
}
|
||||
return documentos;
|
||||
return Optional.ofNullable(documentos);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Documentos findByCaja(Caja caja) {
|
||||
public Optional<Documentos> findByCaja(Caja caja) {
|
||||
Documentos documentos = null;
|
||||
|
||||
if (Caja.EMPTY == caja) {
|
||||
return Optional.ofNullable(documentos);
|
||||
}
|
||||
|
||||
String query = "select * from documentos where caja_id = ?";
|
||||
try (Connection conn = connectionHolder.getConnection()) {
|
||||
String query = "select * from documentos where caja_id = ?";
|
||||
PreparedStatement ps = conn.prepareStatement(query);
|
||||
ps.setInt(1, caja.getId());
|
||||
ResultSet rs = ps.executeQuery();
|
||||
try (PreparedStatement ps = conn.prepareStatement(query)) {
|
||||
ps.setInt(1, caja.getId());
|
||||
try (ResultSet rs = ps.executeQuery()) {
|
||||
LOGGER.log(Level.FINE, "QUERY: {0} | values: {1}", new Object[]{query, caja.getId()});
|
||||
|
||||
LOGGER.log(Level.FINE, "QUERY: {0} | values: {1}", new Object[]{query, caja.getId()});
|
||||
if (rs.next()) {
|
||||
documentos = new Documentos();
|
||||
documentos.setCaja(caja);
|
||||
documentos.setId(rs.getInt("id"));
|
||||
documentos.setCheques(rs.getInt("cheques"));
|
||||
documentos.setTarjetas(rs.getInt("tarjetas"));
|
||||
documentos.setRetiros(rs.getInt("retiros"));
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
LOGGER.log(Level.SEVERE, e.toString(), e);
|
||||
}
|
||||
return Optional.ofNullable(documentos);
|
||||
}
|
||||
|
||||
List<Documentos> documentosList = this.documentosFromResultSet(rs);
|
||||
if (documentosList.size() > 0) {
|
||||
documentos = documentosList.get(0);
|
||||
@Override
|
||||
public void insertDocumentos(Documentos documentos) {
|
||||
String query = "insert into documentos (cheques, tarjetas, retiros, caja_id) values (?,?,?,?)";
|
||||
try (Connection conn = connectionHolder.getConnection()) {
|
||||
try (PreparedStatement ps = conn.prepareStatement(query)) {
|
||||
ps.setInt(1, documentos.getCheques());
|
||||
ps.setInt(2, documentos.getTarjetas());
|
||||
ps.setInt(3, documentos.getRetiros());
|
||||
ps.setInt(4, documentos.getCaja().getId());
|
||||
ps.executeUpdate();
|
||||
}
|
||||
|
||||
try (PreparedStatement ps = conn.prepareStatement("select last_insert_rowid()")) {
|
||||
try (ResultSet rs = ps.executeQuery()) {
|
||||
rs.next();
|
||||
documentos.setId(rs.getInt(1));
|
||||
}
|
||||
}
|
||||
|
||||
rs.close();
|
||||
ps.close();
|
||||
} catch (SQLException e) {
|
||||
LOGGER.log(Level.SEVERE, e.toString(), e);
|
||||
}
|
||||
return documentos;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean insertDocumentos(Documentos documentos) {
|
||||
int updates;
|
||||
public void insertDefaultDocumentos(Documentos documentos) {
|
||||
String query = "insert into documentos (cheques, tarjetas, retiros, caja_id) values (0,0,0,?)";
|
||||
try (Connection conn = connectionHolder.getConnection()) {
|
||||
String query = "insert into documentos (cheques, tarjetas, retiros, caja_id) values (?,?,?,?)";
|
||||
PreparedStatement ps = conn.prepareStatement(query);
|
||||
ps.setInt(1, documentos.getCheques());
|
||||
ps.setInt(2, documentos.getTarjetas());
|
||||
ps.setInt(3, documentos.getRetiros());
|
||||
ps.setInt(4, documentos.getCaja().getId());
|
||||
updates = ps.executeUpdate();
|
||||
|
||||
LOGGER.log(Level.FINE, "QUERY: {0} | values: [{1}, {2}, {3}, {4}] | updates: {5}",
|
||||
new Object[]{query, documentos.getCheques(), documentos.getTarjetas(),
|
||||
documentos.getRetiros(), documentos.getCaja().getId(), updates});
|
||||
|
||||
ps.close();
|
||||
|
||||
query = "select last_insert_rowid()";
|
||||
ps = conn.prepareStatement(query);
|
||||
ResultSet rs = ps.executeQuery();
|
||||
|
||||
LOGGER.log(Level.FINE, "QUERY: {0}", query);
|
||||
|
||||
rs.next();
|
||||
documentos.setId(rs.getInt(1));
|
||||
|
||||
rs.close();
|
||||
ps.close();
|
||||
try (PreparedStatement ps = conn.prepareStatement(query)) {
|
||||
ps.setInt(1, documentos.getCaja().getId());
|
||||
ps.executeUpdate();
|
||||
}
|
||||
try (PreparedStatement ps = conn.prepareStatement("select last_insert_rowid()")) {
|
||||
try (ResultSet rs = ps.executeQuery()) {
|
||||
rs.next();
|
||||
documentos.setId(rs.getInt(1));
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
LOGGER.log(Level.SEVERE, e.toString(), e);
|
||||
return false;
|
||||
}
|
||||
return updates > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean insertDefaultDocumentos(Documentos documentos) {
|
||||
int updates;
|
||||
public void updateDocumentos(Documentos documentos) {
|
||||
String query = "update documentos set tarjetas = ?, cheques = ?, retiros = ?, caja_id = ? where id = ?";
|
||||
try (Connection conn = connectionHolder.getConnection()) {
|
||||
String query = "insert into documentos (cheques, tarjetas, retiros, caja_id) values (0,0,0,?)";
|
||||
PreparedStatement ps = conn.prepareStatement(query);
|
||||
ps.setInt(1, documentos.getCaja().getId());
|
||||
updates = ps.executeUpdate();
|
||||
|
||||
LOGGER.log(Level.FINE, "QUERY: {0} | values: {1} | updates: {2}",
|
||||
new Object[]{query, documentos.getCaja().getId(), updates});
|
||||
|
||||
ps.close();
|
||||
|
||||
ps = conn.prepareStatement("select last_insert_rowid()");
|
||||
ResultSet rs = ps.executeQuery();
|
||||
|
||||
LOGGER.log(Level.FINE, "QUERY: {0}", query);
|
||||
|
||||
rs.next();
|
||||
documentos.setId(rs.getInt(1));
|
||||
|
||||
rs.close();
|
||||
ps.close();
|
||||
try (PreparedStatement ps = conn.prepareStatement(query)) {
|
||||
ps.setInt(1, documentos.getTarjetas());
|
||||
ps.setInt(2, documentos.getCheques());
|
||||
ps.setInt(3, documentos.getRetiros());
|
||||
ps.setInt(4, documentos.getCaja().getId());
|
||||
ps.setInt(5, documentos.getId());
|
||||
ps.executeUpdate();
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
LOGGER.log(Level.SEVERE, e.toString(), e);
|
||||
return false;
|
||||
}
|
||||
return updates > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updateDocumentos(Documentos documentos) {
|
||||
int updates;
|
||||
public void deleteDocumentos(Documentos documentos) {
|
||||
String query = "delete from documentos where id = ?";
|
||||
try (Connection conn = connectionHolder.getConnection()) {
|
||||
String query = "update documentos set tarjetas = ?, cheques = ?, retiros = ?, caja_id = ? where id = ?";
|
||||
PreparedStatement ps = conn.prepareStatement(query);
|
||||
ps.setInt(1, documentos.getTarjetas());
|
||||
ps.setInt(2, documentos.getCheques());
|
||||
ps.setInt(3, documentos.getRetiros());
|
||||
ps.setInt(4, documentos.getCaja().getId());
|
||||
ps.setInt(5, documentos.getId());
|
||||
updates = ps.executeUpdate();
|
||||
|
||||
LOGGER.log(Level.FINE, "QUERY: {0} | values: [{1}, {2}, {3}, {4}] | updates: {5}",
|
||||
new Object[]{query, documentos.getCheques(), documentos.getTarjetas(),
|
||||
documentos.getRetiros(), documentos.getCaja().getId(), documentos.getId(), updates});
|
||||
|
||||
ps.close();
|
||||
try (PreparedStatement ps = conn.prepareStatement(query)) {
|
||||
ps.setInt(1, documentos.getId());
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
LOGGER.log(Level.SEVERE, e.toString(), e);
|
||||
return false;
|
||||
}
|
||||
return updates > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean deleteDocumentos(Documentos documentos) {
|
||||
int updates;
|
||||
try (Connection conn = connectionHolder.getConnection()) {
|
||||
String query = "delete from documentos where id = ?";
|
||||
PreparedStatement ps = conn.prepareStatement(query);
|
||||
ps.setInt(1, documentos.getId());
|
||||
updates = ps.executeUpdate();
|
||||
|
||||
LOGGER.log(Level.FINE, "QUERY: {0} | values: {1} | updates: {2}",
|
||||
new Object[]{query, documentos.getCaja().getId(), updates});
|
||||
|
||||
ps.close();
|
||||
} catch (SQLException e) {
|
||||
LOGGER.log(Level.SEVERE, e.toString(), e);
|
||||
return false;
|
||||
}
|
||||
return updates > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getTotalDocumentos(Caja caja) {
|
||||
int total = 0;
|
||||
if (Caja.EMPTY == caja) {
|
||||
return total;
|
||||
}
|
||||
|
||||
String query = "select cheques + tarjetas + retiros from documentos where caja_id = ?";
|
||||
try (Connection conn = connectionHolder.getConnection()) {
|
||||
String query = "select cheques + tarjetas + retiros from documentos where caja_id = ?";
|
||||
PreparedStatement ps = conn.prepareStatement(query);
|
||||
ps.setInt(1, caja.getId());
|
||||
ResultSet rs = ps.executeQuery();
|
||||
|
||||
LOGGER.log(Level.FINE, "QUERY: {0} | values: {1}", new Object[]{query, caja.getId()});
|
||||
|
||||
rs.next();
|
||||
total = rs.getInt(1);
|
||||
|
||||
rs.close();
|
||||
ps.close();
|
||||
try (PreparedStatement ps = conn.prepareStatement(query)) {
|
||||
ps.setInt(1, caja.getId());
|
||||
try (ResultSet rs = ps.executeQuery()) {
|
||||
if (rs.next()) {
|
||||
total = rs.getInt(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
LOGGER.log(Level.SEVERE, e.toString(), e);
|
||||
}
|
||||
return total;
|
||||
}
|
||||
protected List<Documentos> documentosFromResultSet(ResultSet rs) throws SQLException {
|
||||
List<Documentos> documentosList = new ArrayList<>();
|
||||
while (rs.next()) {
|
||||
CajaDAO cajaDAO = DAOManager.getCajaDAO();
|
||||
Caja caja = cajaDAO.getById(rs.getInt("caja_id")).get();
|
||||
|
||||
Documentos documentos = new Documentos();
|
||||
documentos.setCaja(caja);
|
||||
documentos.setId(rs.getInt("id"));
|
||||
documentos.setCheques(rs.getInt("cheques"));
|
||||
documentos.setTarjetas(rs.getInt("tarjetas"));
|
||||
documentos.setRetiros(rs.getInt("retiros"));
|
||||
|
||||
LOGGER.log(Level.FINER, "Se a creo: {0}", documentos);
|
||||
|
||||
documentosList.add(documentos);
|
||||
|
||||
}
|
||||
return documentosList;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user