42 lines
1.6 KiB
Python
42 lines
1.6 KiB
Python
"""Script para verificar números de tickets existentes"""
|
|
import asyncio
|
|
from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession
|
|
from sqlalchemy.orm import sessionmaker
|
|
from sqlalchemy import select
|
|
from app.models.ticket import Ticket
|
|
import os
|
|
|
|
async def check_tickets():
|
|
database_url = os.getenv('DATABASE_URL', 'postgresql+asyncpg://postgres:postgres@db:5432/servicemanager')
|
|
engine = create_async_engine(database_url)
|
|
async_session = sessionmaker(engine, class_=AsyncSession, expire_on_commit=False)
|
|
|
|
tenant_id = 'c186c814-4f5a-4293-aae9-46f57637bb35'
|
|
|
|
async with async_session() as session:
|
|
result = await session.execute(
|
|
select(Ticket.ticket_number, Ticket.id, Ticket.subject)
|
|
.where(Ticket.tenant_id == tenant_id)
|
|
.order_by(Ticket.ticket_number)
|
|
)
|
|
tickets = result.all()
|
|
|
|
print(f"Tickets existentes para tenant {tenant_id}:")
|
|
print("=" * 80)
|
|
for ticket_number, ticket_id, subject in tickets:
|
|
print(f" {ticket_number} | {ticket_id} | {subject}")
|
|
print("=" * 80)
|
|
print(f"Total: {len(tickets)} tickets")
|
|
|
|
if tickets:
|
|
last_ticket = tickets[-1]
|
|
last_number = int(last_ticket[0].split('-')[1])
|
|
next_number = last_number + 1
|
|
print(f"\nÚltimo número: {last_ticket[0]} (número: {last_number})")
|
|
print(f"Próximo número debería ser: TK-{next_number:06d}")
|
|
|
|
await engine.dispose()
|
|
|
|
if __name__ == "__main__":
|
|
asyncio.run(check_tickets())
|