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