<?php
/**
 * AYLIK KAYITLAR DEBUG ARACI
 *
 * Belirli bir aydaki TÜM kayıtları detaylıca gösterir
 * Kullanım: http://your-domain.com/debug_month.php?yil=2025&ay=10
 */

require_once __DIR__ . '/includes/db.php';
header('Content-Type: text/html; charset=utf-8');

$yil = isset($_GET['yil']) ? (int)$_GET['yil'] : date('Y');
$ay = isset($_GET['ay']) ? (int)$_GET['ay'] : date('m');
$ay_str = str_pad($ay, 2, '0', STR_PAD_LEFT);

$aylar = ['01'=>'Ocak','02'=>'Şubat','03'=>'Mart','04'=>'Nisan','05'=>'Mayıs','06'=>'Haziran',
          '07'=>'Temmuz','08'=>'Ağustos','09'=>'Eylül','10'=>'Ekim','11'=>'Kasım','12'=>'Aralık'];
?>
<!DOCTYPE html>
<html lang="tr">
<head>
    <meta charset="UTF-8">
    <title>Aylık Kayıtlar Debug - <?php echo $aylar[$ay_str] . ' ' . $yil; ?></title>
    <style>
        body { font-family: Arial; max-width: 1200px; margin: 30px auto; padding: 20px; }
        table { width: 100%; border-collapse: collapse; margin: 20px 0; }
        th, td { border: 1px solid #ddd; padding: 10px; text-align: left; }
        th { background-color: #4CAF50; color: white; position: sticky; top: 0; }
        tr:nth-child(even) { background-color: #f9f9f9; }
        .total-row { background-color: #333 !important; color: white; font-weight: bold; }
        .duplicate { background-color: #ffebee !important; }
        .ise-gidilmedi { background-color: #fff3cd !important; }
        .zero-cost { background-color: #e8f5e9 !important; }
        h1 { color: #333; border-bottom: 3px solid #4CAF50; }
        .info { background: #e3f2fd; padding: 15px; margin: 10px 0; border-left: 4px solid #2196F3; }
        .error { background: #ffebee; padding: 15px; margin: 10px 0; border-left: 4px solid #f44336; }
        .warning { background: #fff3cd; padding: 15px; margin: 10px 0; border-left: 4px solid #ff9800; }
        .summary { background: #e8f5e9; padding: 20px; margin: 20px 0; border-radius: 5px; }
        .filters { background: #f5f5f5; padding: 15px; margin: 20px 0; border-radius: 5px; }
    </style>
</head>
<body>
    <h1>🔍 Aylık Kayıtlar Detaylı Analiz</h1>

    <div class="filters">
        <form method="GET" style="display: flex; gap: 15px; align-items: end;">
            <div>
                <label>Yıl:</label>
                <select name="yil">
                    <?php for ($y = 2024; $y <= 2026; $y++): ?>
                        <option value="<?php echo $y; ?>" <?php echo $y == $yil ? 'selected' : ''; ?>><?php echo $y; ?></option>
                    <?php endfor; ?>
                </select>
            </div>
            <div>
                <label>Ay:</label>
                <select name="ay">
                    <?php foreach ($aylar as $num => $name): ?>
                        <option value="<?php echo (int)$num; ?>" <?php echo (int)$num == $ay ? 'selected' : ''; ?>><?php echo $name; ?></option>
                    <?php endforeach; ?>
                </select>
            </div>
            <button type="submit" style="padding: 8px 20px; background: #4CAF50; color: white; border: none; border-radius: 4px; cursor: pointer;">Göster</button>
        </form>
    </div>

    <?php
    try {
        // 1. Dashboard SQL sorgusu (mevcut)
        echo "<h2>1. Dashboard SQL Sorgusu (Mevcut Durum)</h2>";
        $stmt = $conn->prepare("
            SELECT COALESCE(SUM(s.ucret), 0) as toplam_masraf
            FROM seyahatler s
            WHERE YEAR(s.tarih) = :yil AND MONTH(s.tarih) = :ay
        ");
        $stmt->execute([':yil' => $yil, ':ay' => $ay]);
        $dashboard_toplam = $stmt->fetch(PDO::FETCH_ASSOC)['toplam_masraf'];

        echo "<div class='info'>";
        echo "<strong>Dashboard Toplamı:</strong> " . number_format($dashboard_toplam, 2, ',', '.') . " TL";
        echo "</div>";

        // 2. "İşe Gidilmedi" ID'sini bul
        $iseGidilmediId = null;
        $stmt = $conn->query("SELECT id FROM guzergahlar WHERE guzergah_adi = 'İşe Gidilmedi'");
        $result = $stmt->fetch(PDO::FETCH_ASSOC);
        if ($result) {
            $iseGidilmediId = $result['id'];
        }

        // 3. "İşe Gidilmedi" HARİÇ toplam
        echo "<h2>2. Düzeltilmiş Toplam (İşe Gidilmedi Hariç)</h2>";
        if ($iseGidilmediId) {
            $stmt = $conn->prepare("
                SELECT COALESCE(SUM(s.ucret), 0) as toplam_masraf
                FROM seyahatler s
                WHERE YEAR(s.tarih) = :yil AND MONTH(s.tarih) = :ay
                AND s.guzergah_id != :ise_gidilmedi_id
            ");
            $stmt->execute([':yil' => $yil, ':ay' => $ay, ':ise_gidilmedi_id' => $iseGidilmediId]);
            $duzeltilmis_toplam = $stmt->fetch(PDO::FETCH_ASSOC)['toplam_masraf'];

            echo "<div class='info'>";
            echo "<strong>Düzeltilmiş Toplam (Masraflar):</strong> " . number_format($duzeltilmis_toplam, 2, ',', '.') . " TL";
            echo "</div>";

            $fark = $dashboard_toplam - $duzeltilmis_toplam;
            if ($fark > 0) {
                echo "<div class='warning'>";
                echo "<strong>⚠️ FARK:</strong> " . number_format($fark, 2, ',', '.') . " TL<br>";
                echo "Bu fark muhtemelen 'İşe Gidilmedi' kayıtlarından kaynaklanıyor.";
                echo "</div>";
            }
        }

        // 4. Detaylı kayıtlar listesi
        echo "<h2>3. Tüm Kayıtlar (Detaylı)</h2>";
        $stmt = $conn->prepare("
            SELECT
                s.id,
                s.tarih,
                s.guzergah_id,
                g.guzergah_adi,
                s.ucret,
                s.aciklama,
                s.olusturma_tarihi
            FROM seyahatler s
            LEFT JOIN guzergahlar g ON s.guzergah_id = g.id
            WHERE YEAR(s.tarih) = :yil AND MONTH(s.tarih) = :ay
            ORDER BY s.tarih ASC, s.guzergah_id ASC
        ");
        $stmt->execute([':yil' => $yil, ':ay' => $ay]);
        $kayitlar = $stmt->fetchAll(PDO::FETCH_ASSOC);

        if (count($kayitlar) == 0) {
            echo "<div class='info'>Bu ay için kayıt bulunamadı.</div>";
        } else {
            // Duplicate kontrolü
            $duplicates = [];
            $seen = [];
            foreach ($kayitlar as $k) {
                $key = $k['tarih'] . '_' . $k['guzergah_id'];
                if (isset($seen[$key])) {
                    $duplicates[] = $key;
                }
                $seen[$key] = true;
            }

            if (count($duplicates) > 0) {
                echo "<div class='error'>";
                echo "<strong>⚠️ UYARI: DUPLICATE (Çift) KAYITLAR BULUNDU!</strong><br>";
                echo "Aynı tarih ve güzergah için birden fazla kayıt var. Bu toplamı bozuyor!";
                echo "</div>";
            }

            echo "<table>";
            echo "<tr>";
            echo "<th>ID</th>";
            echo "<th>Tarih</th>";
            echo "<th>Güzergah ID</th>";
            echo "<th>Güzergah Adı</th>";
            echo "<th>Ücret (TL)</th>";
            echo "<th>Açıklama</th>";
            echo "<th>Oluşturma Tarihi</th>";
            echo "</tr>";

            $toplam_kontrol = 0;
            $toplam_masraf_only = 0;
            $ise_gidilmedi_count = 0;

            foreach ($kayitlar as $k) {
                $key = $k['tarih'] . '_' . $k['guzergah_id'];
                $isDuplicate = in_array($key, $duplicates);
                $isIseGidilmedi = ($k['guzergah_id'] == $iseGidilmediId);
                $isZero = ($k['ucret'] == 0);

                $rowClass = '';
                if ($isDuplicate) $rowClass = 'duplicate';
                elseif ($isIseGidilmedi) $rowClass = 'ise-gidilmedi';
                elseif ($isZero) $rowClass = 'zero-cost';

                echo "<tr class='$rowClass'>";
                echo "<td>{$k['id']}</td>";
                echo "<td>" . date('d.m.Y', strtotime($k['tarih'])) . "</td>";
                echo "<td>{$k['guzergah_id']}</td>";
                echo "<td>{$k['guzergah_adi']}</td>";
                echo "<td class='text-right'>" . number_format($k['ucret'], 2, ',', '.') . "</td>";
                echo "<td>" . htmlspecialchars($k['aciklama'] ?: '-') . "</td>";
                echo "<td>" . date('d.m.Y H:i', strtotime($k['olusturma_tarihi'])) . "</td>";
                echo "</tr>";

                $toplam_kontrol += $k['ucret'];
                if (!$isIseGidilmedi) {
                    $toplam_masraf_only += $k['ucret'];
                } else {
                    $ise_gidilmedi_count++;
                }
            }

            echo "<tr class='total-row'>";
            echo "<td colspan='4'>TOPLAM (TÜM KAYITLAR)</td>";
            echo "<td>" . number_format($toplam_kontrol, 2, ',', '.') . " TL</td>";
            echo "<td colspan='2'></td>";
            echo "</tr>";

            if ($ise_gidilmedi_count > 0) {
                echo "<tr class='total-row' style='background-color: #ff9800 !important;'>";
                echo "<td colspan='4'>TOPLAM (İŞE GİDİLMEDİ HARİÇ)</td>";
                echo "<td>" . number_format($toplam_masraf_only, 2, ',', '.') . " TL</td>";
                echo "<td colspan='2'>{$ise_gidilmedi_count} adet 'İşe Gidilmedi' kaydı</td>";
                echo "</tr>";
            }

            echo "</table>";

            // Renk açıklaması
            echo "<div class='info'>";
            echo "<strong>Renk Kodları:</strong><br>";
            echo "🔴 <span style='background: #ffebee; padding: 2px 8px;'>Kırmızı</span> = Duplicate (Çift) kayıt - SİLİNMELİ<br>";
            echo "🟡 <span style='background: #fff3cd; padding: 2px 8px;'>Sarı</span> = İşe Gidilmedi kaydı - TOPLAMA DAHİL EDİLMEMELİ<br>";
            echo "🟢 <span style='background: #e8f5e9; padding: 2px 8px;'>Yeşil</span> = Ücreti 0 olan kayıt";
            echo "</div>";
        }

        // 5. Özet ve Çözüm Önerileri
        echo "<div class='summary'>";
        echo "<h2>📊 Özet ve Analiz</h2>";
        echo "<p><strong>Dashboard Toplamı:</strong> " . number_format($dashboard_toplam, 2, ',', '.') . " TL</p>";
        if ($iseGidilmediId) {
            echo "<p><strong>Gerçek Masraf Toplamı:</strong> " . number_format($duzeltilmis_toplam, 2, ',', '.') . " TL</p>";
            echo "<p><strong>Fark:</strong> " . number_format($fark, 2, ',', '.') . " TL</p>";
        }

        echo "<h3>🔧 Çözüm:</h3>";
        echo "<p>Dashboard SQL sorgusunu güncellemek gerekiyor. 'İşe Gidilmedi' kayıtları toplamdan çıkarılmalı.</p>";
        echo "</div>";

    } catch (Exception $e) {
        echo "<div class='error'>HATA: " . htmlspecialchars($e->getMessage()) . "</div>";
    }
    ?>

    <hr>
    <p><a href="dashboard.php">← Dashboard</a> | <a href="veri_giris.php">📝 Veri Girişi</a></p>

</body>
</html>
