Reescrito modeo de TipoEgreso
Ademas los metodos que lo utilizaban para buscar en la base de datos ahora comprueban contra TipoEgreso.EMPTY para evitar buscar cuando se para un TipoEgreso.EMPTY
This commit is contained in:
@@ -172,11 +172,11 @@ public class EstadoResultadoController extends BaseController {
|
||||
|
||||
private void fillGastosGenerales() {
|
||||
TipoEgreso facturaGastosGenerales = DAOManager.getTipoEgresoDAO()
|
||||
.findByNombre("Factura Gastos Generales").get(0);
|
||||
.findByNombre("Factura Gastos Generales").orElse(TipoEgreso.EMPTY);
|
||||
TipoEgreso gastoGeneralConBoleta = DAOManager.getTipoEgresoDAO()
|
||||
.findByNombre("Gasto General Con Boleta").get(0);
|
||||
.findByNombre("Gasto General Con Boleta").orElse(TipoEgreso.EMPTY);
|
||||
TipoEgreso gastoGeneralSinRespaldo = DAOManager.getTipoEgresoDAO()
|
||||
.findByNombre("Gasto General Sin Respaldo").get(0);
|
||||
.findByNombre("Gasto General Sin Respaldo").orElse(TipoEgreso.EMPTY);
|
||||
|
||||
int cuentaCorrienteFactura = this.estadoResultado.getCuentaCorrienteFactura();
|
||||
int cuentaCorrienteBoleta = this.estadoResultado.getCuentaCorrienteBoleta();
|
||||
@@ -201,7 +201,7 @@ public class EstadoResultadoController extends BaseController {
|
||||
}
|
||||
|
||||
private void fillGastosOperacionales() {
|
||||
TipoEgreso tipoPagoPartime = DAOManager.getTipoEgresoDAO().findByNombre("Pago Partime").get(0);
|
||||
TipoEgreso tipoPagoPartime = DAOManager.getTipoEgresoDAO().findByNombre("Pago Partime").orElse(TipoEgreso.EMPTY);
|
||||
|
||||
int costoVenta = this.estadoResultado.getCostoVenta();
|
||||
int remuneraciones = this.estadoResultado.getRemuneraciones();
|
||||
|
||||
@@ -171,7 +171,7 @@ public class InformeEstadoResultado {
|
||||
|
||||
partime.createCell(0).setCellValue("Partime");
|
||||
partime.createCell(1).setCellValue(DAOManager.getEgresoDAO().getTotalEgresoMesPorTipo(this.mes,
|
||||
DAOManager.getTipoEgresoDAO().findByNombre("Pago Partime").get(0)));
|
||||
DAOManager.getTipoEgresoDAO().findByNombre("Pago Partime").orElse(TipoEgreso.EMPTY)));
|
||||
|
||||
bonosPersonal.createCell(0).setCellValue("Bonos Personal");
|
||||
bonosPersonal.createCell(1).setCellValue(this.estadoResultado.getBonosPersonal());
|
||||
@@ -222,11 +222,11 @@ public class InformeEstadoResultado {
|
||||
|
||||
private void fillGastosGeneralesData() {
|
||||
TipoEgreso facturaGastosGenerales = DAOManager.getTipoEgresoDAO()
|
||||
.findByNombre("Factura Gastos Generales").get(0);
|
||||
.findByNombre("Factura Gastos Generales").orElse(TipoEgreso.EMPTY);
|
||||
TipoEgreso gastoGeneralConBoleta = DAOManager.getTipoEgresoDAO()
|
||||
.findByNombre("Gasto General Con Boleta").get(0);
|
||||
.findByNombre("Gasto General Con Boleta").orElse(TipoEgreso.EMPTY);
|
||||
TipoEgreso gastoGeneralSinRespaldo = DAOManager.getTipoEgresoDAO()
|
||||
.findByNombre("Gasto General Sin Respaldo").get(0);
|
||||
.findByNombre("Gasto General Sin Respaldo").orElse(TipoEgreso.EMPTY);
|
||||
|
||||
int startId = 29;
|
||||
|
||||
|
||||
@@ -63,7 +63,9 @@ public class SQLiteEgresoDAO implements EgresoDAO {
|
||||
CajaDAO cajaDAO = DAOManager.getCajaDAO();
|
||||
|
||||
while (rs.next()) {
|
||||
TipoEgreso tipoEgreso = tipoEgresoDAO.findById(rs.getInt("tipo_egreso_id")).get(0);
|
||||
//Confio en que la base de datos me dara un id existente
|
||||
@SuppressWarnings("OptionalGetWithoutIsPresent")
|
||||
TipoEgreso tipoEgreso = tipoEgresoDAO.findById(rs.getInt("tipo_egreso_id")).get();
|
||||
|
||||
//Confio en que la base de datos me dara un id existente
|
||||
@SuppressWarnings("OptionalGetWithoutIsPresent")
|
||||
@@ -97,7 +99,9 @@ public class SQLiteEgresoDAO implements EgresoDAO {
|
||||
try (ResultSet rs = ps.executeQuery()) {
|
||||
if (rs.next()) {
|
||||
TipoEgresoDAO tipoEgresoDAO = DAOManager.getTipoEgresoDAO();
|
||||
TipoEgreso tipoEgreso = tipoEgresoDAO.findById(rs.getInt("tipo_egreso_id")).get(0);
|
||||
//Confio en que la base de datos me dara un id existente
|
||||
@SuppressWarnings("OptionalGetWithoutIsPresent")
|
||||
TipoEgreso tipoEgreso = tipoEgresoDAO.findById(rs.getInt("tipo_egreso_id")).get();
|
||||
|
||||
CajaDAO cajaDAO = DAOManager.getCajaDAO();
|
||||
//Confio en que la base de datos me dara un id existente
|
||||
@@ -135,7 +139,9 @@ public class SQLiteEgresoDAO implements EgresoDAO {
|
||||
try (ResultSet rs = ps.executeQuery()) {
|
||||
while (rs.next()) {
|
||||
TipoEgresoDAO tipoEgresoDAO = DAOManager.getTipoEgresoDAO();
|
||||
TipoEgreso tipoEgreso = tipoEgresoDAO.findById(rs.getInt("tipo_egreso_id")).get(0);
|
||||
//Confio en que la base de datos me dara un id existente
|
||||
@SuppressWarnings("OptionalGetWithoutIsPresent")
|
||||
TipoEgreso tipoEgreso = tipoEgresoDAO.findById(rs.getInt("tipo_egreso_id")).get();
|
||||
|
||||
Egreso egreso = new Egreso();
|
||||
egreso.setId(rs.getInt("id"));
|
||||
@@ -168,7 +174,9 @@ public class SQLiteEgresoDAO implements EgresoDAO {
|
||||
CajaDAO cajaDAO = DAOManager.getCajaDAO();
|
||||
|
||||
while (rs.next()) {
|
||||
TipoEgreso tipoEgreso = tipoEgresoDAO.findById(rs.getInt("tipo_egreso_id")).get(0);
|
||||
//Confio en que la base de datos me dara un id existente
|
||||
@SuppressWarnings("OptionalGetWithoutIsPresent")
|
||||
TipoEgreso tipoEgreso = tipoEgresoDAO.findById(rs.getInt("tipo_egreso_id")).get();
|
||||
//Confio en que la base de datos me dara un id existente
|
||||
@SuppressWarnings("OptionalGetWithoutIsPresent")
|
||||
Caja caja = cajaDAO.getById(rs.getInt("caja_id")).get();
|
||||
@@ -194,6 +202,11 @@ public class SQLiteEgresoDAO implements EgresoDAO {
|
||||
@Override
|
||||
public List<Egreso> getByTipoEgreso(TipoEgreso tipoEgreso) {
|
||||
List<Egreso> egresoList = new ArrayList<>();
|
||||
|
||||
if(TipoEgreso.EMPTY == tipoEgreso){
|
||||
return egresoList;
|
||||
}
|
||||
|
||||
String query = "select * from egresos where tipo_egreso_id = ?";
|
||||
try (Connection conn = connectionHolder.getConnection()) {
|
||||
try (PreparedStatement ps = conn.prepareStatement(query)) {
|
||||
@@ -227,7 +240,7 @@ public class SQLiteEgresoDAO implements EgresoDAO {
|
||||
public List<Egreso> getByTipoEgresoEnCaja(TipoEgreso tipoEgreso, Caja caja) {
|
||||
List<Egreso> egresoList = new ArrayList<>();
|
||||
|
||||
if (caja == Caja.EMPTY) {
|
||||
if (caja == Caja.EMPTY || tipoEgreso == TipoEgreso.EMPTY) {
|
||||
return egresoList;
|
||||
}
|
||||
|
||||
@@ -283,6 +296,11 @@ public class SQLiteEgresoDAO implements EgresoDAO {
|
||||
@Override
|
||||
public int getTotalEgresoMesPorTipo(YearMonth mes, TipoEgreso tipo) {
|
||||
int total = 0;
|
||||
|
||||
if (TipoEgreso.EMPTY == tipo){
|
||||
return total;
|
||||
}
|
||||
|
||||
LocalDate start = mes.atDay(1);
|
||||
LocalDate end = mes.atEndOfMonth();
|
||||
String query = "select sum(valor) from egresos inner join caja on (egresos.caja_id = caja.id) where fecha between ? and ? and tipo_egreso_id = ?";
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
|
||||
package danielcortes.xyz.models.tipo_egreso;
|
||||
|
||||
import danielcortes.xyz.data.ConnectionHolder;
|
||||
import danielcortes.xyz.data.SQLiteConnectionHolder;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
@@ -31,12 +32,14 @@ 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 SQLiteTipoEgresoDAO extends TipoEgresoDAO {
|
||||
public class SQLiteTipoEgresoDAO implements TipoEgresoDAO {
|
||||
|
||||
private static final Logger LOGGER = Logger.getLogger(SQLiteTipoEgresoDAO.class.getName());
|
||||
private ConnectionHolder connectionHolder;
|
||||
|
||||
public SQLiteTipoEgresoDAO() {
|
||||
this.connectionHolder = new SQLiteConnectionHolder();
|
||||
@@ -45,17 +48,17 @@ public class SQLiteTipoEgresoDAO extends TipoEgresoDAO {
|
||||
@Override
|
||||
public List<TipoEgreso> findAll() {
|
||||
List<TipoEgreso> tipoEgresoList = new ArrayList<>();
|
||||
try (Connection conn = connectionHolder.getConnection()) {
|
||||
String query = "select * from tipos_egreso";
|
||||
PreparedStatement ps = conn.prepareStatement(query);
|
||||
ResultSet rs = ps.executeQuery();
|
||||
|
||||
LOGGER.log(Level.FINE, "QUERY: {0}", query);
|
||||
|
||||
tipoEgresoList = this.tipoEgresoFromResultSet(rs);
|
||||
|
||||
rs.close();
|
||||
ps.close();
|
||||
try (Connection conn = connectionHolder.getConnection()) {
|
||||
try (PreparedStatement ps = conn.prepareStatement(query)) {
|
||||
try (ResultSet rs = ps.executeQuery()) {
|
||||
while (rs.next()) {
|
||||
TipoEgreso tipoEgreso = new TipoEgreso();
|
||||
tipoEgreso.setId(rs.getInt("id"));
|
||||
tipoEgreso.setNombre(rs.getString("nombre"));
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
LOGGER.log(Level.SEVERE, e.toString(), e);
|
||||
}
|
||||
@@ -63,44 +66,44 @@ public class SQLiteTipoEgresoDAO extends TipoEgresoDAO {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TipoEgreso> findById(int id) {
|
||||
List<TipoEgreso> tipoEgresoList = new ArrayList<>();
|
||||
try (Connection conn = connectionHolder.getConnection()) {
|
||||
public Optional<TipoEgreso> findById(int id) {
|
||||
TipoEgreso tipoEgreso = null;
|
||||
String query = "select * from tipos_egreso where id = ?";
|
||||
PreparedStatement ps = conn.prepareStatement(query);
|
||||
try (Connection conn = connectionHolder.getConnection()) {
|
||||
try (PreparedStatement ps = conn.prepareStatement(query)) {
|
||||
ps.setInt(1, id);
|
||||
ResultSet rs = ps.executeQuery();
|
||||
|
||||
LOGGER.log(Level.FINE, "QUERY: {0} | values: {1}", new Object[]{query, id});
|
||||
|
||||
tipoEgresoList = this.tipoEgresoFromResultSet(rs);
|
||||
|
||||
rs.close();
|
||||
ps.close();
|
||||
try (ResultSet rs = ps.executeQuery()) {
|
||||
if (rs.next()) {
|
||||
tipoEgreso = new TipoEgreso();
|
||||
tipoEgreso.setId(rs.getInt("id"));
|
||||
tipoEgreso.setNombre(rs.getString("nombre"));
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
LOGGER.log(Level.SEVERE, e.toString(), e);
|
||||
}
|
||||
return tipoEgresoList;
|
||||
return Optional.ofNullable(tipoEgreso);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TipoEgreso> findByNombre(String nombre) {
|
||||
List<TipoEgreso> tipoEgresoList = new ArrayList<>();
|
||||
try (Connection conn = connectionHolder.getConnection()) {
|
||||
public Optional<TipoEgreso> findByNombre(String nombre) {
|
||||
TipoEgreso tipoEgreso = null;
|
||||
String query = "select * from tipos_egreso where nombre = ?";
|
||||
PreparedStatement ps = conn.prepareStatement(query);
|
||||
try (Connection conn = connectionHolder.getConnection()) {
|
||||
try (PreparedStatement ps = conn.prepareStatement(query)) {
|
||||
ps.setString(1, nombre);
|
||||
ResultSet rs = ps.executeQuery();
|
||||
|
||||
LOGGER.log(Level.FINE, "QUERY: {0} | values: {1}", new Object[]{query, nombre});
|
||||
|
||||
tipoEgresoList = this.tipoEgresoFromResultSet(rs);
|
||||
|
||||
rs.close();
|
||||
ps.close();
|
||||
try (ResultSet rs = ps.executeQuery()) {
|
||||
if (rs.next()) {
|
||||
tipoEgreso = new TipoEgreso();
|
||||
tipoEgreso.setId(rs.getInt("id"));
|
||||
tipoEgreso.setNombre(rs.getString("nombre"));
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
LOGGER.log(Level.SEVERE, e.toString(), e);
|
||||
}
|
||||
return tipoEgresoList;
|
||||
return Optional.ofNullable(tipoEgreso);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,6 +49,12 @@
|
||||
package danielcortes.xyz.models.tipo_egreso;
|
||||
|
||||
public class TipoEgreso {
|
||||
public final static TipoEgreso EMPTY;
|
||||
|
||||
static {
|
||||
EMPTY = new TipoEgreso();
|
||||
EMPTY.setNombre("EMPTY");
|
||||
}
|
||||
|
||||
private int id;
|
||||
private String nombre;
|
||||
|
||||
@@ -48,37 +48,13 @@
|
||||
|
||||
package danielcortes.xyz.models.tipo_egreso;
|
||||
|
||||
import danielcortes.xyz.data.ConnectionHolder;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
import java.util.Optional;
|
||||
|
||||
public abstract class TipoEgresoDAO {
|
||||
public interface TipoEgresoDAO {
|
||||
List<TipoEgreso> findAll();
|
||||
|
||||
private static final Logger LOGGER = Logger.getLogger(TipoEgresoDAO.class.getName());
|
||||
Optional<TipoEgreso> findById(int id);
|
||||
|
||||
protected ConnectionHolder connectionHolder;
|
||||
|
||||
public abstract List<TipoEgreso> findAll();
|
||||
|
||||
public abstract List<TipoEgreso> findById(int id);
|
||||
|
||||
public abstract List<TipoEgreso> findByNombre(String nombre);
|
||||
|
||||
List<TipoEgreso> tipoEgresoFromResultSet(ResultSet rs) throws SQLException {
|
||||
ArrayList<TipoEgreso> tipoEgresoList = new ArrayList<>();
|
||||
while (rs.next()) {
|
||||
TipoEgreso tipoEgreso = new TipoEgreso();
|
||||
tipoEgreso.setId(rs.getInt("id"));
|
||||
tipoEgreso.setNombre(rs.getString("nombre"));
|
||||
|
||||
LOGGER.log(Level.FINER, "Se a creado {0}", tipoEgreso);
|
||||
|
||||
tipoEgresoList.add(tipoEgreso);
|
||||
}
|
||||
return tipoEgresoList;
|
||||
}
|
||||
Optional<TipoEgreso> findByNombre(String nombre);
|
||||
}
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
package danielcortes.xyz.models.tipo_egreso;
|
||||
|
||||
public class TipoEgresoToStringWrapper extends TipoEgreso {
|
||||
private TipoEgreso tipoEgreso;
|
||||
|
||||
public TipoEgresoToStringWrapper(TipoEgreso tipoEgreso) {
|
||||
this.setId(tipoEgreso.getId());
|
||||
this.setNombre(tipoEgreso.getNombre());
|
||||
this.tipoEgreso = tipoEgreso;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return this.getNombre();
|
||||
return this.tipoEgreso.getNombre();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user