use of sic.modelo.FormaDePago in project sic by belluccifranco.
the class PagoMultiplesFacturasGUI method lbl_AceptarActionPerformed.
// </editor-fold>//GEN-END:initComponents
private void lbl_AceptarActionPerformed(java.awt.event.ActionEvent evt) {
//GEN-FIRST:event_lbl_AceptarActionPerformed
int respuesta = JOptionPane.showConfirmDialog(this, "¿Esta seguro que desea realizar esta operacion?", "Pago", JOptionPane.YES_NO_OPTION);
if (respuesta == JOptionPane.YES_OPTION) {
try {
if (ftxt_Monto.getValue() == null) {
ftxt_Monto.setText("0");
}
double montoDelPago = Double.parseDouble(ftxt_Monto.getValue().toString());
int indice = 0;
long[] idsFacturas = new long[facturas.size()];
for (Factura factura : facturas) {
idsFacturas[indice] = factura.getId_Factura();
indice++;
}
RestClient.getRestTemplate().put("/pagos/pagar-multiples-facturas?" + "idFactura=" + Arrays.toString(idsFacturas).substring(1, Arrays.toString(idsFacturas).length() - 1) + "&monto=" + montoDelPago + "&idFormaDePago=" + ((FormaDePago) cmb_FormaDePago.getSelectedItem()).getId_FormaDePago() + "¬a=" + ftxt_Nota.getText(), null);
this.dispose();
} 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);
}
}
}
use of sic.modelo.FormaDePago in project sic by belluccifranco.
the class FormasDePagoGUI method agregarFormaDePago.
private void agregarFormaDePago() {
try {
FormaDePago formaDePago = new FormaDePago();
formaDePago.setNombre(txt_Nombre.getText().trim());
formaDePago.setAfectaCaja(chk_AfectaCaja.isSelected());
formaDePago.setEmpresa(EmpresaActiva.getInstance().getEmpresa());
RestClient.getRestTemplate().postForObject("/formas-de-pago", formaDePago, FormaDePago.class);
txt_Nombre.setText("");
chk_AfectaCaja.setSelected(false);
this.getFormasDePagos();
this.cargarResultadosAlTable();
} 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);
}
}
use of sic.modelo.FormaDePago 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.FormaDePago in project sic by belluccifranco.
the class CajaServiceImpl method cargarPagosyGastos.
private Caja cargarPagosyGastos(Caja caja) {
Map<Long, Double> totalesPorFomaDePago = new HashMap<>();
for (FormaDePago fdp : formaDePagoService.getFormasDePago(caja.getEmpresa())) {
double total = this.getTotalMovimientosPorFormaDePago(caja, fdp);
if (total != 0) {
totalesPorFomaDePago.put(fdp.getId_FormaDePago(), total);
}
}
caja.setTotalesPorFomaDePago(totalesPorFomaDePago);
return caja;
}
use of sic.modelo.FormaDePago in project sic by belluccifranco.
the class PagoServiceImpl method pagarMultiplesFacturas.
@Override
@Transactional
public void pagarMultiplesFacturas(List<Factura> facturas, double monto, FormaDePago formaDePago, String nota) {
if (monto <= this.calcularTotalAdeudadoFacturas(facturas)) {
List<Factura> facturasOrdenadas = facturaService.ordenarFacturasPorFechaAsc(facturas);
for (Factura factura : facturasOrdenadas) {
if (monto > 0.0) {
factura.setPagos(this.getPagosDeLaFactura(factura.getId_Factura()));
Pago nuevoPago = new Pago();
nuevoPago.setFormaDePago(formaDePago);
nuevoPago.setFactura(factura);
nuevoPago.setFecha(new Date());
nuevoPago.setEmpresa(factura.getEmpresa());
nuevoPago.setNota(nota);
double saldoAPagar = this.getSaldoAPagar(factura);
if (saldoAPagar <= monto) {
monto = monto - saldoAPagar;
// Se utiliza round por un problema de presicion de la maquina ej: 828.65 - 614.0 = 214.64999...
monto = Math.round(monto * 100.0) / 100.0;
nuevoPago.setMonto(saldoAPagar);
} else {
nuevoPago.setMonto(monto);
monto = 0.0;
}
this.guardar(nuevoPago);
}
}
} else {
throw new BusinessServiceException(ResourceBundle.getBundle("Mensajes").getString("mensaje_pago_mayorADeuda_monto"));
}
}
Aggregations