Class Pedido
java.lang.Object
model.Pedido
Clase que representa un pedido realizado en el restaurante/cafeteria.
Gestiona los productos agregados, calcula subtotal, impuestos y total,
y maneja el estado del pedido (PENDIENTE, EN PREPARACION, ENTREGADO, etc.).
- Version:
- 1.0
- Author:
- ISC Israel de Jesus Mar Parada
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionPedido(int idPedido, int numeroMesa) Constructor para crear un nuevo pedido. -
Method Summary
Modifier and TypeMethodDescriptionvoidActualizarEstado(String nuevoEstado) Actualiza el estado del pedido.voidAgregarProducto(int idProducto, int cantidad, String personalizaciones) Agrega un producto al pedido.Calcula el valor del impuesto del pedido.Calcula el subtotal del pedido.Calcula el total del pedido.booleanEliminarProducto(int idProducto) Elimina un producto del pedido por su ID.intintintgetTotal()voidsetClienteMembresia(String clienteMembresia) voidsetDescuentoAplicado(BigDecimal descuentoAplicado) voidsetEstadoPedido(String estadoPedido) voidsetFechaHoraEntrega(LocalDateTime fechaHoraEntrega) voidsetFechaHoraPedido(LocalDateTime fechaHoraPedido) voidsetIdPedido(int idPedido) voidsetImpuestoPorcentaje(BigDecimal impuestoPorcentaje) voidsetListaProductosPedido(Map<Integer, DetallePedido> listaProductosPedido) voidsetMetodoPago(String metodoPago) voidsetNotasCocina(String notasCocina) voidsetNumeroMesa(int numeroMesa) voidsetSubtotal(BigDecimal subtotal) voidsetTiempoEstimadoTotal(int tiempoEstimadoTotal) voidsetTotal(BigDecimal total) voidsetValorImpuesto(BigDecimal valorImpuesto)
-
Constructor Details
-
Pedido
public Pedido(int idPedido, int numeroMesa) Constructor para crear un nuevo pedido. Inicializa fecha actual, mapa vacio, estado PENDIENTE, impuesto del 19%, descuento en cero, subtotal y total en cero.- Parameters:
idPedido- Identificador unico del pedidonumeroMesa- Numero de mesa
-
-
Method Details
-
AgregarProducto
Agrega un producto al pedido. Si el producto ya existe, incrementa la cantidad. Si no existe, crea un nuevo detalle. Recalcula subtotal y total automaticamente.- Parameters:
idProducto- Identificador del productocantidad- Cantidad a agregarpersonalizaciones- Personalizaciones del producto
-
EliminarProducto
public boolean EliminarProducto(int idProducto) Elimina un producto del pedido por su ID. Recalcula subtotal y total si se elimina exitosamente.- Parameters:
idProducto- Identificador del producto a eliminar- Returns:
- true si el producto fue eliminado, false si no existia
-
CalcularSubtotal
Calcula el subtotal del pedido. Suma los subtotales de todos los detalles.- Returns:
- Subtotal calculado
-
CalcularImpuesto
Calcula el valor del impuesto del pedido. Formula: subtotal x impuestoPorcentaje- Returns:
- Valor del impuesto
-
CalcularTotal
Calcula el total del pedido. Formula: subtotal + impuesto - descuento- Returns:
- Total calculado
-
ActualizarEstado
Actualiza el estado del pedido. Si el nuevo estado es "ENTREGADO", registra la fecha y hora de entrega.- Parameters:
nuevoEstado- Nuevo estado del pedido
-
getIdPedido
public int getIdPedido()- Returns:
- Identificador del pedido
-
setIdPedido
public void setIdPedido(int idPedido) - Parameters:
idPedido- Nuevo identificador
-
getNumeroMesa
public int getNumeroMesa()- Returns:
- Numero de mesa
-
setNumeroMesa
public void setNumeroMesa(int numeroMesa) - Parameters:
numeroMesa- Nuevo numero de mesa
-
getFechaHoraPedido
- Returns:
- Fecha y hora del pedido
-
setFechaHoraPedido
- Parameters:
fechaHoraPedido- Nueva fecha
-
getFechaHoraEntrega
- Returns:
- Fecha y hora de entrega
-
setFechaHoraEntrega
- Parameters:
fechaHoraEntrega- Nueva fecha de entrega
-
getListaProductosPedido
- Returns:
- Mapa de productos del pedido
-
setListaProductosPedido
- Parameters:
listaProductosPedido- Nuevo mapa de productos
-
getSubtotal
- Returns:
- Subtotal
-
setSubtotal
- Parameters:
subtotal- Nuevo subtotal
-
getImpuestoPorcentaje
- Returns:
- Porcentaje de impuesto
-
setImpuestoPorcentaje
- Parameters:
impuestoPorcentaje- Nuevo porcentaje
-
getValorImpuesto
- Returns:
- Valor del impuesto
-
setValorImpuesto
- Parameters:
valorImpuesto- Nuevo valor de impuesto
-
getDescuentoAplicado
- Returns:
- Descuento aplicado
-
setDescuentoAplicado
- Parameters:
descuentoAplicado- Nuevo descuento
-
getTotal
- Returns:
- Total del pedido
-
setTotal
- Parameters:
total- Nuevo total
-
getEstadoPedido
- Returns:
- Estado del pedido
-
setEstadoPedido
- Parameters:
estadoPedido- Nuevo estado
-
getMetodoPago
- Returns:
- Metodo de pago
-
setMetodoPago
- Parameters:
metodoPago- Nuevo metodo de pago
-
getClienteMembresia
- Returns:
- Tipo de membresia del cliente
-
setClienteMembresia
- Parameters:
clienteMembresia- Nueva membresia
-
getNotasCocina
- Returns:
- Notas para la cocina
-
setNotasCocina
- Parameters:
notasCocina- Nuevas notas
-
getTiempoEstimadoTotal
public int getTiempoEstimadoTotal()- Returns:
- Tiempo estimado total en minutos
-
setTiempoEstimadoTotal
public void setTiempoEstimadoTotal(int tiempoEstimadoTotal) - Parameters:
tiempoEstimadoTotal- Nuevo tiempo estimado
-