Improve the inventory page 3
This commit is contained in:
@@ -20,6 +20,7 @@ from app.schemas.inventory import (
|
||||
)
|
||||
from app.core.database import get_db_transaction
|
||||
from shared.database.exceptions import DatabaseError
|
||||
from shared.utils.batch_generator import BatchNumberGenerator, create_fallback_batch_number
|
||||
|
||||
logger = structlog.get_logger()
|
||||
|
||||
@@ -237,7 +238,21 @@ class InventoryService:
|
||||
ingredient = await ingredient_repo.get_by_id(UUID(stock_data.ingredient_id))
|
||||
if not ingredient or ingredient.tenant_id != tenant_id:
|
||||
raise ValueError("Ingredient not found")
|
||||
|
||||
|
||||
# Generate batch number if not provided
|
||||
if not stock_data.batch_number:
|
||||
try:
|
||||
batch_generator = BatchNumberGenerator(stock_repo)
|
||||
stock_data.batch_number = await batch_generator.generate_batch_number(
|
||||
tenant_id=str(tenant_id),
|
||||
prefix="INV"
|
||||
)
|
||||
logger.info("Generated batch number", batch_number=stock_data.batch_number)
|
||||
except Exception as e:
|
||||
# Fallback to a simple batch number if generation fails
|
||||
stock_data.batch_number = create_fallback_batch_number("INV")
|
||||
logger.warning("Used fallback batch number", batch_number=stock_data.batch_number, error=str(e))
|
||||
|
||||
# Create stock entry
|
||||
stock = await stock_repo.create_stock_entry(stock_data, tenant_id)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user