<?php
// modules/raporlar.php
session_start();
require_once '../config/db.php';
require_once '../config/functions.php';
// Yetki: Sadece Yönetim ve İlgili Birimler
yetkiKontrol(['root', 'yonetici', 'muhasebe', 'insan_kaynaklari']);
include '../includes/header.php';
include '../includes/menu.php';
// Personel Listesi (Filtreleme için)
// Not: Maaş hesaplamada aktif/pasif kontrolü yapıldığı için burada tüm listeyi getiriyoruz,
// ancak istenirse sadece "aktif" olanlar da getirilebilir. Şimdilik tümünü getiriyoruz ki eski personelin bordrosu da alınabilsin.
$personeller = $pdo->query("SELECT id, ad, soyad FROM kullanicilar WHERE rol != 'root' ORDER BY ad ASC")->fetchAll();
// Varsayılan Tarihler
$bu_yil = date('Y');
$bu_ay = date('m');
$aylar = ['01'=>'Ocak','02'=>'Şubat','03'=>'Mart','04'=>'Nisan','05'=>'Mayıs','06'=>'Haziran','07'=>'Temmuz','08'=>'Ağustos','09'=>'Eylül','10'=>'Ekim','11'=>'Kasım','12'=>'Aralık'];
?>
<div class="container-fluid pb-5">
<div class="d-flex justify-content-between align-items-center mb-4 border-bottom pb-2">
<div>
<h3 class="fw-bold text-dark"><i class="fas fa-chart-pie text-primary me-2"></i> Raporlama Merkezi</h3>
<p class="text-muted mb-0">Finansal, idari ve operasyonel raporlara tek ekrandan erişin.</p>
</div>
<div class="text-end text-muted small">
<i class="far fa-calendar-alt"></i> Bugün: <?php echo date('d.m.Y'); ?>
</div>
</div>
<div class="row g-4">
<div class="col-md-6 col-lg-4">
<div class="card border-0 shadow-sm rounded-4 h-100">
<div class="card-header bg-white border-bottom-0 pt-4 px-4">
<div class="d-flex align-items-center">
<div class="bg-success bg-opacity-10 text-success p-3 rounded-3 me-3">
<i class="fas fa-file-invoice-dollar fa-2x"></i>
</div>
<div>
<h5 class="fw-bold mb-0 text-dark">Maaş & Bordro</h5>
<small class="text-muted">Personel ödeme dökümleri</small>
</div>
</div>
</div>
<div class="card-body px-4">
<form action="maas-rapor.php" method="GET" target="_blank">
<div class="mb-3">
<label class="form-label small fw-bold text-muted">Dönem Seçimi</label>
<div class="input-group">
<select name="ay" class="form-select bg-light">
<?php foreach($aylar as $k=>$v) echo "<option value='$k' ".($k==$bu_ay?'selected':'').">$v</option>"; ?>
</select>
<select name="yil" class="form-select bg-light">
<?php for($y=2024; $y<=2030; $y++) echo "<option value='$y' ".($y==$bu_yil?'selected':'').">$y</option>"; ?>
</select>
</div>
</div>
<div class="mb-4">
<label class="form-label small fw-bold text-muted">Personel Filtresi</label>
<select name="personel_id" class="form-select bg-light">
<option value="tumu">Tüm Personel (Toplu Liste)</option>
<?php foreach($personeller as $p) echo "<option value='{$p['id']}'>{$p['ad']} {$p['soyad']}</option>"; ?>
</select>
</div>
<div class="d-flex gap-2">
<button type="submit" name="format" value="pdf" class="btn btn-outline-danger flex-fill fw-bold"><i class="fas fa-file-pdf me-2"></i> PDF</button>
<button type="submit" name="format" value="excel" class="btn btn-outline-success flex-fill fw-bold"><i class="fas fa-file-excel me-2"></i> Excel</button>
</div>
</form>
</div>
</div>
</div>
<div class="col-md-6 col-lg-4">
<div class="card border-0 shadow-sm rounded-4 h-100">
<div class="card-header bg-white border-bottom-0 pt-4 px-4">
<div class="d-flex align-items-center">
<div class="bg-primary bg-opacity-10 text-primary p-3 rounded-3 me-3">
<i class="fas fa-calendar-check fa-2x"></i>
</div>
<div>
<h5 class="fw-bold mb-0 text-dark">Puantaj Cetveli</h5>
<small class="text-muted">Günlük devam/devamsızlık</small>
</div>
</div>
</div>
<div class="card-body px-4">
<form action="puantaj-cetveli.php" method="GET">
<div class="mb-3">
<label class="form-label small fw-bold text-muted">Dönem Seçimi</label>
<div class="input-group">
<select name="ay" class="form-select bg-light">
<?php foreach($aylar as $k=>$v) echo "<option value='$k' ".($k==$bu_ay?'selected':'').">$v</option>"; ?>
</select>
<select name="yil" class="form-select bg-light">
<?php for($y=2024; $y<=2030; $y++) echo "<option value='$y' ".($y==$bu_yil?'selected':'').">$y</option>"; ?>
</select>
</div>
</div>
<div class="alert alert-light border small text-muted mb-4">
<i class="fas fa-info-circle text-primary me-1"></i> İzinler, raporlar ve tatil günleri puantajda otomatik işlenir.
</div>
<div class="d-grid">
<button type="submit" class="btn btn-primary fw-bold py-2">GÖRÜNTÜLE <i class="fas fa-arrow-right ms-2"></i></button>
</div>
</form>
</div>
</div>
</div>
<div class="col-md-6 col-lg-4">
<div class="card border-0 shadow-sm rounded-4 h-100">
<div class="card-header bg-white border-bottom-0 pt-4 px-4">
<div class="d-flex align-items-center">
<div class="bg-dark bg-opacity-10 text-dark p-3 rounded-3 me-3">
<i class="fas fa-chart-line fa-2x"></i>
</div>
<div>
<h5 class="fw-bold mb-0 text-dark">Mali Özet Raporu</h5>
<small class="text-muted">Şirket geneli maliyet analizi</small>
</div>
</div>
</div>
<div class="card-body px-4">
<form action="mali-rapor.php" method="GET">
<input type="hidden" name="filtre" value="tarih">
<div class="mb-3">
<label class="form-label small fw-bold text-muted">Dönem Seçimi</label>
<div class="input-group">
<select name="ay" class="form-select bg-light">
<?php foreach($aylar as $k=>$v) echo "<option value='$k' ".($k==$bu_ay?'selected':'').">$v</option>"; ?>
</select>
<select name="yil" class="form-select bg-light">
<?php for($y=2024; $y<=2030; $y++) echo "<option value='$y' ".($y==$bu_yil?'selected':'').">$y</option>"; ?>
</select>
</div>
</div>
<div class="alert alert-light border small text-muted mb-4">
<i class="fas fa-coins text-warning me-1"></i> Maaş, Mesai ve Kesinti toplamlarını tek tabloda analiz edin.
</div>
<div class="d-grid">
<button type="submit" class="btn btn-dark fw-bold py-2">RAPORU AÇ <i class="fas fa-external-link-alt ms-2"></i></button>
</div>
</form>
</div>
</div>
</div>
<div class="col-md-6 col-lg-4">
<div class="card border-0 shadow-sm rounded-4 h-100">
<div class="card-header bg-white border-bottom-0 pt-4 px-4">
<div class="d-flex align-items-center">
<div class="bg-warning bg-opacity-10 text-warning p-3 rounded-3 me-3">
<i class="fas fa-list-ul fa-2x"></i>
</div>
<div>
<h5 class="fw-bold mb-0 text-dark">Hareket Dökümleri</h5>
<small class="text-muted">İzin ve Mesai listeleri</small>
</div>
</div>
</div>
<div class="card-body px-4">
<form method="GET" target="_blank" id="hareketForm">
<div class="mb-3">
<label class="form-label small fw-bold text-muted">Dönem Seçimi</label>
<div class="input-group">
<select name="ay" class="form-select bg-light">
<option value="">Tüm Aylar</option>
<?php foreach($aylar as $k=>$v) echo "<option value='$k' ".($k==$bu_ay?'selected':'').">$v</option>"; ?>
</select>
<select name="yil" class="form-select bg-light">
<?php for($y=2024; $y<=2030; $y++) echo "<option value='$y' ".($y==$bu_yil?'selected':'').">$y</option>"; ?>
</select>
</div>
</div>
<div class="d-grid gap-2">
<button type="button" onclick="submitHareket('tum-izinler-rapor.php')" class="btn btn-outline-warning text-dark text-start fw-bold">
<i class="fas fa-umbrella-beach me-2"></i> İzin Listesi İndir (Excel)
</button>
<button type="button" onclick="submitHareket('tum-mesailer-rapor.php')" class="btn btn-outline-warning text-dark text-start fw-bold">
<i class="fas fa-clock me-2"></i> Mesai Listesi İndir (Excel)
</button>
</div>
<input type="hidden" name="format" value="excel">
</form>
</div>
</div>
</div>
</div>
</div>
<script>
function submitHareket(actionUrl) {
const form = document.getElementById('hareketForm');
form.action = actionUrl;
form.submit();
}
</script>
<?php include '../includes/footer.php'; ?>