#!/bin/bash

# ========================================
# Execute All - Segunda Carga Masiva Open Insurance
# ========================================
#
# Este script ejecuta la importación completa de:
#   - 420 agentes (371 Agents + 49 Agencies)
#   - 9 plan_types
#   - 420 agreements con comisiones
#   - 419 jerarquías comerciales
#   - 3,780 asignaciones agent-plan
#   - Logos asignados
#
# Para deshacer la importación: ./rollback.sh
# Para verificar resultados: ./verify.sh
#
# ========================================

set -e  # Exit on error

# ========================================
# CONFIGURACIÓN - Editar según tu entorno
# ========================================
DB_NAME="quorum_adminseg_stage"
DB_USER="quorum_adminseg"
DB_PASS="d0!q!Pg6q?Eg02SaR8"  # Cambiar por tu contraseña o dejar vacío si no tienes
PROJECT_ROOT="/home/quorum/public_html/adminseg-stage"  # ⚠️ CAMBIAR esta ruta en el servidor

# ========================================
# NO EDITAR DEBAJO DE ESTA LÍNEA
# ========================================

# Construir opciones de MySQL según si hay contraseña o no
if [ -z "$DB_PASS" ]; then
    MYSQL_CMD="mysql -u $DB_USER $DB_NAME"
else
    MYSQL_CMD="mysql -u $DB_USER -p$DB_PASS $DB_NAME"
fi

echo "========================================="
echo "Segunda Carga Masiva Open Insurance"
echo "========================================="
echo ""

# Step 2: Crear planes
echo "Step 2: Creando 9 plan_types..."
$MYSQL_CMD < sql/01-create-plans.sql
echo "✓ Planes creados"
echo ""

# Step 3: Insertar agentes
echo "Step 3: Insertando 420 agentes (371 Agent + 49 Agency)..."
$MYSQL_CMD < sql/02-insert-agents.sql
echo "✓ Agentes insertados"
echo ""

# Step 4: Crear agreements
echo "Step 4: Creando 420 agreements con comisiones..."
$MYSQL_CMD < sql/03-insert-agreements.sql
echo "✓ Agreements creados"
echo ""

# Step 5: Crear jerarquía
echo "Step 5: Creando jerarquía comercial (420 CS + 2940 AL)..."
$MYSQL_CMD < sql/04-insert-hierarchy.sql
echo "✓ Jerarquía creada con 7 agency_level por cada agente"
echo ""

# Step 6: Asignar planes
echo "Step 6: Asignando 9 planes a 420 agentes (3,780 asignaciones)..."
$MYSQL_CMD < sql/05-assign-plans.sql
echo "✓ Planes asignados"
echo ""

# Step 7: Asignar logos
echo "Step 7: Asignando logos de Open Insurance..."
cd "$PROJECT_ROOT"
php bin/console import:open-insurance-logos
echo "✓ Logos asignados"
echo ""

echo "========================================="
echo "✓ COMPLETADO"
echo "========================================="
echo ""
echo "Verificaciones recomendadas:"
echo "  SELECT COUNT(*) FROM general_agent WHERE id >= 1000 AND id <= 1419;"
echo "  SELECT COUNT(*) FROM agreement WHERE id >= 968 AND id <= 1387;"
echo "  SELECT COUNT(*) FROM commercial_structure WHERE general_agent_id >= 1000;"
echo "  SELECT COUNT(*) FROM agency_level WHERE commercial_structure_id IN (SELECT id FROM commercial_structure WHERE general_agent_id >= 1000);"
echo "  SELECT COUNT(*) FROM agents_plan_types WHERE agent_id >= 1000;"
