PYBS (Personel Yönetim Bilgi Sistemi) / modules/izin-yazdir.php
izin-yazdir.php 153 satır • 6.55 KB
<?php
// modules/izin-yazdir.php
session_start();
require_once '../config/db.php';
require_once '../config/functions.php';

// Kimler görebilir?
yetkiKontrol(['root', 'yonetici', 'mudur', 'muhasebe', 'insan_kaynaklari', 'calisan']);

$id = (int)$_GET['id'];

// İzin Detayını Çek
$sql = "SELECT i.*, 
        k.ad, k.soyad, k.tc_no, k.ise_giris_tarihi, k.rol, k.devreden_izin,
        y.ad as yonetici_ad, y.soyad as yonetici_soyad 
        FROM izin_talepleri i 
        JOIN kullanicilar k ON i.calisan_id = k.id 
        LEFT JOIN kullanicilar y ON i.hedef_yonetici_id = y.id
        WHERE i.id = ?";
$stmt = $pdo->prepare($sql);
$stmt->execute([$id]);
$izin = $stmt->fetch();

if (!$izin) die("İzin bulunamadı.");

// Yetki Kontrolü (Çalışan sadece kendi iznini görebilir)
if ($_SESSION['rol'] == 'calisan' && $izin['calisan_id'] != $_SESSION['kullanici_id']) {
    die("Bu belgeyi görüntüleme yetkiniz yok.");
}

// Bakiye Hesaplama (Anlık)
$ise_giris = new DateTime($izin['ise_giris_tarihi']);
$kidem_yil = $ise_giris->diff(new DateTime())->y;
$hakedilen = ($kidem_yil >= 15) ? 26 : (($kidem_yil >= 5) ? 20 : 14);
$toplam_hak = $hakedilen + (float)$izin['devreden_izin'];

// Bu yıl kullanılan (Bu izin hariç öncekiler)
$kullanilan = $pdo->query("SELECT SUM(toplam_gun) FROM izin_talepleri WHERE calisan_id = {$izin['calisan_id']} AND durum = 'onaylandi' AND izin_turu='yillik' AND YEAR(baslangic_tarihi) = YEAR(CURDATE())")->fetchColumn() ?: 0;
$kalan = $toplam_hak - $kullanilan;
?>

