<?php
require 'vendor/autoload.php';

use PhpOffice\PhpSpreadsheet\IOFactory;

// Conexión a la base de datos
$pdo = new PDO('mysql:host=localhost;dbname=ugel', 'root', '1234');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

// Cargar el archivo Excel
$archivoExcel = __DIR__ . '/excel/datos.xlsx';  // Asegúrate de tener esta ruta correcta
$spreadsheet = IOFactory::load($archivoExcel);
$worksheet = $spreadsheet->getActiveSheet();

// Recorrer desde la fila 4 en adelante
foreach ($worksheet->getRowIterator(4) as $row) {
    $cellIterator = $row->getCellIterator();
    $cellIterator->setIterateOnlyExistingCells(false); // Para conservar la posición exacta de columnas

    $data = [];
    foreach ($cellIterator as $cell) {
        $data[] = trim($cell->getFormattedValue());
    }

    // Validar datos mínimos necesarios
    if (count($data) < 7 || empty($data[3]) || !is_numeric($data[0])) {
        continue; // Fila vacía o mal formada
    }

    $id = (int)$data[0];          // Columna A: ID
    $description = $data[3];      // Columna D
    $tiempoTexto = $data[6];      // Columna G
    preg_match('/\d+/', $tiempoTexto, $matches);
    $time = isset($matches[0]) ? (int)$matches[0] : 0;

    // Insertar en la tabla procedures con ID manual
    $stmt = $pdo->prepare("INSERT INTO procedures 
        (id, description, group_id, subgroup_id, time, modality_id, active, deleted_at, correction_days)
        VALUES (:id, :description, NULL, NULL, :time, 3, 1, NULL, 2)");

    $stmt->execute([
        ':id' => $id,
        ':description' => $description,
        ':time' => $time
    ]);
}

echo "Procedimientos insertados correctamente con ID manual.";