use of sic.modelo.RenglonCuentaCorriente in project sic by belluccifranco.
the class CuentaCorrienteServiceImpl method asentarEnCuentaCorriente.
@Override
@Transactional
public void asentarEnCuentaCorriente(Nota n, TipoDeOperacion operacion) {
if (operacion == TipoDeOperacion.ALTA) {
RenglonCuentaCorriente rcc = new RenglonCuentaCorriente();
if (n instanceof NotaCredito) {
rcc.setComprobante("NOTA CREDITO " + (n.getTipoComprobante().equals(TipoDeComprobante.NOTA_CREDITO_A) ? "\"A\"" : n.getTipoComprobante().equals(TipoDeComprobante.NOTA_CREDITO_B) ? "\"B\"" : n.getTipoComprobante().equals(TipoDeComprobante.NOTA_CREDITO_X) ? "\"X\"" : "") + " " + n.getSerie() + " - " + n.getNroNota());
rcc.setMonto(n.getTotal());
// Descripción de los productos
rcc.setDescripcion(n.getMotivo());
}
if (n instanceof NotaDebito) {
rcc.setComprobante("NOTA DEBITO " + (n.getTipoComprobante().equals(TipoDeComprobante.NOTA_DEBITO_A) ? "\"A\"" : n.getTipoComprobante().equals(TipoDeComprobante.NOTA_DEBITO_B) ? "\"B\"" : n.getTipoComprobante().equals(TipoDeComprobante.NOTA_DEBITO_X) ? "\"X\"" : "") + " " + n.getSerie() + " - " + n.getNroNota());
rcc.setMonto(-n.getTotal());
Pago p = pagoService.getPagoPorId(((NotaDebito) n).getPagoId());
String descripcion = "Fecha Pago: " + (new FormatterFechaHora(FormatterFechaHora.FORMATO_FECHA_HISPANO)).format(p.getFecha()) + " Nº " + p.getNroPago();
if (p.getNota() != null && p.getNota().length() > 0) {
descripcion += " Nota:" + p.getNota();
}
rcc.setDescripcion(descripcion);
}
rcc.setNota(n);
rcc.setFecha(n.getFecha());
rcc.setIdMovimiento(n.getIdNota());
rcc.setTipoMovimiento(this.getTipoMovimiento(n));
this.getCuentaCorrientePorCliente(n.getCliente().getId_Cliente()).getRenglones().add(rcc);
this.renglonCuentaCorrienteService.asentarRenglonCuentaCorriente(rcc);
LOGGER.warn("El renglon " + rcc + " se guardó correctamente.");
}
if (operacion == TipoDeOperacion.ELIMINACION) {
RenglonCuentaCorriente rcc = this.renglonCuentaCorrienteService.getRenglonCuentaCorrienteDeNota(n, false);
rcc.setEliminado(true);
LOGGER.warn("El renglon " + rcc + " se eliminó correctamente.");
}
}
use of sic.modelo.RenglonCuentaCorriente in project sic by belluccifranco.
the class CuentaCorrienteServiceImpl method asentarEnCuentaCorriente.
@Override
@Transactional
public void asentarEnCuentaCorriente(Pago p, TipoDeOperacion operacion, Long idCliente) {
if (operacion == TipoDeOperacion.ALTA) {
RenglonCuentaCorriente rcc = new RenglonCuentaCorriente();
rcc.setPago(p);
rcc.setComprobante("PAGO Nº " + p.getNroPago());
rcc.setDescripcion(p.getNota());
rcc.setFecha(p.getFecha());
rcc.setIdMovimiento(p.getId_Pago());
rcc.setMonto(p.getMonto());
rcc.setTipoMovimiento(TipoMovimiento.PAGO);
if (p.getFactura() instanceof FacturaVenta) {
this.getCuentaCorrientePorCliente(((FacturaVenta) p.getFactura()).getCliente().getId_Cliente()).getRenglones().add(rcc);
} else if (idCliente != null) {
this.getCuentaCorrientePorCliente(idCliente).getRenglones().add(rcc);
}
this.renglonCuentaCorrienteService.asentarRenglonCuentaCorriente(rcc);
LOGGER.warn("El renglon " + rcc + " se guardó correctamente.");
}
if (operacion == TipoDeOperacion.ELIMINACION) {
RenglonCuentaCorriente rcc = this.renglonCuentaCorrienteService.getRenglonCuentaCorrienteDePago(p, false);
rcc.setEliminado(true);
LOGGER.warn("El renglon " + rcc + " se eliminó correctamente.");
}
}
use of sic.modelo.RenglonCuentaCorriente in project sic by belluccifranco.
the class CuentaCorrienteServiceImpl method getRenglonesCuentaCorriente.
@Override
public Page<RenglonCuentaCorriente> getRenglonesCuentaCorriente(long idCuentaCorriente, Date desde, Date hasta, Pageable pageable) {
CuentaCorriente cc = this.getCuentaCorrientePorID(idCuentaCorriente);
Page<RenglonCuentaCorriente> renglonesCuentaCorriente = cuentaCorrienteRepository.getRenglonesCuentaCorrientePorClienteEntreFechas(cc.getCliente().getId_Cliente(), desde, hasta, pageable);
if (!renglonesCuentaCorriente.getContent().isEmpty()) {
double saldo = this.getSaldoCuentaCorriente(false, renglonesCuentaCorriente.getContent().get(0).getFecha(), cc.getCliente().getId_Cliente());
for (RenglonCuentaCorriente r : renglonesCuentaCorriente.getContent()) {
saldo += r.getMonto();
r.setSaldo(saldo);
if (r.getTipoMovimiento() == TipoMovimiento.VENTA) {
r.setCAE(facturaService.getCAEById(r.getIdMovimiento()));
}
if (r.getTipoMovimiento() == TipoMovimiento.CREDITO || r.getTipoMovimiento() == TipoMovimiento.DEBITO) {
r.setCAE(notaService.getCAEById(r.getIdMovimiento()));
}
}
}
return renglonesCuentaCorriente;
}
use of sic.modelo.RenglonCuentaCorriente in project sic by belluccifranco.
the class CuentaCorrienteGUI method btn_VerPagosActionPerformed.
// GEN-LAST:event_btnAutorizarNotaActionPerformed
private void btn_VerPagosActionPerformed(java.awt.event.ActionEvent evt) {
// GEN-FIRST:event_btn_VerPagosActionPerformed
try {
if (tbl_Resultados.getSelectedRow() != -1) {
boolean refrescar = false;
if (tbl_Resultados.getSelectedRowCount() == 1) {
int indexFilaSeleccionada = Utilidades.getSelectedRowModelIndice(tbl_Resultados);
RenglonCuentaCorriente renglonCC = movimientosTotal.get(indexFilaSeleccionada);
if (renglonCC.getTipoMovimiento() == TipoMovimiento.VENTA) {
PagosGUI gui_Pagos = new PagosGUI(RestClient.getRestTemplate().getForObject("/facturas/" + renglonCC.getIdMovimiento(), Factura.class));
gui_Pagos.setModal(true);
gui_Pagos.setLocationRelativeTo(this);
gui_Pagos.setVisible(true);
refrescar = gui_Pagos.isPagosCreados();
} else if (renglonCC.getTipoMovimiento() == TipoMovimiento.DEBITO) {
PagosGUI gui_Pagos = new PagosGUI(RestClient.getRestTemplate().getForObject("/notas/" + renglonCC.getIdMovimiento(), NotaDebito.class));
gui_Pagos.setModal(true);
gui_Pagos.setLocationRelativeTo(this);
gui_Pagos.setVisible(true);
refrescar = gui_Pagos.isPagosCreados();
} else {
JOptionPane.showInternalMessageDialog(this, ResourceBundle.getBundle("Mensajes").getString("mensaje_tipoDeMovimiento_incorrecto"), "Error", JOptionPane.ERROR_MESSAGE);
}
}
refrescarVista(refrescar);
}
} 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.RenglonCuentaCorriente in project sic by belluccifranco.
the class CuentaCorrienteGUI method btnAutorizarNotaActionPerformed.
// GEN-LAST:event_btnVerDetalleActionPerformed
private void btnAutorizarNotaActionPerformed(java.awt.event.ActionEvent evt) {
// GEN-FIRST:event_btnAutorizarNotaActionPerformed
if (tbl_Resultados.getSelectedRow() != -1 && tbl_Resultados.getSelectedRowCount() == 1) {
int indexFilaSeleccionada = Utilidades.getSelectedRowModelIndice(tbl_Resultados);
RenglonCuentaCorriente renglonCC = movimientosTotal.get(indexFilaSeleccionada);
if (renglonCC.getTipoMovimiento() == TipoMovimiento.CREDITO || renglonCC.getTipoMovimiento() == TipoMovimiento.DEBITO) {
try {
RestClient.getRestTemplate().postForObject("/notas/" + renglonCC.getIdMovimiento() + "/autorizacion", null, Nota.class);
JOptionPane.showMessageDialog(this, ResourceBundle.getBundle("Mensajes").getString("mensaje_nota_autorizada"), "Aviso", JOptionPane.INFORMATION_MESSAGE);
refrescarVista(true);
} 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);
}
} else {
JOptionPane.showInternalMessageDialog(this, ResourceBundle.getBundle("Mensajes").getString("mensaje_tipoDeMovimiento_incorrecto"), "Error", JOptionPane.ERROR_MESSAGE);
}
}
}
Aggregations