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);
}
}
}
Aggregations