use of sic.modelo.RenglonPedido in project sic by belluccifranco.
the class PedidoBuilder method build.
public Pedido build() {
if (renglones == null) {
RenglonPedido renglon1 = new RenglonPedidoBuilder().build();
RenglonPedido renglon2 = new RenglonPedidoBuilder().withCantidad(1).withIdRenglonPedido(90L).withProducto(new ProductoBuilder().withId_Producto(77L).withDescripcion("Pack 6 Vasos").withEmpresa(new EmpresaBuilder().build()).build()).build();
List<RenglonPedido> renglonesPedido = new ArrayList<>();
renglonesPedido.add(renglon1);
renglonesPedido.add(renglon2);
this.renglones = renglonesPedido;
}
return new Pedido(id_Pedido, nroPedido, fecha, fechaVencimiento, observaciones, empresa, eliminado, cliente, usuario, facturas, renglones, totalEstimado, totalActual, estado);
}
use of sic.modelo.RenglonPedido in project sic by belluccifranco.
the class PuntoDeVentaGUI method convertirRenglonFacturaARenglonPedido.
public RenglonPedido convertirRenglonFacturaARenglonPedido(RenglonFactura renglonFactura) {
RenglonPedido nuevoRenglon = new RenglonPedido();
nuevoRenglon.setCantidad(renglonFactura.getCantidad());
nuevoRenglon.setDescuento_porcentaje(renglonFactura.getDescuento_porcentaje());
nuevoRenglon.setDescuento_neto(renglonFactura.getDescuento_neto());
Producto producto = RestClient.getRestTemplate().getForObject("/productos/" + renglonFactura.getId_ProductoItem(), Producto.class);
nuevoRenglon.setProducto(producto);
nuevoRenglon.setSubTotal(renglonFactura.getImporte());
return nuevoRenglon;
}
use of sic.modelo.RenglonPedido in project sic by belluccifranco.
the class CarritoCompraController method generarPedidoConItemsDelCarrito.
@PostMapping("/carrito-compra")
@ResponseStatus(HttpStatus.CREATED)
public Pedido generarPedidoConItemsDelCarrito(@RequestBody Pedido pedido) {
Pageable pageable = new PageRequest(0, Integer.MAX_VALUE, new Sort(Sort.Direction.DESC, "idItemCarritoCompra"));
List<ItemCarritoCompra> items = carritoCompraService.getAllItemsDelUsuario(pedido.getUsuario().getId_Usuario(), pageable).getContent();
pedido.setRenglones(new ArrayList<>());
items.forEach(i -> {
pedido.getRenglones().add(new RenglonPedido(0, i.getProducto(), i.getCantidad(), 0, 0, i.getImporte()));
});
Pedido p = pedidoService.guardar(pedido);
carritoCompraService.eliminarTodosLosItems(pedido.getUsuario().getId_Usuario());
return p;
}
use of sic.modelo.RenglonPedido in project sic by belluccifranco.
the class PedidosGUI method cargarRenglonesDelPedidoSeleccionadoEnTabla.
private void cargarRenglonesDelPedidoSeleccionadoEnTabla(KeyEvent evt) {
int row = Utilidades.getSelectedRowModelIndice(tbl_Pedidos);
if (evt != null) {
if ((evt.getKeyCode() == KeyEvent.VK_UP) && row > 0) {
row--;
}
if ((evt.getKeyCode() == KeyEvent.VK_DOWN) && (row + 1) < tbl_Pedidos.getRowCount()) {
row++;
}
}
this.limpiarTablaRenglones();
this.setColumnasRenglonesPedido();
try {
List<RenglonPedido> renglones = Arrays.asList(RestClient.getRestTemplate().getForObject("/pedidos/" + pedidosTotal.get(row).getId_Pedido() + "/renglones", RenglonPedido[].class));
renglones.stream().map(r -> {
Object[] fila = new Object[6];
fila[0] = r.getProducto().getCodigo();
fila[1] = r.getProducto().getDescripcion();
fila[2] = r.getCantidad();
fila[3] = r.getProducto().getPrecioLista();
fila[4] = r.getDescuento_porcentaje();
fila[5] = r.getSubTotal();
return fila;
}).forEach(fila -> {
modeloTablaRenglones.addRow(fila);
});
tbl_RenglonesPedido.setModel(modeloTablaRenglones);
} 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.RenglonPedido in project sic by belluccifranco.
the class PedidoServiceImpl method calcularTotalActualDePedido.
@Override
public Pedido calcularTotalActualDePedido(Pedido pedido) {
double porcentajeDescuento;
double totalActual = 0;
for (RenglonPedido renglonPedido : this.getRenglonesDelPedido(pedido.getId_Pedido())) {
porcentajeDescuento = (1 - (renglonPedido.getDescuento_porcentaje() / 100));
renglonPedido.setSubTotal((renglonPedido.getProducto().getPrecioLista() * renglonPedido.getCantidad() * porcentajeDescuento));
totalActual += renglonPedido.getSubTotal();
}
pedido.setTotalActual(totalActual);
return pedido;
}
Aggregations