Search in sources :

Example 1 with PaginaRespuestaRest

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

the class PuntoDeVentaGUI method btn_ContinuarActionPerformed.

// GEN-LAST:event_txt_Decuento_porcentajeActionPerformed
private void btn_ContinuarActionPerformed(java.awt.event.ActionEvent evt) {
    // GEN-FIRST:event_btn_ContinuarActionPerformed
    if (renglones.isEmpty()) {
        JOptionPane.showMessageDialog(this, ResourceBundle.getBundle("Mensajes").getString("mensaje_factura_sin_renglones"), "Error", JOptionPane.ERROR_MESSAGE);
    } else {
        this.calcularResultados();
        try {
            if (!cmb_TipoComprobante.getSelectedItem().equals(TipoDeComprobante.PEDIDO)) {
                List<RenglonFactura> productosFaltantes = new ArrayList();
                renglones.stream().filter(r -> {
                    String uri = "/productos/" + r.getId_ProductoItem() + "/stock/disponibilidad?cantidad=" + r.getCantidad();
                    return (!RestClient.getRestTemplate().getForObject(uri, boolean.class));
                }).forEachOrdered(r -> productosFaltantes.add(r));
                if (productosFaltantes.isEmpty()) {
                    CerrarVentaGUI gui_CerrarVenta = new CerrarVentaGUI(this, true);
                    gui_CerrarVenta.setVisible(true);
                    if (gui_CerrarVenta.isExito()) {
                        this.limpiarYRecargarComponentes();
                    }
                } else {
                    ProductosFaltantesGUI gui_ProductosFaltantes = new ProductosFaltantesGUI(productosFaltantes);
                    gui_ProductosFaltantes.setModal(true);
                    gui_ProductosFaltantes.setLocationRelativeTo(this);
                    gui_ProductosFaltantes.setVisible(true);
                }
            } else {
                // El Id es 0 cuando, se genera un pedido desde el punto de venta entrando por el botón nuevo de administrar pedidos.
                if (pedido == null || pedido.getId_Pedido() == 0) {
                    this.construirPedido();
                }
                PaginaRespuestaRest<Pedido> response = RestClient.getRestTemplate().exchange("/pedidos/busqueda/criteria?" + "idEmpresa=" + EmpresaActiva.getInstance().getEmpresa().getId_Empresa() + "&nroPedido=" + pedido.getNroPedido(), HttpMethod.GET, null, new ParameterizedTypeReference<PaginaRespuestaRest<Pedido>>() {
                }).getBody();
                List<Pedido> pedidos = response.getContent();
                if (pedidos.isEmpty()) {
                    Pedido p = RestClient.getRestTemplate().postForObject("/pedidos", pedido, Pedido.class);
                    this.lanzarReportePedido(p);
                    this.limpiarYRecargarComponentes();
                } else if ((pedido.getEstado() == EstadoPedido.ABIERTO || pedido.getEstado() == null) && modificarPedido == true) {
                    this.actualizarPedido(pedido);
                    JOptionPane.showMessageDialog(this, "El pedido se actualizó correctamente.", "Aviso", JOptionPane.INFORMATION_MESSAGE);
                    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);
        }
    }
}
Also used : TipoDeComprobante(sic.modelo.TipoDeComprobante) RenderTabla(sic.util.RenderTabla) Arrays(java.util.Arrays) RestClient(sic.RestClient) RenglonPedido(sic.modelo.RenglonPedido) UsuarioActivo(sic.modelo.UsuarioActivo) JDialog(javax.swing.JDialog) FormaDePago(sic.modelo.FormaDePago) Date(java.util.Date) ParameterizedTypeReference(org.springframework.core.ParameterizedTypeReference) LoggerFactory(org.slf4j.LoggerFactory) Utilidades(sic.util.Utilidades) Transportista(sic.modelo.Transportista) Point(java.awt.Point) KeyAdapter(java.awt.event.KeyAdapter) RenglonFactura(sic.modelo.RenglonFactura) Rol(sic.modelo.Rol) ArrayList(java.util.ArrayList) Movimiento(sic.modelo.Movimiento) SwingUtilities(javax.swing.SwingUtilities) ResourceBundle(java.util.ResourceBundle) RestClientResponseException(org.springframework.web.client.RestClientResponseException) Pedido(sic.modelo.Pedido) Empresa(sic.modelo.Empresa) ImageIcon(javax.swing.ImageIcon) Cliente(sic.modelo.Cliente) ParseException(java.text.ParseException) ConfiguracionDelSistema(sic.modelo.ConfiguracionDelSistema) Producto(sic.modelo.Producto) Desktop(java.awt.Desktop) Logger(org.slf4j.Logger) Files(java.nio.file.Files) EstadoPedido(sic.modelo.EstadoPedido) FacturaVenta(sic.modelo.FacturaVenta) HttpMethod(org.springframework.http.HttpMethod) IOException(java.io.IOException) ResourceAccessException(org.springframework.web.client.ResourceAccessException) KeyEvent(java.awt.event.KeyEvent) JOptionPane(javax.swing.JOptionPane) File(java.io.File) List(java.util.List) JTable(javax.swing.JTable) EmpresaActiva(sic.modelo.EmpresaActiva) PaginaRespuestaRest(sic.modelo.PaginaRespuestaRest) RenglonPedido(sic.modelo.RenglonPedido) Pedido(sic.modelo.Pedido) EstadoPedido(sic.modelo.EstadoPedido) ArrayList(java.util.ArrayList) ResourceAccessException(org.springframework.web.client.ResourceAccessException) ParameterizedTypeReference(org.springframework.core.ParameterizedTypeReference) RenglonFactura(sic.modelo.RenglonFactura) RestClientResponseException(org.springframework.web.client.RestClientResponseException)

Aggregations

Desktop (java.awt.Desktop)1 Point (java.awt.Point)1 KeyAdapter (java.awt.event.KeyAdapter)1 KeyEvent (java.awt.event.KeyEvent)1 File (java.io.File)1 IOException (java.io.IOException)1 Files (java.nio.file.Files)1 ParseException (java.text.ParseException)1 ArrayList (java.util.ArrayList)1 Arrays (java.util.Arrays)1 Date (java.util.Date)1 List (java.util.List)1 ResourceBundle (java.util.ResourceBundle)1 ImageIcon (javax.swing.ImageIcon)1 JDialog (javax.swing.JDialog)1 JOptionPane (javax.swing.JOptionPane)1 JTable (javax.swing.JTable)1 SwingUtilities (javax.swing.SwingUtilities)1 Logger (org.slf4j.Logger)1 LoggerFactory (org.slf4j.LoggerFactory)1