Se limpio el modelo de EfectivoDAO
Se llevaron a cabo los mismos pasos que en los previos;
This commit is contained in:
@@ -24,20 +24,25 @@
|
||||
|
||||
package danielcortes.xyz.models.efectivo;
|
||||
|
||||
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;
|
||||
|
||||
public class SQLiteEfectivoDAO extends EfectivoDAO {
|
||||
public class SQLiteEfectivoDAO implements EfectivoDAO {
|
||||
|
||||
private static final Logger LOGGER = Logger.getLogger(SQLiteEfectivoDAO.class.getName());
|
||||
private ConnectionHolder connectionHolder;
|
||||
|
||||
public SQLiteEfectivoDAO() {
|
||||
this.connectionHolder = new SQLiteConnectionHolder();
|
||||
@@ -46,17 +51,33 @@ public class SQLiteEfectivoDAO extends EfectivoDAO {
|
||||
@Override
|
||||
public List<Efectivo> findAll() {
|
||||
List<Efectivo> efectivoList = new ArrayList<>();
|
||||
String query = "select * from efectivos";
|
||||
try (Connection conn = connectionHolder.getConnection()) {
|
||||
String query = "select * from efectivos";
|
||||
PreparedStatement ps = conn.prepareStatement(query);
|
||||
ResultSet rs = ps.executeQuery();
|
||||
try (PreparedStatement ps = conn.prepareStatement(query)) {
|
||||
try (ResultSet rs = ps.executeQuery()) {
|
||||
CajaDAO cajaDAO = DAOManager.getCajaDAO();
|
||||
while (rs.next()) {
|
||||
//Confio en que la base de datos me entregara un id existente.
|
||||
@SuppressWarnings("OptionalGetWithoutIsPresent")
|
||||
Caja caja = cajaDAO.getById(rs.getInt("caja_id")).get();
|
||||
|
||||
LOGGER.log(Level.FINE, "QUERY: {0}", query);
|
||||
Efectivo efectivo = new Efectivo();
|
||||
efectivo.setCaja(caja);
|
||||
efectivo.setId(rs.getInt("id"));
|
||||
efectivo.setVeinteMil(rs.getInt("veinte_mil"));
|
||||
efectivo.setDiezMil(rs.getInt("diez_mil"));
|
||||
efectivo.setCincoMil(rs.getInt("cinco_mil"));
|
||||
efectivo.setDosMil(rs.getInt("dos_mil"));
|
||||
efectivo.setMil(rs.getInt("mil"));
|
||||
efectivo.setQuinientos(rs.getInt("quinientos"));
|
||||
efectivo.setCien(rs.getInt("cien"));
|
||||
efectivo.setCincuenta(rs.getInt("cincuenta"));
|
||||
efectivo.setDiez(rs.getInt("diez"));
|
||||
|
||||
efectivoList = this.efectivosFromResultSet(rs);
|
||||
|
||||
rs.close();
|
||||
ps.close();
|
||||
efectivoList.add(efectivo);
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
LOGGER.log(Level.SEVERE, e.toString(), e);
|
||||
}
|
||||
@@ -65,195 +86,177 @@ public class SQLiteEfectivoDAO extends EfectivoDAO {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Efectivo findById(int id) {
|
||||
public Optional<Efectivo> findById(int id) {
|
||||
Efectivo efectivo = null;
|
||||
String query = "select * from efectivos where id = ?";
|
||||
try (Connection conn = connectionHolder.getConnection()) {
|
||||
String query = "select * from efectivos 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()) {
|
||||
CajaDAO cajaDAO = DAOManager.getCajaDAO();
|
||||
if (rs.next()) {
|
||||
//Confio en que la base de datos me entregara un id existente.
|
||||
@SuppressWarnings("OptionalGetWithoutIsPresent")
|
||||
Caja caja = cajaDAO.getById(rs.getInt("caja_id")).get();
|
||||
|
||||
LOGGER.log(Level.FINE, "QUERY: {0} | values: {1}", new Object[]{query, id});
|
||||
|
||||
efectivo = this.efectivosFromResultSet(rs).get(0);
|
||||
|
||||
rs.close();
|
||||
ps.close();
|
||||
} catch (SQLException e) {
|
||||
LOGGER.log(Level.SEVERE, e.toString(), e);
|
||||
}
|
||||
|
||||
return efectivo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Efectivo findByCaja(Caja caja) {
|
||||
Efectivo efectivo = null;
|
||||
try (Connection conn = connectionHolder.getConnection()) {
|
||||
String query = "select * from efectivos 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()});
|
||||
|
||||
List<Efectivo> efectivoList = this.efectivosFromResultSet(rs);
|
||||
if (efectivoList.size() > 0) {
|
||||
efectivo = efectivoList.get(0);
|
||||
efectivo = new Efectivo();
|
||||
efectivo.setCaja(caja);
|
||||
efectivo.setId(rs.getInt("id"));
|
||||
efectivo.setVeinteMil(rs.getInt("veinte_mil"));
|
||||
efectivo.setDiezMil(rs.getInt("diez_mil"));
|
||||
efectivo.setCincoMil(rs.getInt("cinco_mil"));
|
||||
efectivo.setDosMil(rs.getInt("dos_mil"));
|
||||
efectivo.setMil(rs.getInt("mil"));
|
||||
efectivo.setQuinientos(rs.getInt("quinientos"));
|
||||
efectivo.setCien(rs.getInt("cien"));
|
||||
efectivo.setCincuenta(rs.getInt("cincuenta"));
|
||||
efectivo.setDiez(rs.getInt("diez"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
rs.close();
|
||||
ps.close();
|
||||
} catch (SQLException e) {
|
||||
LOGGER.log(Level.SEVERE, e.toString(), e);
|
||||
}
|
||||
|
||||
return efectivo;
|
||||
return Optional.ofNullable(efectivo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean insertEfectivo(Efectivo efectivo) {
|
||||
int updates;
|
||||
public Optional<Efectivo> findByCaja(Caja caja) {
|
||||
Efectivo efectivo = null;
|
||||
if (Caja.EMPTY == caja) {
|
||||
return Optional.ofNullable(efectivo);
|
||||
}
|
||||
|
||||
String query = "select * from efectivos where caja_id = ?";
|
||||
try (Connection conn = connectionHolder.getConnection()) {
|
||||
String query = "insert into efectivos (veinte_mil, diez_mil, cinco_mil, dos_mil, mil, quinientos, cien, cincuenta, diez, caja_id) values (?,?,?,?,?,?,?,?,?,?)";
|
||||
PreparedStatement ps = conn.prepareStatement(query);
|
||||
ps.setInt(1, efectivo.getVeinteMil());
|
||||
ps.setInt(2, efectivo.getDiezMil());
|
||||
ps.setInt(3, efectivo.getCincoMil());
|
||||
ps.setInt(4, efectivo.getDosMil());
|
||||
ps.setInt(5, efectivo.getMil());
|
||||
ps.setInt(6, efectivo.getQuinientos());
|
||||
ps.setInt(7, efectivo.getCien());
|
||||
ps.setInt(8, efectivo.getCincuenta());
|
||||
ps.setInt(9, efectivo.getDiez());
|
||||
ps.setInt(10, efectivo.getCaja().getId());
|
||||
updates = ps.executeUpdate();
|
||||
|
||||
LOGGER.log(Level.FINE,
|
||||
"QUERY: {0} | values: [{1},{2},{3},{4},{5},{6},{7},{8},{9},{10}] | updates: {11}",
|
||||
new Object[]{query, efectivo.getVeinteMil(), efectivo.getDiezMil(),
|
||||
efectivo.getCincoMil(), efectivo.getDosMil(), efectivo.getMil(),
|
||||
efectivo.getQuinientos(), efectivo.getCien(), efectivo.getCincuenta(),
|
||||
efectivo.getDiez(), efectivo.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();
|
||||
efectivo.setId(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()) {
|
||||
efectivo = new Efectivo();
|
||||
efectivo.setCaja(caja);
|
||||
efectivo.setId(rs.getInt("id"));
|
||||
efectivo.setVeinteMil(rs.getInt("veinte_mil"));
|
||||
efectivo.setDiezMil(rs.getInt("diez_mil"));
|
||||
efectivo.setCincoMil(rs.getInt("cinco_mil"));
|
||||
efectivo.setDosMil(rs.getInt("dos_mil"));
|
||||
efectivo.setMil(rs.getInt("mil"));
|
||||
efectivo.setQuinientos(rs.getInt("quinientos"));
|
||||
efectivo.setCien(rs.getInt("cien"));
|
||||
efectivo.setCincuenta(rs.getInt("cincuenta"));
|
||||
efectivo.setDiez(rs.getInt("diez"));
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
LOGGER.log(Level.SEVERE, e.toString(), e);
|
||||
return false;
|
||||
}
|
||||
return updates > 0;
|
||||
|
||||
return Optional.ofNullable(efectivo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean insertDefaultEfectivo(Efectivo efectivo) {
|
||||
int updates;
|
||||
public void insertEfectivo(Efectivo efectivo) {
|
||||
String query = "insert into efectivos (veinte_mil, diez_mil, cinco_mil, dos_mil, mil, quinientos, cien, cincuenta, diez, caja_id) values (?,?,?,?,?,?,?,?,?,?)";
|
||||
try (Connection conn = connectionHolder.getConnection()) {
|
||||
String query = "insert into efectivos (veinte_mil, diez_mil, cinco_mil, dos_mil, mil, quinientos, cien, cincuenta, diez, caja_id) values (0,0,0,0,0,0,0,0,0,?)";
|
||||
PreparedStatement ps = conn.prepareStatement(query);
|
||||
ps.setInt(1, efectivo.getCaja().getId());
|
||||
updates = ps.executeUpdate();
|
||||
|
||||
LOGGER.log(Level.FINE, "QUERY: {0} | values: {1} | updates: {2}",
|
||||
new Object[]{query, efectivo.getCaja().getId(), updates});
|
||||
|
||||
ps.close();
|
||||
|
||||
ps = conn.prepareStatement("select last_insert_rowid()");
|
||||
ResultSet rs = ps.executeQuery();
|
||||
rs.next();
|
||||
efectivo.setId(rs.getInt(1));
|
||||
|
||||
rs.close();
|
||||
ps.close();
|
||||
try (PreparedStatement ps = conn.prepareStatement(query)) {
|
||||
ps.setInt(1, efectivo.getVeinteMil());
|
||||
ps.setInt(2, efectivo.getDiezMil());
|
||||
ps.setInt(3, efectivo.getCincoMil());
|
||||
ps.setInt(4, efectivo.getDosMil());
|
||||
ps.setInt(5, efectivo.getMil());
|
||||
ps.setInt(6, efectivo.getQuinientos());
|
||||
ps.setInt(7, efectivo.getCien());
|
||||
ps.setInt(8, efectivo.getCincuenta());
|
||||
ps.setInt(9, efectivo.getDiez());
|
||||
ps.setInt(10, efectivo.getCaja().getId());
|
||||
ps.executeUpdate();
|
||||
}
|
||||
try (PreparedStatement ps = conn.prepareStatement("select last_insert_rowid()")) {
|
||||
try (ResultSet rs = ps.executeQuery()) {
|
||||
rs.next();
|
||||
efectivo.setId(rs.getInt(1));
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
LOGGER.log(Level.SEVERE, e.toString(), e);
|
||||
return false;
|
||||
}
|
||||
return updates > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updateEfectivo(Efectivo efectivo) {
|
||||
int updates;
|
||||
public void insertDefaultEfectivo(Efectivo efectivo) {
|
||||
String query = "insert into efectivos (veinte_mil, diez_mil, cinco_mil, dos_mil, mil, quinientos, cien, cincuenta, diez, caja_id) values (0,0,0,0,0,0,0,0,0,?)";
|
||||
try (Connection conn = connectionHolder.getConnection()) {
|
||||
String query = "update efectivos set veinte_mil = ?, diez_mil = ?, cinco_mil = ?, dos_mil = ?, mil = ?, quinientos = ?, cien = ?, cincuenta = ?, diez = ?, caja_id = ? where id = ?";
|
||||
PreparedStatement ps = conn.prepareStatement(query);
|
||||
ps.setInt(1, efectivo.getVeinteMil());
|
||||
ps.setInt(2, efectivo.getDiezMil());
|
||||
ps.setInt(3, efectivo.getCincoMil());
|
||||
ps.setInt(4, efectivo.getDosMil());
|
||||
ps.setInt(5, efectivo.getMil());
|
||||
ps.setInt(6, efectivo.getQuinientos());
|
||||
ps.setInt(7, efectivo.getCien());
|
||||
ps.setInt(8, efectivo.getCincuenta());
|
||||
ps.setInt(9, efectivo.getDiez());
|
||||
ps.setInt(10, efectivo.getCaja().getId());
|
||||
ps.setInt(11, efectivo.getId());
|
||||
updates = ps.executeUpdate();
|
||||
|
||||
LOGGER.log(Level.FINE,
|
||||
"QUERY: {0} | values: [{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11}] | updates: {12}",
|
||||
new Object[]{query, efectivo.getVeinteMil(), efectivo.getDiezMil(),
|
||||
efectivo.getCincoMil(), efectivo.getDosMil(), efectivo.getMil(),
|
||||
efectivo.getQuinientos(), efectivo.getCien(), efectivo.getCincuenta(),
|
||||
efectivo.getDiez(), efectivo.getCaja().getId(), efectivo.getId(), updates});
|
||||
|
||||
ps.close();
|
||||
try (PreparedStatement ps = conn.prepareStatement(query)) {
|
||||
ps.setInt(1, efectivo.getCaja().getId());
|
||||
ps.executeUpdate();
|
||||
}
|
||||
try (PreparedStatement ps = conn.prepareStatement("select last_insert_rowid()")) {
|
||||
try (ResultSet rs = ps.executeQuery()) {
|
||||
rs.next();
|
||||
efectivo.setId(rs.getInt(1));
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
LOGGER.log(Level.SEVERE, e.toString(), e);
|
||||
return false;
|
||||
}
|
||||
return updates > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean deleteEfectivo(Efectivo efectivo) {
|
||||
int updates;
|
||||
public void updateEfectivo(Efectivo efectivo) {
|
||||
String query = "update efectivos set veinte_mil = ?, diez_mil = ?, cinco_mil = ?, dos_mil = ?, mil = ?, quinientos = ?, cien = ?, cincuenta = ?, diez = ?, caja_id = ? where id = ?";
|
||||
try (Connection conn = connectionHolder.getConnection()) {
|
||||
String query = "delete from efectivos where id = ?";
|
||||
PreparedStatement ps = conn.prepareStatement(query);
|
||||
ps.setInt(1, efectivo.getId());
|
||||
updates = ps.executeUpdate();
|
||||
try (PreparedStatement ps = conn.prepareStatement(query)) {
|
||||
ps.setInt(1, efectivo.getVeinteMil());
|
||||
ps.setInt(2, efectivo.getDiezMil());
|
||||
ps.setInt(3, efectivo.getCincoMil());
|
||||
ps.setInt(4, efectivo.getDosMil());
|
||||
ps.setInt(5, efectivo.getMil());
|
||||
ps.setInt(6, efectivo.getQuinientos());
|
||||
ps.setInt(7, efectivo.getCien());
|
||||
ps.setInt(8, efectivo.getCincuenta());
|
||||
ps.setInt(9, efectivo.getDiez());
|
||||
ps.setInt(10, efectivo.getCaja().getId());
|
||||
ps.setInt(11, efectivo.getId());
|
||||
|
||||
LOGGER.log(Level.FINE, "QUERY: {0} | values: {1} | updates: {2}",
|
||||
new Object[]{query, efectivo.getId(), updates});
|
||||
|
||||
ps.close();
|
||||
ps.executeUpdate();
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
LOGGER.log(Level.SEVERE, e.toString(), e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteEfectivo(Efectivo efectivo) {
|
||||
String query = "delete from efectivos where id = ?";
|
||||
try (Connection conn = connectionHolder.getConnection()) {
|
||||
try (PreparedStatement ps = conn.prepareStatement(query)) {
|
||||
ps.setInt(1, efectivo.getId());
|
||||
ps.executeUpdate();
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
LOGGER.log(Level.SEVERE, e.toString(), e);
|
||||
return false;
|
||||
}
|
||||
return updates > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getTotalEfectivo(Caja caja) {
|
||||
int total = 0;
|
||||
if (Caja.EMPTY == caja) {
|
||||
return total;
|
||||
}
|
||||
|
||||
String query = "select veinte_mil + diez_mil + cinco_mil + dos_mil + mil + quinientos + cien + cincuenta + diez from efectivos where caja_id = ?";
|
||||
try (Connection conn = connectionHolder.getConnection()) {
|
||||
String query = "select veinte_mil + diez_mil + cinco_mil + dos_mil + mil + quinientos + cien + cincuenta + diez from efectivos where caja_id = ?";
|
||||
PreparedStatement ps = conn.prepareStatement(query);
|
||||
ps.setInt(1, caja.getId());
|
||||
|
||||
LOGGER.log(Level.FINE, "QUERY: {0} | values: {1}", new Object[]{query, caja.getId()});
|
||||
|
||||
ResultSet rs = ps.executeQuery();
|
||||
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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user