<!DOCTYPE html>
<html lang="tr">
<head>
    <meta charset="UTF-8">
    <title>İzin Formu - <?php echo $izin['ad']; ?></title>
    <style>
        body { font-family: 'Times New Roman', serif; padding: 40px; max-width: 800px; margin: 0 auto; }
        .header { text-align: center; border-bottom: 2px solid #000; padding-bottom: 20px; margin-bottom: 30px; }
        .logo { max-height: 80px; margin-bottom: 10px; }
        .title { font-size: 24px; font-weight: bold; text-transform: uppercase; }
        .sub-title { font-size: 14px; margin-top: 5px; }
        
        .section-title { background: #eee; padding: 5px 10px; font-weight: bold; border: 1px solid #000; margin-top: 20px; }
        .info-table { width: 100%; border-collapse: collapse; margin-top: 10px; }
        .info-table td { border: 1px solid #000; padding: 8px; vertical-align: top; width: 50%; }
        .label { font-weight: bold; display: block; font-size: 12px; color: #555; }
        
        .signature-section { margin-top: 60px; display: flex; justify-content: space-between; }
        .sig-box { width: 30%; text-align: center; border-top: 1px solid #000; padding-top: 10px; }
        
        .footer-note { margin-top: 40px; font-size: 11px; text-align: center; color: #777; }

        @media print {
            .no-print { display: none; }
            body { padding: 0; }
        }
    </style>
</head>
<body>

    <div class="no-print" style="text-align:right; margin-bottom:20px;">
        <button onclick="window.print()" style="padding:10px 20px; cursor:pointer; background:#333; color:#fff; border:none;">🖨️ YAZDIR / PDF KAYDET</button>
    </div>

    <div class="header">
        <img src="../assets/img/logo.png" alt="Logo" class="logo"><br>
        <div class="title">İzin Talep ve Onay Formu</div>
        <div class="sub-title">Personel İşleri Müdürlüğü</div>
    </div>

    <div class="section-title">1. PERSONEL BİLGİLERİ</div>
    <table class="info-table">
        <tr>
            <td><span class="label">Adı Soyadı:</span> <?php echo $izin['ad'] . ' ' . $izin['soyad']; ?></td>
            <td><span class="label">TC Kimlik No:</span> <?php echo $izin['tc_no']; ?></td>
        </tr>
        <tr>
            <td><span class="label">Departman / Görev:</span> <?php echo strtoupper($izin['rol']); ?></td>
            <td><span class="label">İşe Giriş Tarihi:</span> <?php echo date('d.m.Y', strtotime($izin['ise_giris_tarihi'])); ?></td>
        </tr>
    </table>

    <div class="section-title">2. İZİN DETAYLARI</div>
    <table class="info-table">
        <tr>
            <td><span class="label">İzin Türü:</span> 
                <?php 
                if($izin['izin_turu'] == 'yillik') echo 'YILLIK İZİN';
                elseif($izin['izin_turu'] == 'mazeret') echo 'MAZERET İZNİ';
                elseif($izin['izin_turu'] == 'saatlik') echo 'SAATLİK İZİN';
                else echo strtoupper($izin['izin_turu']) . ' İZNİ';
                ?>
            </td>
            <td><span class="label">İzin Süresi:</span> 
                <?php echo ($izin['izin_turu']=='saatlik') ? $izin['saatlik_sure'].' Saat' : floatval($izin['toplam_gun']).' Gün'; ?>
            </td>
        </tr>
        <tr>
            <td><span class="label">Başlangıç Tarihi:</span> <?php echo tarihTurkce($izin['baslangic_tarihi']); ?> <?php echo date('H:i', strtotime($izin['baslangic_tarihi'])); ?></td>
            <td><span class="label">Bitiş / İş Başı Tarihi:</span> <?php echo tarihTurkce($izin['bitis_tarihi']); ?></td>
        </tr>
        <tr>
            <td colspan="2"><span class="label">İzin Nedeni / Açıklama:</span> <?php echo $izin['aciklama']; ?></td>
        </tr>
    </table>

    <div class="section-title">3. İZİN BAKİYE DURUMU (Yıllık İzinler İçin)</div>
    <table class="info-table">
        <tr>
            <td><span class="label">Toplam Hakedilen:</span> <?php echo $toplam_hak; ?> Gün</td>
            <td><span class="label">Kullanılan (Bu Yıl):</span> <?php echo $kullanilan; ?> Gün</td>
        </tr>
        <tr>
            <td colspan="2" style="background:#f9f9f9;"><span class="label">Kalan Bakiye:</span> <strong><?php echo $kalan; ?> Gün</strong></td>
        </tr>
    </table>

    <div class="signature-section">
        <div class="sig-box">
            <strong>Talep Eden Personel</strong><br>
            <?php echo $izin['ad'] . ' ' . $izin['soyad']; ?><br><br>
            İmza: ........................
        </div>
        <div class="sig-box">
            <strong>Kontrol Eden (İK/Muhasebe)</strong><br>
            ........................<br><br>
            İmza: ........................
        </div>
        <div class="sig-box">
            <strong>Onaylayan Yönetici</strong><br>
            <?php echo $izin['yonetici_ad'] . ' ' . $izin['yonetici_soyad']; ?><br><br>
            İmza: ........................
        </div>
    </div>

    <div class="footer-note">
        Bu belge dijital ortamda <?php echo date('d.m.Y H:i'); ?> tarihinde oluşturulmuştur. 
        Ramsa Makine Personel Yönetim Sistemi - Islak imza ile geçerlilik kazanır.
    </div>

</body>
</html>