<?php
// panels/calisan-panel.php
session_start();
require_once '../config/db.php';
require_once '../config/functions.php';
include '../includes/header.php';
include '../includes/menu.php';
$id = $_SESSION['kullanici_id'];
// --- VERİ HESAPLAMA (BU AY İÇİN) ---
$bu_ay_bas = date('Y-m-01');
$bu_ay_son = date('Y-m-t');
// 1. İzin Hakkı (Yıllık)
$u = $pdo->query("SELECT ise_giris_tarihi, devreden_izin FROM kullanicilar WHERE id = $id")->fetch();
$ise_giris = new DateTime($u['ise_giris_tarihi']);
$kidem_yil = $ise_giris->diff(new DateTime())->y;
// Yasal Hak Hesabı
$hakedilen = ($kidem_yil >= 15) ? 26 : (($kidem_yil >= 5) ? 20 : 14);
if ($_SESSION['rol'] == 'stajyer') { $hakedilen = 0; }
$toplam_hak = $hakedilen + (float)$u['devreden_izin'];
// Kullanılan Yıllık İzin (Sadece Yıllık İzinler Düşer)
$kullanilan = $pdo->query("SELECT SUM(toplam_gun) FROM izin_talepleri WHERE calisan_id = $id AND izin_turu = 'yillik' AND durum = 'onaylandi' AND YEAR(baslangic_tarihi) = YEAR(CURDATE())")->fetchColumn() ?: 0;
$kalan_izin = $toplam_hak - $kullanilan;
// 2. Bu Ayki Mesai Durumu (Onaylı)
$sql_fazla = "SELECT SUM(toplam_saat) FROM mesai_hareketleri WHERE calisan_id = $id AND durum = 'onaylandi' AND mesai_turu = 'fazla_mesai' AND tarih BETWEEN '$bu_ay_bas' AND '$bu_ay_son'";
$aylik_fazla = (float)$pdo->query($sql_fazla)->fetchColumn() ?: 0;
$sql_tatil = "SELECT SUM(toplam_saat) FROM mesai_hareketleri WHERE calisan_id = $id AND durum = 'onaylandi' AND mesai_turu IN ('hafta_tatili', 'resmi_tatil_mesaisi') AND tarih BETWEEN '$bu_ay_bas' AND '$bu_ay_son'";
$aylik_tatil_calisma = (float)$pdo->query($sql_tatil)->fetchColumn() ?: 0;
$aylik_toplam_mesai = $aylik_fazla + $aylik_tatil_calisma;
// 3. Bu Ay Gelmediği Gün/Saat Sayısı
$sql_gelmedigi = "SELECT
SUM(CASE WHEN izin_turu != 'saatlik' THEN toplam_gun ELSE 0 END) as toplam_gun,
SUM(CASE WHEN izin_turu = 'saatlik' THEN saatlik_sure ELSE 0 END) as toplam_saat
FROM izin_talepleri
WHERE calisan_id = $id
AND durum = 'onaylandi'
AND izin_turu IN ('mazeret', 'hastalik', 'saatlik', 'diger')
AND baslangic_tarihi BETWEEN '$bu_ay_bas' AND '$bu_ay_son'";
$veri_gelmedigi = $pdo->query($sql_gelmedigi)->fetch();
$ham_gun = (float)$veri_gelmedigi['toplam_gun'] ?: 0;
$ham_saat = (float)$veri_gelmedigi['toplam_saat'] ?: 0;
// Saatleri güne çevirme (9 saat = 1 gün kuralı)
$ekstra_gun = floor($ham_saat / 9); // Tam bölünenleri güne ekle
$kalan_saat = $ham_saat % 9; // Kalan saat
$son_gun = $ham_gun + $ekstra_gun;
// Ekrana yazılacak metni oluştur (Örn: 3 Gün 2 Saat)
$gelmedigi_metin = "";
if ($son_gun > 0) {
$gelmedigi_metin .= (float)$son_gun . " G ";
}
if ($kalan_saat > 0) {
$gelmedigi_metin .= (float)$kalan_saat . " S";
}
if ($gelmedigi_metin == "") {
$gelmedigi_metin = "0 Gün";
}
// 4. Onay Bekleyenler
$bekleyen_izin = $pdo->query("SELECT COUNT(*) FROM izin_talepleri WHERE calisan_id = $id AND durum = 'beklemede'")->fetchColumn();
$bekleyen_mesai = $pdo->query("SELECT COUNT(*) FROM mesai_hareketleri WHERE calisan_id = $id AND durum = 'beklemede'")->fetchColumn();
// --- EKRAN BAŞLIĞI VE TARİH ---
$bu_ay_adi = date('F', strtotime($bu_ay_bas));
$aylar_tr = ['January' => 'Ocak', 'February' => 'Şubat', 'March' => 'Mart', 'April' => 'Nisan', 'May' => 'Mayıs', 'June' => 'Haziran', 'July' => 'Temmuz', 'August' => 'Ağustos', 'September' => 'Eylül', 'October' => 'Ekim', 'November' => 'Kasım', 'December' => 'Aralık'];
$bu_ay_tr = $aylar_tr[$bu_ay_adi];
?>
<div class="container-fluid">
<div class="d-flex justify-content-between align-items-center mb-4">
<h3 class="m-0"><i class="fas fa-tachometer-alt text-primary me-2"></i> Çalışan Paneli</h3>
<span class="badge bg-secondary fs-6"><?php echo tarihTurkce(date("Y-m-d"), true); ?></span>
</div>
<div class="row g-3 mb-4">
<div class="col-12 col-md-6 col-lg-3">
<div class="card bg-info text-white shadow h-100">
<div class="card-body">
<div class="d-flex justify-content-between align-items-center">
<div>
<p class="text-white-50 mb-0">Kalan Yıllık İzin</p>
<h2 class="display-5 fw-bold mb-0"><?php echo (float)$kalan_izin; ?></h2>
</div>
<i class="fas fa-umbrella-beach fa-3x text-white-50"></i>
</div>
<small class="text-white-50">Gün (Devir dahil)</small>
</div>
</div>
</div>
<div class="col-12 col-md-6 col-lg-3">
<div class="card bg-warning text-dark shadow h-100">
<div class="card-body">
<div class="d-flex justify-content-between align-items-center">
<div>
<p class="text-dark-50 mb-0">Onay Bekleyen Başvuru</p>
<h2 class="display-5 fw-bold mb-0"><?php echo $bekleyen_izin + $bekleyen_mesai; ?></h2>
</div>
<i class="fas fa-hourglass-half fa-3x text-dark-50"></i>
</div>
<small class="text-dark-50">
<i class="fas fa-file-signature"></i> İzin: <?php echo $bekleyen_izin; ?> | <i class="fas fa-clock"></i> Mesai: <?php echo $bekleyen_mesai; ?>
</small>
</div>
</div>
</div>
<div class="col-12 col-lg-6">
<div class="d-grid gap-3 h-100">
<a href="../modules/izin-talep.php" class="btn btn-danger btn-lg shadow-sm py-3 fw-bold">
<i class="fas fa-paper-plane me-3"></i> İZİN TALEBİ GÖNDER
</a>
<a href="../modules/mesai-giris.php" class="btn btn-primary btn-lg shadow-sm py-3 fw-bold">
<i class="fas fa-business-time me-3"></i> FAZLA MESAİ GİR
</a>
</div>
</div>
</div>
<div class="card-box p-4 shadow">
<h5 class="mb-3 border-bottom pb-2 text-dark">
<i class="fas fa-calendar-alt me-2"></i> <?php echo $bu_ay_tr; ?> Ayı Çalışma Özeti
</h5>
<div class="row g-3">
<div class="col-12 col-sm-6 col-lg-3">
<div class="p-3 border rounded text-center bg-light">
<small class="text-primary text-uppercase fw-bold">Toplam Onaylı Mesai</small>
<h4 class="mt-1 fw-bold text-primary mb-0"><?php echo formatSaatListeleme($aylik_toplam_mesai); ?> Saat</h4>
<small class="text-muted">(1.5x + 2x Toplamı)</small>
</div>
</div>
<div class="col-12 col-sm-6 col-lg-3">
<div class="p-3 border rounded text-center bg-light">
<small class="text-danger text-uppercase fw-bold">Tatil Mesaisi (2x)</small>
<h4 class="mt-1 fw-bold text-danger mb-0"><?php echo formatSaatListeleme($aylik_tatil_calisma); ?> Saat</h4>
<small class="text-muted">(Pazar/Bayram)</small>
</div>
</div>
<div class="col-12 col-sm-6 col-lg-3">
<div class="p-3 border rounded text-center bg-light">
<small class="text-warning text-uppercase fw-bold">Mazeret/Rapor Devamsızlık</small>
<h4 class="mt-1 fw-bold text-dark mb-0"><?php echo $gelmedigi_metin; ?></h4>
<small class="text-muted">(Maaşı etkileyen izinler)</small>
</div>
</div>
<div class="col-12 col-sm-6 col-lg-3">
<div class="p-3 border rounded text-center bg-light">
<small class="text-success text-uppercase fw-bold">Kıdem Süresi</small>
<h4 class="mt-1 fw-bold text-success mb-0"><?php echo $kidem_yil; ?> Yıl</h4>
<small class="text-muted">İşe giriş: <?php echo date('d.m.Y', strtotime($u['ise_giris_tarihi'])); ?></small>
</div>
</div>
</div>
<div class="alert alert-light border mt-3 small text-center text-muted">
<i class="fas fa-info-circle"></i> Gösterilen tüm saatler ve devamsızlıklar sadece **onaylanmış** kayıtları içermektedir.
</div>
</div>
</div>
<?php include '../includes/footer.php'; ?>