Nuevo Commit
This commit is contained in:
72
backend/create_checklist.py
Normal file
72
backend/create_checklist.py
Normal file
@@ -0,0 +1,72 @@
|
||||
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}')
|
||||
Reference in New Issue
Block a user