73 lines
2.3 KiB
Python
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}')
|