demo seed change 7
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user