use of sic.modelo.Gasto in project sic by belluccifranco.
the class AgregarGastoGUI method construirGasto.
public Gasto construirGasto(String concepto, double monto, FormaDePago formaDePago) {
Empresa empresa = EmpresaActiva.getInstance().getEmpresa();
Gasto gasto = new Gasto();
gasto.setConcepto(concepto);
gasto.setEliminado(false);
gasto.setEmpresa(empresa);
gasto.setFecha(new Date());
gasto.setFormaDePago(formaDePago);
gasto.setMonto(monto);
gasto.setUsuario(UsuarioActivo.getInstance().getUsuario());
return gasto;
}
use of sic.modelo.Gasto in project sic by belluccifranco.
the class CajaServiceImpl method getTotalMovimientosPorFormaDePago.
private double getTotalMovimientosPorFormaDePago(Caja caja, FormaDePago fdp) {
double pagosVentasTotal = 0.0;
double pagosComprasTotal = 0.0;
double gastosTotal = 0.0;
LocalDateTime ldt = caja.getFechaApertura().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
if (caja.getFechaCierre() == null) {
ldt = ldt.withHour(23);
ldt = ldt.withMinute(59);
ldt = ldt.withSecond(59);
} else {
ldt = caja.getFechaCierre().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
}
List<Pago> pagos = pagoService.getPagosEntreFechasYFormaDePago(caja.getEmpresa().getId_Empresa(), fdp.getId_FormaDePago(), caja.getFechaApertura(), Date.from(ldt.atZone(ZoneId.systemDefault()).toInstant()));
List<Gasto> gastos = gastoService.getGastosEntreFechasYFormaDePago(caja.getEmpresa().getId_Empresa(), fdp.getId_FormaDePago(), caja.getFechaApertura(), Date.from(ldt.atZone(ZoneId.systemDefault()).toInstant()));
for (Pago pago : pagos) {
if (pago.getFactura() instanceof FacturaVenta) {
pagosVentasTotal += pago.getMonto();
} else if (pago.getFactura() instanceof FacturaCompra) {
pagosComprasTotal += pago.getMonto();
}
}
gastosTotal = gastos.stream().map((gasto) -> gasto.getMonto()).reduce(gastosTotal, (accumulator, _item) -> accumulator + _item);
return pagosVentasTotal - pagosComprasTotal - gastosTotal;
}
use of sic.modelo.Gasto in project sic by belluccifranco.
the class GastoServiceImpl method eliminar.
@Override
@Transactional
public void eliminar(long idGasto) {
Gasto gastoParaEliminar = this.getGastoPorId(idGasto);
if (this.cajaService.getUltimaCaja(gastoParaEliminar.getEmpresa().getId_Empresa()).getEstado().equals(EstadoCaja.CERRADA)) {
throw new BusinessServiceException(ResourceBundle.getBundle("Mensajes").getString("mensaje_gasto_caja_cerrada"));
}
gastoParaEliminar.setEliminado(true);
gastoRepository.save(gastoParaEliminar);
}
use of sic.modelo.Gasto in project sic by belluccifranco.
the class CajaGUI method cargarTablaResumen.
private void cargarTablaResumen() {
this.caja = RestClient.getRestTemplate().getForObject("/cajas/" + this.caja.getId_Caja(), Caja.class);
Object[] renglonSaldoApertura = new Object[4];
renglonSaldoApertura[0] = 0L;
renglonSaldoApertura[1] = "Saldo Apertura";
renglonSaldoApertura[2] = true;
renglonSaldoApertura[3] = caja.getSaldoInicial();
modeloTablaResumen.addRow(renglonSaldoApertura);
List<Pago> pagos;
List<Gasto> gastos;
try {
for (long idFormaDePago : caja.getTotalesPorFomaDePago().keySet()) {
listaMovimientos.clear();
FormaDePago fdp = RestClient.getRestTemplate().getForObject("/formas-de-pago/" + idFormaDePago, FormaDePago.class);
Object[] fila = new Object[4];
fila[0] = fdp.getId_FormaDePago();
fila[1] = fdp.getNombre();
fila[2] = fdp.isAfectaCaja();
fila[3] = caja.getTotalesPorFomaDePago().get(idFormaDePago);
modeloTablaResumen.addRow(fila);
pagos = this.getPagosPorFormaDePago(idFormaDePago);
pagos.stream().forEach((pago) -> {
listaMovimientos.add(new Movimiento(pago));
});
gastos = this.getGastosPorFormaDePago(idFormaDePago);
gastos.stream().forEach((gasto) -> {
listaMovimientos.add(new Movimiento(gasto));
});
Collections.sort(listaMovimientos);
mapMovimientos.put(idFormaDePago, new ArrayList<>(listaMovimientos));
}
this.cargarResultados();
tbl_Resumen.setModel(modeloTablaResumen);
tbl_Resumen.removeColumn(tbl_Resumen.getColumnModel().getColumn(0));
tbl_Resumen.setDefaultRenderer(Double.class, new ColoresNumerosTablaRenderer());
} catch (RestClientResponseException ex) {
JOptionPane.showMessageDialog(this, ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
} catch (ResourceAccessException ex) {
LOGGER.error(ex.getMessage());
JOptionPane.showMessageDialog(this, ResourceBundle.getBundle("Mensajes").getString("mensaje_error_conexion"), "Error", JOptionPane.ERROR_MESSAGE);
this.dispose();
}
}
use of sic.modelo.Gasto in project sic by belluccifranco.
the class CajaGUI method btn_VerDetalleActionPerformed.
//GEN-LAST:event_btn_CerrarCajaActionPerformed
private void btn_VerDetalleActionPerformed(java.awt.event.ActionEvent evt) {
//GEN-FIRST:event_btn_VerDetalleActionPerformed
if (tbl_Movimientos.getSelectedRow() != -1) {
long id = this.listaMovimientos.get(Utilidades.getSelectedRowModelIndice(tbl_Movimientos)).getIdMovimiento();
TipoMovimientoCaja tipoMovimientoCaja = this.listaMovimientos.get(Utilidades.getSelectedRowModelIndice(tbl_Movimientos)).getTipoMovimientoCaja();
try {
if (tipoMovimientoCaja.equals(TipoMovimientoCaja.PAGO)) {
Pago pago = RestClient.getRestTemplate().getForObject("/pagos/" + id, Pago.class);
if (pago.getFactura() instanceof FacturaVenta) {
this.lanzarReporteFacturaVenta(pago.getFactura());
}
if (pago.getFactura() instanceof FacturaCompra) {
this.verDetalleFacturaCompra(pago.getFactura());
}
}
if (tipoMovimientoCaja.equals(TipoMovimientoCaja.GASTO)) {
Gasto gasto = RestClient.getRestTemplate().getForObject("/gastos/" + id, Gasto.class);
String mensaje = "En Concepto de: " + gasto.getConcepto() + "\nMonto: " + gasto.getMonto() + "\nUsuario: " + gasto.getUsuario().getNombre();
JOptionPane.showMessageDialog(this, mensaje, "Resumen de Gasto", JOptionPane.INFORMATION_MESSAGE);
}
} catch (RestClientResponseException ex) {
JOptionPane.showMessageDialog(this, ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
} catch (ResourceAccessException ex) {
LOGGER.error(ex.getMessage());
JOptionPane.showMessageDialog(this, ResourceBundle.getBundle("Mensajes").getString("mensaje_error_conexion"), "Error", JOptionPane.ERROR_MESSAGE);
}
}
}
Aggregations