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}')