<?php
// modules/raporlar.php
session_start();
require_once '../config/db.php';
require_once '../config/functions.php';
// Sadece bu rollere açık
yetkiKontrol(['root', 'yonetici', 'muhasebe', 'insan_kaynaklari']);
include '../includes/header.php';
include '../includes/menu.php';
// Personel Listesi (Filtre için) - Root hariç
$personeller = $pdo->query("SELECT id, ad, soyad FROM kullanicilar WHERE durum=1 AND rol != 'root' ORDER BY ad ASC")->fetchAll();
// Varsayılan Tarihler
$bu_ay_bas = date('Y-m-01');
$bu_ay_son = date('Y-m-t');
$gecen_ay_bas = date('Y-m-01', strtotime('-1 month'));
$gecen_ay_son = date('Y-m-t', strtotime('-1 month'));
$bu_yil = date('Y');
$gecen_yil = date('Y') - 1;
?>
<div class="container-fluid">
<h3 class="mb-4"><i class="fas fa-chart-bar text-primary me-2"></i> Raporlama Merkezi</h3>
<p class="text-muted">İhtiyacınız olan detayı ve dönemi seçerek hızlıca döküm alabilirsiniz.</p>
<div class="row g-4">
<div class="col-md-6 col-lg-4">
<div class="card border-0 shadow-lg h-100" style="border-top: 5px solid #007bff;">
<div class="card-header bg-white">
<h5 class="text-primary fw-bold mb-0"><i class="fas fa-clock me-2"></i> Mesai ve Puantaj Dökümü</h5>
</div>
<div class="card-body p-4">
<p class="small text-muted">Seçilen tarihler arasındaki onaylı fazla mesai hareketlerini ve puantaj detaylarını listeler.</p>
<form action="rapor-olustur.php" method="GET" target="_blank" id="mesaiForm">
<input type="hidden" name="tur" value="mesai">
<div class="row g-2 mb-3">
<div class="col-6">
<label class="small fw-bold">Başlangıç</label>
<input type="date" name="baslangic" id="mesaiBaslangic" class="form-control form-control-sm" required value="<?php echo $bu_ay_bas; ?>">
</div>
<div class="col-6">
<label class="small fw-bold">Bitiş</label>
<input type="date" name="bitis" id="mesaiBitis" class="form-control form-control-sm" required value="<?php echo $bu_ay_son; ?>">
</div>
</div>
<div class="mb-3">
<label class="small fw-bold">Personel Filtresi</label>
<select name="personel_id" class="form-select form-select-sm">
<option value="tumu">Tüm Personel</option>
<?php foreach($personeller as $p): ?>
<option value="<?php echo $p['id']; ?>"><?php echo $p['ad'].' '.$p['soyad']; ?></option>
<?php endforeach; ?>
</select>
</div>
<div class="mb-3 d-flex gap-2 justify-content-between">
<button type="button" class="btn btn-sm btn-outline-secondary w-50" onclick="setMesaiDates('<?php echo $gecen_ay_bas; ?>', '<?php echo $gecen_ay_son; ?>')">Geçen Ay</button>
<button type="button" class="btn btn-sm btn-outline-secondary w-50" onclick="setMesaiDates('<?php echo $bu_ay_bas; ?>', '<?php echo $bu_ay_son; ?>')">Bu Ay</button>
</div>
<div class="d-grid gap-2 mt-3">
<button type="submit" name="format" value="yazdir" class="btn btn-outline-dark">
<i class="fas fa-print"></i> PDF Önizle
</button>
<button type="submit" name="format" value="excel" class="btn btn-success">
<i class="fas fa-file-excel"></i> Excel İndir
</button>
</div>
</form>
</div>
</div>
</div>
<div class="col-md-6 col-lg-4">
<div class="card border-0 shadow-lg h-100" style="border-top: 5px solid #ffc107;">
<div class="card-header bg-white">
<h5 class="text-warning fw-bold mb-0"><i class="fas fa-umbrella-beach me-2"></i> İzin Kullanım Raporu</h5>
</div>
<div class="card-body p-4">
<p class="small text-muted">Personelin seçilen yıl içindeki kullandığı tüm onaylı izinleri (yıllık, mazeret, saatlik vb.) listeler.</p>
<form action="rapor-olustur.php" method="GET" target="_blank" id="izinForm">
<input type="hidden" name="tur" value="izin">
<div class="mb-3">
<label class="small fw-bold">Yıl Seçimi</label>
<select name="yil" id="izinYil" class="form-select form-select-sm">
<?php
for($i=$bu_yil; $i>=$gecen_yil-2; $i--) {
echo "<option value='$i' ".($i==$bu_yil?'selected':'').">$i</option>";
}
?>
</select>
</div>
<div class="mb-3">
<label class="small fw-bold">Personel Filtresi</label>
<select name="personel_id" class="form-select form-select-sm">
<option value="tumu">Tüm Personel</option>
<?php foreach($personeller as $p): ?>
<option value="<?php echo $p['id']; ?>"><?php echo $p['ad'].' '.$p['soyad']; ?></option>
<?php endforeach; ?>
</select>
</div>
<div class="alert alert-info small mt-4">
<i class="fas fa-info-circle"></i> Bu rapor, yıllık izin bakiyesi hesaplamaz, sadece kullanılan izinleri gösterir.
</div>
<div class="d-grid gap-2 mt-4">
<button type="submit" name="format" value="yazdir" class="btn btn-outline-dark">
<i class="fas fa-print"></i> PDF Önizle
</button>
<button type="submit" name="format" value="excel" class="btn btn-success">
<i class="fas fa-file-excel"></i> Excel İndir
</button>
</div>
</form>
</div>
</div>
</div>
<div class="col-md-6 col-lg-4">
<div class="card border-0 shadow-lg h-100" style="border-top: 5px solid #dc3545;">
<div class="card-header bg-white">
<h5 class="text-danger fw-bold mb-0"><i class="fas fa-chart-pie me-2"></i> Mali Genel Bakış (Özet)</h5>
</div>
<div class="card-body p-4 d-flex flex-column justify-content-between">
<div>
<p class="small text-muted">Seçilen aya ait **tüm personelin** net maaş maliyetini, mesai hakedişlerini, izin kesintilerini ve avans hareketlerini tek bir tabloda konsolide olarak gösterir.</p>
<div class="alert alert-danger small mt-4">
<i class="fas fa-exclamation-triangle"></i> Bu rapor, genel muhasebe dökümü için tasarlanmıştır. Dönem seçimi için aşağıdaki butonu kullanınız.
</div>
</div>
<div class="d-grid mt-3">
<a href="mali-rapor.php" class="btn btn-danger btn-lg fw-bold">
<i class="fas fa-arrow-right me-2"></i> Mali Rapor Merkezi'ne Git
</a>
</div>
</div>
</div>
</div>
<div class="col-md-6 col-lg-4">
<div class="card border-0 shadow-lg h-100" style="border-top: 5px solid #17a2b8;">
<div class="card-header bg-white">
<h5 class="text-info fw-bold mb-0"><i class="fas fa-users-cog me-2"></i> Personel Bilgileri Dökümü</h5>
</div>
<div class="card-body p-4 d-flex flex-column justify-content-between">
<div>
<p class="small text-muted">Sistemdeki tüm personelin TC, Maaş, Rol, İletişim ve İşe Giriş tarihi gibi kritik bilgilerini toplu olarak listeler.</p>
<form action="rapor-olustur.php" method="GET" target="_blank">
<input type="hidden" name="tur" value="personel_bilgi">
<div class="mb-3">
<label class="small fw-bold">Rol Filtresi</label>
<select name="rol_filtre" class="form-select form-select-sm">
<option value="tumu">Tüm Roller</option>
<option value="yonetici">Yönetici</option>
<option value="mudur">Müdür</option>
<option value="insan_kaynaklari">İnsan Kaynakları</option>
<option value="muhasebe">Muhasebe</option>
<option value="vardiya_amiri">Vardiya Amiri</option>
<option value="calisan">Çalışan</option>
<option value="stajyer">Stajyer</option>
</select>
</div>
<div class="mb-3">
<label class="small fw-bold">Durum Filtresi</label>
<select name="durum_filtre" class="form-select form-select-sm">
<option value="1">Aktif Personel</option>
<option value="0">Pasif (Ayrılmış) Personel</option>
<option value="tumu">Tümü</option>
</select>
</div>
<div class="d-grid gap-2 mt-4">
<button type="submit" name="format" value="yazdir" class="btn btn-info text-white">
<i class="fas fa-print"></i> PDF Önizle
</button>
<button type="submit" name="format" value="excel" class="btn btn-success">
<i class="fas fa-file-excel"></i> Excel İndir
</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div> </div>
<script>
// Mesai Formu için hızlı tarih ayarlama fonksiyonu
function setMesaiDates(baslangic, bitis) {
document.getElementById('mesaiBaslangic').value = baslangic;
document.getElementById('mesaiBitis').value = bitis;
}
</script>
<?php include '../includes/footer.php'; ?>