Class Articulo
java.lang.Object
model.articulos.Articulo
- Direct Known Subclasses:
ArticuloEscolar, ArticuloLibreria, ArticuloOficina
Clase abstracta que representa un articulo en el inventario de la papelerÃa.
Contiene los atributos y comportamientos comunes a todos los tipos de articulos
(Libreria, Oficina, Escolar). Gestiona informacion como precio, stock,
categorÃa, proveedores, calificaciones y descuentos.
- Version:
- 1.0
- Author:
- ISC Israel de Jesus Mar Parada
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionLista de calificaciones individuales para calcular promedio.protected BigDecimalCalificacion promedio del articulo (1-5 estrellas).protected intCantidad actual en stock del articulo.protected CategoriaCategoria a la que pertenece el articulo.protected StringCodigo unico identificador del articulo.protected BigDecimalPorcentaje de descuento aplicable al articulo.protected booleanIndica si el articulo es importado.protected booleanIndica si el articulo esta activo en el inventario.protected LocalDateTimeFecha de ingreso del articulo al inventario.protected StringNombre del articulo.protected BigDecimalPrecio base del articulo sin descuentos ni impuestos.Lista de proveedores que suministran el articulo.protected intStock minimo para generar alertas de reabastecimiento. -
Constructor Summary
ConstructorsConstructorDescriptionArticulo(String codigoUnico, String nombre, BigDecimal precioBase) Constructor para crear un nuevo articulo. -
Method Summary
Modifier and TypeMethodDescriptionvoidActualizarCalificacion(BigDecimal nuevaCalificacion) Actualiza la calificacion promedio del articulo.voidagregarProveedor(Proveedor proveedor) Agrega un proveedor a la lista de proveedores del articulo.voidAplicarDescuento(BigDecimal porcentaje) Aplica un descuento al articulo.Calcula el precio final del articulo aplicando descuentos e IVA.intintabstract StringObtiene el tipo de articulo como texto.booleanbooleanvoidsetCalificacionPromedio(BigDecimal calificacionPromedio) voidsetCantidadStock(int cantidadStock) voidsetCategoria(Categoria categoria) voidsetCodigoUnico(String codigoUnico) voidsetDescuentoAplicable(BigDecimal descuentoAplicable) voidsetEsImportado(boolean esImportado) voidsetEstaActivo(boolean estaActivo) voidsetFechaIngreso(LocalDateTime fechaIngreso) voidvoidsetPrecioBase(BigDecimal precioBase) voidsetProveedores(List<Proveedor> proveedores) voidsetStockMinimo(int stockMinimo) toString()Devuelve una representacion textual del articulo.booleanVerifica si el stock actual esta por debajo del minimo requerido.
-
Field Details
-
codigoUnico
Codigo unico identificador del articulo. -
nombre
Nombre del articulo. -
precioBase
Precio base del articulo sin descuentos ni impuestos. -
cantidadStock
protected int cantidadStockCantidad actual en stock del articulo. -
categoria
Categoria a la que pertenece el articulo. -
stockMinimo
protected int stockMinimoStock minimo para generar alertas de reabastecimiento. -
descuentoAplicable
Porcentaje de descuento aplicable al articulo. -
fechaIngreso
Fecha de ingreso del articulo al inventario. -
estaActivo
protected boolean estaActivoIndica si el articulo esta activo en el inventario. -
esImportado
protected boolean esImportadoIndica si el articulo es importado. -
calificacionPromedio
Calificacion promedio del articulo (1-5 estrellas). -
proveedores
-
calificaciones
-
-
Constructor Details
-
Articulo
Constructor para crear un nuevo articulo. Inicializa stock en 0, stock minimo en 5, descuento en 0, fecha de ingreso actual, activo true, calificacion promedio 0, y listas de proveedores y calificaciones vacias.- Parameters:
codigoUnico- Codigo unico identificador del articulonombre- Nombre del articuloprecioBase- Precio base del articulo
-
-
Method Details
-
CalcularPrecioFinal
Calcula el precio final del articulo aplicando descuentos e IVA. Formula: (precioBase - descuento) + IVA de la categoria.- Returns:
- Precio final redondeado a 2 decimales
-
AplicarDescuento
Aplica un descuento al articulo.- Parameters:
porcentaje- Porcentaje de descuento a aplicar (ej: 0.10 = 10%)
-
ValidarStockMinimo
public boolean ValidarStockMinimo()Verifica si el stock actual esta por debajo del minimo requerido.- Returns:
- true si el stock es suficiente, false si esta bajo el minimo
-
ActualizarCalificacion
Actualiza la calificacion promedio del articulo. Agrega una nueva calificacion y recalcula el promedio.- Parameters:
nuevaCalificacion- Nueva calificacion (1-5)
-
agregarProveedor
Agrega un proveedor a la lista de proveedores del articulo. No permite duplicados.- Parameters:
proveedor- Proveedor a agregar
-
getTipoArticulo
Obtiene el tipo de articulo como texto.- Returns:
- Tipo de articulo (LIBRERIA, OFICINA, ESCOLAR)
-
getCodigoUnico
- Returns:
- Codigo unico del articulo
-
setCodigoUnico
- Parameters:
codigoUnico- Nuevo codigo unico
-
getNombre
- Returns:
- Nombre del articulo
-
setNombre
- Parameters:
nombre- Nuevo nombre
-
getPrecioBase
- Returns:
- Precio base
-
setPrecioBase
- Parameters:
precioBase- Nuevo precio base
-
getCantidadStock
public int getCantidadStock()- Returns:
- Cantidad en stock
-
setCantidadStock
public void setCantidadStock(int cantidadStock) - Parameters:
cantidadStock- Nueva cantidad en stock
-
getCategoria
- Returns:
- Categoria del articulo
-
setCategoria
- Parameters:
categoria- Nueva categoria
-
getStockMinimo
public int getStockMinimo()- Returns:
- Stock minimo requerido
-
setStockMinimo
public void setStockMinimo(int stockMinimo) - Parameters:
stockMinimo- Nuevo stock minimo
-
getDescuentoAplicable
- Returns:
- Descuento aplicable
-
setDescuentoAplicable
- Parameters:
descuentoAplicable- Nuevo descuento
-
getFechaIngreso
- Returns:
- Fecha de ingreso
-
setFechaIngreso
- Parameters:
fechaIngreso- Nueva fecha de ingreso
-
isEstaActivo
public boolean isEstaActivo()- Returns:
- true si esta activo
-
setEstaActivo
public void setEstaActivo(boolean estaActivo) - Parameters:
estaActivo- Nuevo estado activo
-
isEsImportado
public boolean isEsImportado()- Returns:
- true si es importado
-
setEsImportado
public void setEsImportado(boolean esImportado) - Parameters:
esImportado- Nuevo estado de importacion
-
getCalificacionPromedio
- Returns:
- Calificacion promedio
-
setCalificacionPromedio
- Parameters:
calificacionPromedio- Nueva calificacion promedio
-
getProveedores
-
setProveedores
-
toString
-