<?php 
// echo "<h2>Maintenance en cours</h2>";
// exit();
 // ini_set('display_errors', 1);

define("ADMIN", true);
require_once("../../common/lib.php");
require_once("../../common/define.php");
define("TITLE_ELEMENT", "Suivi");

if(!isset($_SESSION['user'])){
    header("Location: login.php");
    exit();
}elseif($_SESSION['user']['type'] == "registered"){
    unset($_SESSION['user']);
    $_SESSION['msg_error'][] = "Access denied.";
    header("Location: login.php");
    exit();
}

require_once("../includes/fn_module.php"); ?>
<!DOCTYPE html>
<head>
    <?php  include("../includes/inc_header_common.php"); ?>
	<?php  include("../includes/functions.php"); ?>


    <style>

        table th, table td { text-align: center; vertical-align: middle; }
    </style>
</head>
<body>
    <div id="wrapper">
        <?php 
		include(SYSBASE.ADMIN_FOLDER."/includes/inc_top.php");


// Récupération des lignes pour le filtre
$ligne_filter = $_GET['ligne'] ?? '';
$stmLignes = $db->query("SELECT DISTINCT ligne FROM pm_resume_journee ORDER BY ligne ASC");
$lignes = $stmLignes->fetchAll(PDO::FETCH_COLUMN);

// Préparer la requête
$query = "SELECT * FROM pm_resume_journee";
$params = [];

if (!empty($ligne_filter)) {
    $query .= " WHERE ligne = :ligne";
    $params[':ligne'] = $ligne_filter;
}

$query .= " ORDER BY id ASC, date_jour ASC";
$stmt = $db->prepare($query);
$stmt->execute($params);
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);


		
		?>
        <div id="page-wrapper">
            <div class="page-header">
                <div class="container-fluid">
                    <div class="row">
                        <div class="col-md-6">
                            <h1><i class="fa fa-dashboard"></i> Suivi de Production Quotidien</h1>
                        </div>
						<div class="col-md-6" style="padding-top: 15px;text-align: right;">

<div class="mb-3">
    <a href="export_excel.php" class="btn btn-success btn-sm">📊 Exporter Excel</a>
    <a href="export_pdf.php" class="btn btn-danger btn-sm" target="_blank">📄 Exporter PDF</a>
</div>

                        </div>
                    </div>
                </div>
            </div>
<?

// $stmt = $db->prepare("SELECT * FROM pm_resume_journee ORDER BY date_jour DESC, ligne ASC");
// $stmt->execute();
// $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);

?>
    <div class="container">
	

        <div class="table-responsive">
		
<?php
// Calcul du taux moyen d'arrêt global
$total_pourcentage = 0;
$count = 0;
$taux_par_ligne = [];

foreach ($rows as $r) {
    $ligne = $r['ligne'];
    $val = (int) str_replace('%', '', $r['pourcentage_arret']);
    $total_pourcentage += $val;
    $count++;

    // Moyenne par ligne
    if (!isset($taux_par_ligne[$ligne])) {
        $taux_par_ligne[$ligne] = ['total' => 0, 'count' => 0];
    }
    $taux_par_ligne[$ligne]['total'] += $val;
    $taux_par_ligne[$ligne]['count']++;
}

$taux_moyen_global = ($count > 0) ? round($total_pourcentage / $count, 1) : 0;
?>		
<div class="row">
    <!-- Taux moyen global -->
    <div class="col-sm-4">
        <div class="alert alert-info text-center">
            <strong>🌐 Taux moyen global</strong><br>
            <span style="font-size: 18px;"><?= $taux_moyen_global ?>%</span>
        </div>
    </div>

    <!-- Taux moyen par ligne -->
    <?php foreach ($taux_par_ligne as $ligne => $data): ?>
        <div class="col-sm-4">
            <div class="alert alert-danger text-center">
                <strong>Ligne <?= htmlspecialchars($ligne) ?></strong><br>
                Moyenne arrêt : 
                <span><?= round($data['total'] / $data['count'], 1) ?>%</span>
            </div>
        </div>
    <?php endforeach; ?>
