demo seed change 7

This commit is contained in:
Urtzi Alfaro
2025-12-15 13:39:33 +01:00
parent 46bd4f77b6
commit 5642b5a0c0
14 changed files with 5653 additions and 780 deletions

View File

@@ -284,9 +284,11 @@ class StockMovementRepository(BaseRepository[StockMovement, StockMovementCreate,
raise
async def get_waste_movements(
self,
self,
tenant_id: UUID,
days_back: Optional[int] = None,
start_date: Optional[datetime] = None,
end_date: Optional[datetime] = None,
skip: int = 0,
limit: int = 100
) -> List[StockMovement]:
@@ -298,16 +300,24 @@ class StockMovementRepository(BaseRepository[StockMovement, StockMovementCreate,
self.model.movement_type == StockMovementType.WASTE
)
)
if days_back:
start_date = datetime.now() - timedelta(days=days_back)
query = query.where(self.model.movement_date >= start_date)
# Prefer explicit date range over days_back
if start_date and end_date:
query = query.where(
and_(
self.model.movement_date >= start_date,
self.model.movement_date <= end_date
)
)
elif days_back:
calculated_start = datetime.now() - timedelta(days=days_back)
query = query.where(self.model.movement_date >= calculated_start)
query = query.order_by(desc(self.model.movement_date)).offset(skip).limit(limit)
result = await self.session.execute(query)
return result.scalars().all()
except Exception as e:
logger.error("Failed to get waste movements", error=str(e), tenant_id=tenant_id)
raise