Search in sources :

Example 6 with RenglonCuentaCorriente

use of sic.modelo.RenglonCuentaCorriente in project sic by belluccifranco.

the class CuentaCorrienteGUI method btn_EliminarActionPerformed.

// GEN-LAST:event_btn_VerPagosActionPerformed
private void btn_EliminarActionPerformed(java.awt.event.ActionEvent evt) {
    // GEN-FIRST:event_btn_EliminarActionPerformed
    if (tbl_Resultados.getSelectedRow() != -1) {
        if (tbl_Resultados.getSelectedRowCount() == 1) {
            int respuesta = JOptionPane.showConfirmDialog(this, ResourceBundle.getBundle("Mensajes").getString("mensaje_eliminar_movimientos"), "Eliminar", JOptionPane.YES_NO_OPTION);
            if (respuesta == JOptionPane.YES_OPTION) {
                int indexFilaSeleccionada = Utilidades.getSelectedRowModelIndice(tbl_Resultados);
                RenglonCuentaCorriente renglonCC = movimientosTotal.get(indexFilaSeleccionada);
                boolean refrescar = false;
                try {
                    if (renglonCC.getTipoMovimiento() == TipoMovimiento.VENTA) {
                        RestClient.getRestTemplate().delete("/facturas?idFactura=" + renglonCC.getIdMovimiento());
                        refrescar = true;
                    }
                    if (renglonCC.getTipoMovimiento() == TipoMovimiento.PAGO) {
                        RestClient.getRestTemplate().delete("/pagos/" + renglonCC.getIdMovimiento());
                        refrescar = true;
                    }
                    if (renglonCC.getTipoMovimiento() == TipoMovimiento.CREDITO || renglonCC.getTipoMovimiento() == TipoMovimiento.DEBITO) {
                        RestClient.getRestTemplate().delete("/notas?idsNota=" + renglonCC.getIdMovimiento());
                        refrescar = true;
                    }
                    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);
                }
            }
        }
    }
}
Also used : RestClientResponseException(org.springframework.web.client.RestClientResponseException) RenglonCuentaCorriente(sic.modelo.RenglonCuentaCorriente) Point(java.awt.Point) ResourceAccessException(org.springframework.web.client.ResourceAccessException)

Example 7 with RenglonCuentaCorriente

use of sic.modelo.RenglonCuentaCorriente in project sic by belluccifranco.

the class CuentaCorrienteGUI method btnCrearNotaDebitoActionPerformed.

// GEN-LAST:event_btnCrearNotaCreditoActionPerformed
private void btnCrearNotaDebitoActionPerformed(java.awt.event.ActionEvent evt) {
    // GEN-FIRST:event_btnCrearNotaDebitoActionPerformed
    if (tbl_Resultados.getSelectedRow() != -1) {
        int indexFilaSeleccionada = Utilidades.getSelectedRowModelIndice(tbl_Resultados);
        RenglonCuentaCorriente renglonCC = movimientosTotal.get(indexFilaSeleccionada);
        if (renglonCC.getTipoMovimiento() == TipoMovimiento.PAGO) {
            if (RestClient.getRestTemplate().getForObject("/notas/debito/" + renglonCC.getIdMovimiento(), NotaDebito.class) != null) {
                JOptionPane.showInternalMessageDialog(this, ResourceBundle.getBundle("Mensajes").getString("mensaje_pago_con_nota_debito"), "Error", JOptionPane.ERROR_MESSAGE);
            } else {
                DetalleNotaDebitoGUI detalleNotaDebitoGUI = new DetalleNotaDebitoGUI(cliente.getId_Cliente(), renglonCC.getIdMovimiento());
                detalleNotaDebitoGUI.setVisible(true);
                refrescarVista(detalleNotaDebitoGUI.isNotaDebitoCreada());
            }
        } else {
            JOptionPane.showInternalMessageDialog(this, ResourceBundle.getBundle("Mensajes").getString("mensaje_tipoDeMovimiento_incorrecto"), "Error", JOptionPane.ERROR_MESSAGE);
        }
    }
}
Also used : NotaDebito(sic.modelo.NotaDebito) RenglonCuentaCorriente(sic.modelo.RenglonCuentaCorriente) Point(java.awt.Point)

Example 8 with RenglonCuentaCorriente

use of sic.modelo.RenglonCuentaCorriente in project sic by belluccifranco.