</div>

		
              <!-- Filtre par ligne -->
        <form method="GET" class="mb-3" style="padding-bottom:10px;">
            <label for="ligne" class="form-label">Filtrer par ligne :</label>
            <select name="ligne" id="ligne" class="form-select" onchange="this.form.submit()" style="padding: 5px;">
                <option value="">-- Toutes les lignes --</option>
                <?php foreach ($lignes as $l): ?>
                    <option value="<?= htmlspecialchars($l) ?>" <?= ($ligne_filter === $l ? 'selected' : '') ?>>
                        <?= htmlspecialchars($l) ?>
                    </option>
                <?php endforeach; ?>
            </select>
        </form>


		        <!-- Courbe d'évolution % arrêt -->
        <h4 class="mt-5">Évolution du % d'arrêt</h4>
        <canvas id="chartArret" height="100" style="background-color:white;"></canvas>


        <!-- Tableau de données -->
        <div class="table-responsive" style="margin-top:10px;background-color:white;">
            <table class="table table-bordered table-striped table-hover">
                <thead class="table-dark">
                    <tr>
                        <th>Date</th>
                        <th>Ligne</th>
                        <th>Début</th>
                        <th>Fin</th>
                        <th>Cadence</th>
                        <th>Qté Carton</th>
                        <th>Temps Palettage</th>
                        <th>Temps Arrêt</th>
                        <th>% Arrêt</th>
                    </tr>
                </thead>
                <tbody>
                    <?php foreach ($rows as $row): ?>
                        <tr>
                            <td><?= htmlspecialchars($row['date_jour']) ?></td>
                            <td><?= htmlspecialchars($row['ligne']) ?></td>
                            <td><?= htmlspecialchars($row['demarage']) ?></td>
                            <td><?= htmlspecialchars($row['last_declaration']) ?></td>
                            <td><?= htmlspecialchars($row['cadence_sachets']) ?></td>
                            <td><?= htmlspecialchars($row['qte_carton']) ?></td>
                            <td><?= htmlspecialchars($row['temps_pallette_std']) ?></td>
                            <td><?= htmlspecialchars($row['temps_arret']) ?></td>
                            <td><?= htmlspecialchars($row['pourcentage_arret']) ?></td>
                        </tr>
                    <?php endforeach; ?>
                </tbody>
            </table>
        </div>
		

		
    </div>


<?php
// 1. Regrouper les données par ligne
$donnees_par_ligne = [];
foreach ($rows as $r) {
    $ligne = $r['ligne'];
    $date = $r['date_jour'];
    $val = (int) str_replace('%', '', $r['pourcentage_arret']);
    $donnees_par_ligne[$ligne][$date] = $val;
}

// 2. Extraire toutes les dates uniques et les trier
$dates_uniques = array_unique(array_column($rows, 'date_jour'));
sort($dates_uniques);

// 3. Définir des couleurs différentes
$couleurs = ['red', 'purple', 'green', 'blue', 'orange', 'brown', 'teal'];
?>

<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<script>
const ctx = document.getElementById('chartArret').getContext('2d');

// Labels : les dates en ordre croissant
const labels = <?= json_encode($dates_uniques) ?>;

// Datasets par ligne
const datasets = [
<?php
$i = 0;
foreach ($donnees_par_ligne as $ligne => $data) {
    $values = [];
    foreach ($dates_uniques as $d) {
        $values[] = $data[$d] ?? null;
    }

    $couleur = $couleurs[$i % count($couleurs)];
    echo "{
        label: " . json_encode("Ligne $ligne") . ",
        data: " . json_encode($values) . ",
        borderColor: '{$couleur}',
        backgroundColor: 'transparent',
        pointBorderColor: 'transparent',
        pointBackgroundColor: '{$couleur}',
        fill: true,
        tension: 0.3
    },";
    $i++;
}
?>
];

new Chart(ctx, {
    type: 'line',
    data: {
        labels: labels.reverse(),
        datasets: datasets.reverse()
    },
    options: {
        responsive: true,
        scales: {
            y: {
                beginAtZero: true,
                max: 100,
                ticks: {
                    callback: value => value + '%'
                }
            }
        },
        plugins: {
            legend: {
                position: 'top'
            }
        }
    }
});
</script>



		</div>
    </div>
</body>
</html>
<?php 
$_SESSION['msg_error'] = array();
$_SESSION['msg_success'] = array();
$_SESSION['msg_notice'] = array(); ?>
