PYBS (Personel Yönetim Bilgi Sistemi) / Ramsa/panels/stajyer-panel.php
stajyer-panel.php 122 satır • 4.96 KB
<?php
// panels/stajyer-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'];

// Stajyer Kontrolü (Yanlışlıkla başka rol girmesin)
if ($_SESSION['rol'] !== 'stajyer') {
    // Eğer root test için girdiyse atmasın
    if($_SESSION['rol'] !== 'root') {
        header("Location: ../index.php"); exit;
    }
}

// Bu ayki çalışma gün sayısı (Puantaj için önemli)
$bu_ay_bas = date('Y-m-01');
$bu_ay_son = date('Y-m-t');
$calisma_gun = $pdo->query("SELECT COUNT(*) FROM mesai_hareketleri WHERE calisan_id = $id AND durum = 'onaylandi' AND tarih BETWEEN '$bu_ay_bas' AND '$bu_ay_son'")->fetchColumn();

// Bekleyen Onaylar
$bekleyen = $pdo->query("SELECT COUNT(*) FROM mesai_hareketleri WHERE calisan_id = $id AND durum = 'beklemede'")->fetchColumn();

?>

<div class="container-fluid">
    <h3 class="mb-4">Stajyer Öğrenci Paneli</h3>
    
    <div class="alert alert-info border-start border-info border-4">
        <i class="fas fa-graduation-cap fa-lg me-2"></i> 
        Merhaba <strong><?php echo $_SESSION['ad_soyad']; ?></strong>, Ramsa Makine staj programına hoş geldin.
        Buradan staj devam durumunu girebilir ve izin talep edebilirsin.
    </div>

    <div class="row">
        <div class="col-md-6">
            <div class="card text-white bg-success mb-3 h-100">
                <div class="card-body text-center">
                    <h5 class="card-title">Bu Ay Onaylanan</h5>
                    <h1 class="display-3 fw-bold"><?php echo $calisma_gun; ?></h1>
                    <p>Gün Staj/Mesai</p>
                    <small>Devlet katkısı ve puantaj buna göre hesaplanır.</small>
                </div>
            </div>
        </div>
        
        <div class="col-md-6">
            <div class="card text-white bg-warning mb-3 h-100">
                <div class="card-body text-center">
                    <h5 class="card-title text-dark">Onay Bekleyen</h5>
                    <h1 class="display-3 fw-bold text-dark"><?php echo $bekleyen; ?></h1>
                    <p class="text-dark">Kayıt</p>
                    <small class="text-dark">Yöneticinin onaylaması bekleniyor.</small>
                </div>
            </div>
        </div>
    </div>

    <div class="row mt-3">
        <div class="col-md-6">
            <a href="../modules/mesai-giris.php" class="btn btn-outline-primary w-100 py-4 mb-3">
                <i class="fas fa-clock fa-2x mb-2"></i><br>
                <strong>Günlük Staj/Mesai Girişi</strong><br>
                <small>Her gün çıkışta burayı doldurmalısın.</small>
            </a>
        </div>
        <div class="col-md-6">
            <a href="../modules/izin-talep.php" class="btn btn-outline-danger w-100 py-4 mb-3">
                <i class="fas fa-file-medical fa-2x mb-2"></i><br>
                <strong>Mazeret / Rapor İzni</strong><br>
                <small>Gelmediğin günler için buradan bildirim yap.</small>
            </a>
        </div>
    </div>

    <div class="card-box p-4 mt-2">
        <h5>Son Aktiviteler</h5>
        <div class="table-responsive">
            <table class="table table-striped table-sm">
                <thead>
                    <tr>
                        <th>Tarih</th>
                        <th>Tür</th>
                        <th>Durum</th>
                    </tr>
                </thead>
                <tbody>
                    <?php
                    $sql_son = "
                    (SELECT baslangic_tarihi as tarih, 'İzin Talebi' as tur, durum FROM izin_talepleri WHERE calisan_id = $id)
                    UNION
                    (SELECT tarih, 'Çalışma Girişi' as tur, durum FROM mesai_hareketleri WHERE calisan_id = $id)
                    ORDER BY tarih DESC LIMIT 5";
                    
                    $hareketler = $pdo->query($sql_son)->fetchAll();
                    foreach($hareketler as $h): 
                    ?>
                    <tr>
                        <td><?php echo date('d.m.Y', strtotime($h['tarih'])); ?></td>
                        <td><?php echo $h['tur']; ?></td>
                        <td>
                            <?php if($h['durum']=='beklemede'): ?>
                                <span class="badge bg-warning text-dark">Bekliyor</span>
                            <?php elseif($h['durum']=='onaylandi'): ?>
                                <span class="badge bg-success">Onaylandı</span>
                            <?php else: ?>
                                <span class="badge bg-danger">Reddedildi</span>
                            <?php endif; ?>
                        </td>
                    </tr>
                    <?php endforeach; ?>
                </tbody>
            </table>
            <?php if(empty($hareketler)) echo '<p class="text-center text-muted mt-2">Henüz kayıt yok.</p>'; ?>
        </div>
    </div>
</div>

<?php include '../includes/footer.php'; ?>