the class CuentaCorrienteGUI method btnCrearNotaCreditoActionPerformed.

// GEN-LAST:event_btnBuscarActionPerformed
private void btnCrearNotaCreditoActionPerformed(java.awt.event.ActionEvent evt) {
    // GEN-FIRST:event_btnCrearNotaCreditoActionPerformed
    if (tbl_Resultados.getSelectedRow() != -1) {
        int indexFilaSeleccionada = Utilidades.getSelectedRowModelIndice(tbl_Resultados);
        RenglonCuentaCorriente renglonCC = movimientosTotal.get(indexFilaSeleccionada);
        if (renglonCC.getTipoMovimiento() == TipoMovimiento.VENTA) {
            SeleccionDeProductosGUI seleccionDeProductosGUI = new SeleccionDeProductosGUI(renglonCC.getIdMovimiento(), TipoMovimiento.CREDITO);
            seleccionDeProductosGUI.setModal(true);
            seleccionDeProductosGUI.setLocationRelativeTo(this);
            seleccionDeProductosGUI.setVisible(true);
            if (!seleccionDeProductosGUI.getRenglonesConCantidadNueva().isEmpty()) {
                DetalleNotaCreditoGUI detalleNotaCredito = new DetalleNotaCreditoGUI(seleccionDeProductosGUI.getRenglonesConCantidadNueva(), seleccionDeProductosGUI.getIdFactura(), seleccionDeProductosGUI.modificarStock());
                detalleNotaCredito.setModal(true);
                detalleNotaCredito.setLocationRelativeTo(this);
                detalleNotaCredito.setVisible(true);
                refrescarVista(detalleNotaCredito.isNotaCreada());
            }
        } else {
            JOptionPane.showInternalMessageDialog(this, ResourceBundle.getBundle("Mensajes").getString("mensaje_tipoDeMovimiento_incorrecto"), "Error", JOptionPane.ERROR_MESSAGE);
        }
    }
}
Also used : RenglonCuentaCorriente(sic.modelo.RenglonCuentaCorriente) Point(java.awt.Point)

Example 9 with RenglonCuentaCorriente

use of sic.modelo.RenglonCuentaCorriente in project sic by belluccifranco.

the class CuentaCorrienteGUI method btnVerDetalleActionPerformed.

// GEN-LAST:event_btnCrearNotaDebitoActionPerformed
private void btnVerDetalleActionPerformed(java.awt.event.ActionEvent evt) {
    // GEN-FIRST:event_btnVerDetalleActionPerformed
    if (tbl_Resultados.getSelectedRow() != -1) {
        int indexFilaSeleccionada = Utilidades.getSelectedRowModelIndice(tbl_Resultados);
        RenglonCuentaCorriente renglonCC = movimientosTotal.get(indexFilaSeleccionada);
        try {
            if (renglonCC.getTipoMovimiento() == null) {
                JOptionPane.showInternalMessageDialog(this, ResourceBundle.getBundle("Mensajes").getString("mensaje_tipoDeMovimiento_incorrecto"), "Error", JOptionPane.ERROR_MESSAGE);
            } else {
                switch(renglonCC.getTipoMovimiento()) {
                    case DEBITO:
                        if (Desktop.isDesktopSupported()) {
                            byte[] reporte = RestClient.getRestTemplate().getForObject("/notas/" + renglonCC.getIdMovimiento() + "/reporte", byte[].class);
                            File f = new File(System.getProperty("user.home") + "/NotaDebito.pdf");
                            Files.write(f.toPath(), reporte);
                            Desktop.getDesktop().open(f);
                        } else {
                            JOptionPane.showMessageDialog(this, ResourceBundle.getBundle("Mensajes").getString("mensaje_error_plataforma_no_soportada"), "Error", JOptionPane.ERROR_MESSAGE);
                        }
                        break;
                    case CREDITO:
                        if (Desktop.isDesktopSupported()) {
                            byte[] reporte = RestClient.getRestTemplate().getForObject("/notas/" + renglonCC.getIdMovimiento() + "/reporte", byte[].class);
                            File f = new File(System.getProperty("user.home") + "/NotaCredito.pdf");
                            Files.write(f.toPath(), reporte);
                            Desktop.getDesktop().open(f);
                        } else {
                            JOptionPane.showMessageDialog(this, ResourceBundle.getBundle("Mensajes").getString("mensaje_error_plataforma_no_soportada"), "Error", JOptionPane.ERROR_MESSAGE);
                        }
                        break;
                    case VENTA:
                        if (Desktop.isDesktopSupported()) {
                            byte[] reporte = RestClient.getRestTemplate().getForObject("/facturas/" + renglonCC.getIdMovimiento() + "/reporte", byte[].class);
                            File f = new File(System.getProperty("user.home") + "/Factura.pdf");
                            Files.write(f.toPath(), reporte);
                            Desktop.getDesktop().open(f);
                        } else {
                            JOptionPane.showMessageDialog(this, ResourceBundle.getBundle("Mensajes").getString("mensaje_error_plataforma_no_soportada"), "Error", JOptionPane.ERROR_MESSAGE);
                        }
                        break;
                    default:
                        JOptionPane.showInternalMessageDialog(this, ResourceBundle.getBundle("Mensajes").getString("mensaje_tipoDeMovimiento_incorrecto"), "Error", JOptionPane.ERROR_MESSAGE);
                        break;
                }
            }
        } catch (IOException ex) {
            LOGGER.error(ex.getMessage());
            JOptionPane.showMessageDialog(this, ResourceBundle.getBundle("Mensajes").getString("mensaje_error_IOException"), "Error", JOptionPane.ERROR_MESSAGE);
        }
    }
}
Also used : IOException(java.io.IOException) RenglonCuentaCorriente(sic.modelo.RenglonCuentaCorriente) File(java.io.File) Point(java.awt.Point)

