<?php
require_once(__DIR__ . '/../db/conexion.php');
header('Content-Type: application/json');

$panel = [];

// Consulta todas las posiciones con nombre del PDV, tipo y sector
$sql = "
    SELECT 
        p.codigo AS codigo_posicion,
        p.NombrePuesto,
        p.tipoPosic,
        t.PDV AS nombre_pdv,
        s.Sector
    FROM Posiciones p
    INNER JOIN Tiendas t ON p.ORGPDV = t.ORGanizacionSOC
    LEFT JOIN sectoresdPDVs s ON FIND_IN_SET(t.PDV, s.Tiendas) > 0
";
$result = $conn->query($sql);

$resumenPorSector = [];

while ($row = $result->fetch_assoc()) {
    $codigo_posicion = $row['codigo_posicion'];
    $sector = $row['Sector'] ?? 'SIN SECTOR';
    $tipo = strtoupper(trim($row['tipoPosic'])) === 'COMPUESTO' ? 'medio' : 'completo';

    // Verificar si está ocupada
    $stmt = $conn->prepare("SELECT 1 FROM Plantilla WHERE posicionCode = ? LIMIT 1");
    $stmt->bind_param("s", $codigo_posicion);
    $stmt->execute();
    $res = $stmt->get_result();
    $ocupada = $res->num_rows > 0;

    if (!isset($resumenPorSector[$sector])) {
        $resumenPorSector[$sector] = [
            'sector' => $sector,
            'total_completo' => 0,
            'total_medio' => 0,
            'vacante_completo' => 0,
            'vacante_medio' => 0
        ];
    }

    if ($tipo === 'completo') {
        $resumenPorSector[$sector]['total_completo']++;
        if (!$ocupada) {
            $resumenPorSector[$sector]['vacante_completo']++;
        }
    } else {
        $resumenPorSector[$sector]['total_medio']++;
        if (!$ocupada) {
            $resumenPorSector[$sector]['vacante_medio']++;
        }
    }
}

// Formatear respuesta final
foreach ($resumenPorSector as $sector => $datos) {
    $panel[] = $datos;
}

echo json_encode([
    'success' => true,
    'data' => $panel
]);
