Files
checklist/backend/create_checklist.py
2025-11-18 16:46:20 -03:00

73 lines
2.3 KiB
Python

from app.core.database import SessionLocal
from app.models import Checklist, Question
db = SessionLocal()
# Crear checklist
checklist = Checklist(
name='Mantenimiento Preventivo',
description='Checklist estándar de mantenimiento preventivo',
ai_mode='assisted',
scoring_enabled=True,
is_active=True,
created_by=1
)
db.add(checklist)
db.commit()
db.refresh(checklist)
# Crear preguntas por sección
questions_data = [
# Sistema Eléctrico
('Sistema Eléctrico', 'Estado de la batería', 'good_bad', 1, True),
('Sistema Eléctrico', 'Bocina', 'pass_fail', 1, False),
('Sistema Eléctrico', 'Luces (posición, cruce, carretera)', 'pass_fail', 1, False),
('Sistema Eléctrico', 'Testigos en cuadro', 'pass_fail', 1, True),
# Frenos
('Frenos', 'Frenos (pastillas, discos)', 'pass_fail', 2, True),
('Frenos', 'Líquido de freno', 'pass_fail', 1, False),
('Frenos', 'Porcentaje de humedad', 'numeric', 1, False),
# Motor
('Motor', 'Nivel de aceite', 'pass_fail', 1, True),
('Motor', 'Fugas de aceite', 'pass_fail', 2, True),
('Motor', 'Filtro de aceite', 'status', 1, True),
('Motor', 'Fugas de refrigerante', 'pass_fail', 2, True),
# Neumáticos
('Neumáticos', 'Presión neumáticos', 'pass_fail', 1, False),
('Neumáticos', 'Banda de rodadura', 'good_bad', 1, True),
# Suspensión
('Suspensión', 'Amortiguadores', 'pass_fail', 2, True),
('Suspensión', 'Cojinetes de ruedas', 'pass_fail', 1, False),
# Varios
('Exterior', 'Estado carrocería', 'good_bad', 1, True),
('Exterior', 'Escobillas limpiaparabrisas', 'pass_fail', 1, True),
('Interior', 'Aire acondicionado', 'pass_fail', 1, False),
('Pruebas', 'Prueba dinámica del vehículo', 'pass_fail', 2, False),
]
max_score = 0
for idx, (section, text, qtype, points, photos) in enumerate(questions_data):
question = Question(
checklist_id=checklist.id,
section=section,
text=text,
type=qtype,
points=points,
order=idx + 1,
allow_photos=photos,
max_photos=3
)
db.add(question)
max_score += points
checklist.max_score = max_score
db.commit()
print(f'✅ Checklist creado con {len(questions_data)} preguntas')
print(f'✅ Puntuación máxima: {max_score}')