Example 10 with RenglonCuentaCorriente

use of sic.modelo.RenglonCuentaCorriente in project sic by belluccifranco.

the class CuentaCorrienteServiceImpl method asentarEnCuentaCorriente.

@Override
@Transactional
public void asentarEnCuentaCorriente(FacturaVenta fv, TipoDeOperacion operacion) {
    if (operacion == TipoDeOperacion.ALTA) {
        RenglonCuentaCorriente rcc = new RenglonCuentaCorriente();
        rcc.setComprobante((fv.getTipoComprobante().equals(TipoDeComprobante.PRESUPUESTO) ? "PRESUPUESTO " : "FACTURA ") + (fv.getTipoComprobante().equals(TipoDeComprobante.FACTURA_A) ? "\"A\"" : fv.getTipoComprobante().equals(TipoDeComprobante.FACTURA_B) ? "\"B\"" : fv.getTipoComprobante().equals(TipoDeComprobante.FACTURA_C) ? "\"C\"" : fv.getTipoComprobante().equals(TipoDeComprobante.FACTURA_X) ? "\"X\"" : fv.getTipoComprobante().equals(TipoDeComprobante.FACTURA_Y) ? "\"Y\"" : "") + " " + fv.getNumSerie() + " - " + fv.getNumFactura());
        rcc.setFactura(fv);
        rcc.setFecha(fv.getFecha());
        rcc.setFechaVencimiento(fv.getFechaVencimiento());
        rcc.setIdMovimiento(fv.getId_Factura());
        rcc.setMonto(-fv.getTotal());
        rcc.setTipoMovimiento(TipoMovimiento.VENTA);
        this.getCuentaCorrientePorCliente(fv.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.getRenglonCuentaCorrienteDeFactura(fv, false);
        rcc.setEliminado(true);
        LOGGER.warn("El renglon " + rcc + " se eliminó correctamente.");
    }
}
Also used : RenglonCuentaCorriente(sic.modelo.RenglonCuentaCorriente) Transactional(org.springframework.transaction.annotation.Transactional)

Aggregations

RenglonCuentaCorriente (sic.modelo.RenglonCuentaCorriente)10 Point (java.awt.Point)6 Transactional (org.springframework.transaction.annotation.Transactional)3 ResourceAccessException (org.springframework.web.client.ResourceAccessException)3 RestClientResponseException (org.springframework.web.client.RestClientResponseException)3 NotaDebito (sic.modelo.NotaDebito)2 File (java.io.File)1 IOException (java.io.IOException)1 CuentaCorriente (sic.modelo.CuentaCorriente)1 Factura (sic.modelo.Factura)1 FacturaVenta (sic.modelo.FacturaVenta)1 NotaCredito (sic.modelo.NotaCredito)1 Pago (sic.modelo.Pago)1 FormatterFechaHora (sic.util.FormatterFechaHora)1