use of sic.modelo.Producto in project sic by belluccifranco.
the class ProductoServiceImpl method eliminarMultiplesProductos.
@Override
@Transactional
public void eliminarMultiplesProductos(long[] idProducto) {
if (Validator.tieneDuplicados(idProducto)) {
throw new BusinessServiceException(ResourceBundle.getBundle("Mensajes").getString("mensaje_error_ids_duplicados"));
}
List<Producto> productos = new ArrayList<>();
for (Long i : idProducto) {
Producto producto = this.getProductoPorId(i);
if (producto == null) {
throw new EntityNotFoundException(ResourceBundle.getBundle("Mensajes").getString("mensaje_producto_no_existente"));
}
producto.setEliminado(true);
productos.add(producto);
}
productoRepository.save(productos);
}
use of sic.modelo.Producto in project sic by belluccifranco.
the class ProductoServiceImpl method modificarMultiplesProductos.
@Override
@Transactional
public List<Producto> modificarMultiplesProductos(long[] idProducto, boolean checkPrecios, Double gananciaNeto, Double gananciaPorcentaje, Double impuestoInternoNeto, Double impuestoInternoPorcentaje, Double IVANeto, Double IVAPorcentaje, Double precioCosto, Double precioLista, Double precioVentaPublico, boolean checkMedida, Medida medida, boolean checkRubro, Rubro rubro, boolean checkProveedor, Proveedor proveedor) {
if (Validator.tieneDuplicados(idProducto)) {
throw new BusinessServiceException(ResourceBundle.getBundle("Mensajes").getString("mensaje_error_ids_duplicados"));
}
List<Producto> productos = new ArrayList<>();
for (long i : idProducto) {
productos.add(this.getProductoPorId(i));
}
//Requeridos
if (checkMedida == true && medida == null) {
throw new BusinessServiceException(ResourceBundle.getBundle("Mensajes").getString("mensaje_producto_vacio_medida"));
}
if (checkRubro == true && rubro == null) {
throw new BusinessServiceException(ResourceBundle.getBundle("Mensajes").getString("mensaje_producto_vacio_rubro"));
}
if (checkProveedor == true && proveedor == null) {
throw new BusinessServiceException(ResourceBundle.getBundle("Mensajes").getString("mensaje_producto_vacio_proveedor"));
}
if (checkPrecios == true) {
productos.forEach((producto) -> {
producto.setPrecioCosto(precioCosto);
producto.setGanancia_porcentaje(gananciaPorcentaje);
producto.setGanancia_neto(gananciaNeto);
producto.setPrecioVentaPublico(precioVentaPublico);
producto.setIva_porcentaje(IVAPorcentaje);
producto.setIva_neto(IVANeto);
producto.setImpuestoInterno_porcentaje(impuestoInternoPorcentaje);
producto.setImpuestoInterno_neto(impuestoInternoNeto);
producto.setPrecioLista(precioLista);
});
}
if (checkMedida == true) {
productos.stream().forEach((producto) -> {
producto.setMedida(medida);
});
}
if (checkRubro == true) {
productos.stream().forEach((producto) -> {
producto.setRubro(rubro);
});
}
if (checkProveedor == true) {
productos.stream().forEach((producto) -> {
producto.setProveedor(proveedor);
});
}
//modifica el campo fecha ultima modificacion
if (checkPrecios == true || checkMedida == true || checkRubro == true || checkProveedor == true) {
Calendar fechaHora = new GregorianCalendar();
Date fechaHoraActual = fechaHora.getTime();
productos.stream().forEach((producto) -> {
producto.setFechaUltimaModificacion(fechaHoraActual);
});
}
productoRepository.save(productos);
return productos;
}
use of sic.modelo.Producto in project sic by belluccifranco.
the class FacturaServiceImplTest method shouldCalcularPrecioUnitarioWhenEsUnaCompraConFacturaA.
@Test
public void shouldCalcularPrecioUnitarioWhenEsUnaCompraConFacturaA() {
Producto producto = new ProductoBuilder().withPrecioCosto(100).withPrecioVentaPublico(121).withImpuestoInterno_neto(0.0).withIva_porcentaje(21).build();
double resultadoEsperado = 100;
double resultadoObtenido = facturaService.calcularPrecioUnitario(Movimiento.COMPRA, TipoDeComprobante.FACTURA_A, producto);
assertEquals(resultadoEsperado, resultadoObtenido, 0);
}
use of sic.modelo.Producto in project sic by belluccifranco.
the class FacturaServiceImplTest method shouldCalcularPrecioUnitarioWhenEsUnaCompraConFacturaC.
@Test
public void shouldCalcularPrecioUnitarioWhenEsUnaCompraConFacturaC() {
Producto producto = new ProductoBuilder().withPrecioCosto(100).withPrecioVentaPublico(121).withImpuestoInterno_neto(0.0).withIva_porcentaje(21).build();
double resultadoEsperado = 121;
double resultadoObtenido = facturaService.calcularPrecioUnitario(Movimiento.COMPRA, TipoDeComprobante.FACTURA_C, producto);
assertEquals(resultadoEsperado, resultadoObtenido, 0);
}
use of sic.modelo.Producto in project sic by belluccifranco.
the class FacturaServiceImplTest method shouldCalcularPrecioUnitarioWhenEsUnaCompraConFacturaB.
@Test
public void shouldCalcularPrecioUnitarioWhenEsUnaCompraConFacturaB() {
Producto producto = new ProductoBuilder().withPrecioCosto(100).withPrecioVentaPublico(121).withImpuestoInterno_neto(0.0).withIva_porcentaje(21).build();
double resultadoEsperado = 121;
double resultadoObtenido = facturaService.calcularPrecioUnitario(Movimiento.COMPRA, TipoDeComprobante.FACTURA_B, producto);
assertEquals(resultadoEsperado, resultadoObtenido, 0);
}
Aggregations