<?php
/**
 * NEPHRO ERP - DEMO VERİ YÜKLEME SCRİPTİ (v2 - Foreign Key Fix)
 */
require_once 'core/db.php';

try {
    $pdo->beginTransaction();

    // 1. İLİŞKİ KONTROLLERİNİ KAPAT (Hata almamak için şart)
    $pdo->exec("SET FOREIGN_KEY_CHECKS = 0;");

    // 2. TABLOLARI SIFIRLA (Sıralama önemli)
    $pdo->exec("TRUNCATE TABLE seans_gozlemleri");
    $pdo->exec("TRUNCATE TABLE seans_programi");
    $pdo->exec("TRUNCATE TABLE cihazlar");
    $pdo->exec("TRUNCATE TABLE hastalar");

    // 3. CİHAZLARI OLUŞTUR (40 ADET)
    $markalar = ['Fresenius 5008S', 'B.Braun Dialog+', 'Nikkiso DBB-07', 'Gambro AK98'];
    for ($i = 1; $i <= 40; $i++) {
        $oda = "Oda-" . ceil($i / 10);
        $marka = $markalar[array_rand($markalar)];
        $sql = "INSERT INTO cihazlar (id, seri_no, marka_model, oda_no, durum) VALUES (?, ?, ?, ?, 'Aktif')";
        $pdo->prepare($sql)->execute([$i, "SN-".rand(1000,9999), $marka, $oda]);
    }

    // 4. HASTALARI OLUŞTUR (100 ADET)
    $adlar = ['Ahmet', 'Mehmet', 'Ayşe', 'Fatma', 'Mustafa', 'Emine', 'Ali', 'Zeynep', 'Hüseyin', 'Elif', 'Burak', 'Can', 'Derya', 'Ebru', 'Fatih'];
    $soyadlar = ['Yılmaz', 'Kaya', 'Demir', 'Çelik', 'Şahin', 'Yıldız', 'Öztürk', 'Arslan', 'Doğan', 'Kılıç', 'Güneş', 'Bulut'];
    $kanlar = ['A Rh+', 'A Rh-', 'B Rh+', '0 Rh+', 'AB Rh+'];

    for ($i = 1; $i <= 100; $i++) {
        $ad = $adlar[array_rand($adlar)];
        $soyad = $soyadlar[array_rand($soyadlar)];
        $tc = "100" . rand(10000000, 99999999);
        
        $sql = "INSERT INTO hastalar (id, tc_no, ad, soyad, kan_grubu, cinsiyet, hepatit_durumu, damar_yolu, kuru_agirlik, durum) 
                VALUES (?, ?, ?, ?, ?, ?, 'Negatif', 'AVF', ?, 'aktif')";
        $pdo->prepare($sql)->execute([
            $i, $tc, $ad, $soyad, $kanlar[array_rand($kanlar)], 
            (rand(0,1) ? 'Erkek' : 'Kadin'), rand(60, 95)
        ]);
    }

    // 5. AKTİF SEANSLARI BAŞLAT (25 HASTA YATAKTA)
    // İlk 25 hastayı ilk 25 cihaza bağlıyoruz
    for ($i = 1; $i <= 25; $i++) {
        $sql = "INSERT INTO seans_programi (hasta_id, cihaz_id, gun, seans_saati, baslangic_vakti, bitis_vakti) 
                VALUES (?, ?, ?, ?, NOW(), NULL)";
        
        $gunler = ['Pazartesi', 'Sali', 'Carsamba', 'Persembe', 'Cuma', 'Cumartesi'];
        $pdo->prepare($sql)->execute([
            $i, // hasta_id
            $i, // cihaz_id
            $gunler[array_rand($gunler)], 
            "08:00"
        ]);
    }

    // 6. İLİŞKİ KONTROLLERİNİ GERİ AÇ
    $pdo->exec("SET FOREIGN_KEY_CHECKS = 1;");
    
    $pdo->commit();
    echo "<div style='font-family:sans-serif; padding:50px; text-align:center;'>
            <h1 style='color:#10b981;'>🚀 Veriler Başarıyla Yüklendi!</h1>
            <p style='color:#64748b; font-size:1.2rem;'>40 Cihaz, 100 Hasta ve 25 Aktif Seans oluşturuldu.</p>
            <a href='index.php?sayfa=aktif-seans-takip' style='display:inline-block; margin-top:20px; padding:15px 30px; background:#2563eb; color:#fff; border-radius:12px; text-decoration:none; font-weight:800;'>Sistemi Kontrol Et →</a>
          </div>";

} catch (Exception $e) {
    $pdo->rollBack();
    // Hata olsa bile anahtar kontrolünü açmayı unutma
    $pdo->exec("SET FOREIGN_KEY_CHECKS = 1;");
    die("<h2 style='color:red;'>Hata Oluştu:</h2>" . $e->getMessage());
}