sys/veri_detay/#008

PYBS (Personel Yönetim Bilgi Sistemi)

Son Senkronizasyon: 16.12.2025
tatil-yonetimi.php 116 satır • 5.35 KB
<?php
// modules/tatil-yonetimi.php
session_start();
require_once '../config/db.php';
require_once '../config/functions.php';

// YETKİLER: Root, Yönetici, İK, Muhasebe
yetkiKontrol(['root', 'yonetici', 'insan_kaynaklari', 'muhasebe']);

include '../includes/header.php';
include '../includes/menu.php';

$mesaj = '';

// EKLEME İŞLEMİ
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['tarih'])) {
    csrfKontrol($_POST['csrf_token']);
    $tarih = $_POST['tarih'];
    $aciklama = guvenlik($_POST['aciklama']);

    // Çakışma Kontrolü
    $kontrol = $pdo->query("SELECT count(*) FROM resmi_tatiller WHERE tarih = '$tarih'")->fetchColumn();
    
    if ($kontrol > 0) {
        $mesaj = '<div class="alert alert-warning">Bu tarih zaten tatil olarak kayıtlı.</div>';
    } else {
        $pdo->prepare("INSERT INTO resmi_tatiller (tarih, aciklama) VALUES (?, ?)")->execute([$tarih, $aciklama]);
        logKaydet($pdo, $_SESSION['kullanici_id'], 'ekleme', "Resmi Tatil Eklendi: $tarih - $aciklama", 'resmi_tatiller', 0);
        $mesaj = '<div class="alert alert-success">Resmi tatil eklendi.</div>';
    }
}

// SİLME İŞLEMİ
if (isset($_GET['sil_id'])) {
    $id = (int)$_GET['sil_id'];
    $pdo->prepare("DELETE FROM resmi_tatiller WHERE id = ?")->execute([$id]);
    logKaydet($pdo, $_SESSION['kullanici_id'], 'silme', "Resmi Tatil Silindi (ID: $id)", 'resmi_tatiller', $id);
    $mesaj = '<div class="alert alert-danger">Tatil silindi.</div>';
}

// LİSTELEME
$yil = isset($_GET['yil']) ? $_GET['yil'] : date('Y');
$tatiller = $pdo->query("SELECT * FROM resmi_tatiller WHERE YEAR(tarih) = '$yil' ORDER BY tarih ASC")->fetchAll();
?>

<div class="container-fluid">
    <div class="row">
        <div class="col-md-4">
            <div class="card border-0 shadow-sm">
                <div class="card-header bg-primary text-white">
                    <h5 class="mb-0 fw-bold"><i class="fas fa-plus-circle me-2"></i> Tatil Ekle</h5>
                </div>
                <div class="card-body p-4">
                    <?php echo $mesaj; ?>
                    <form method="POST">
                        <input type="hidden" name="csrf_token" value="<?php echo csrfTokenOlustur(); ?>">
                        
                        <div class="mb-3">
                            <label class="form-label fw-bold">Tarih</label>
                            <input type="date" name="tarih" class="form-control" required>
                        </div>
                        
                        <div class="mb-3">
                            <label class="form-label fw-bold">Tatil Adı / Açıklama</label>
                            <input type="text" name="aciklama" class="form-control" placeholder="Örn: Ramazan Bayramı 1. Gün" required>
                        </div>

                        <div class="d-grid">
                            <button type="submit" class="btn btn-primary fw-bold">Kaydet</button>
                        </div>
                    </form>
                </div>
            </div>
        </div>

        <div class="col-md-8">
            <div class="card border-0 shadow-sm">
                <div class="card-header bg-white d-flex justify-content-between align-items-center py-3">
                    <h5 class="mb-0 fw-bold text-dark"><i class="fas fa-calendar-alt text-warning me-2"></i> Resmi Tatil Listesi</h5>
                    <form method="GET" class="d-flex">
                        <select name="yil" class="form-select form-select-sm me-2" onchange="this.form.submit()">
                            <?php for($y=2024; $y<=2030; $y++) echo "<option value='$y' ".($y==$yil?'selected':'').">$y Yılı</option>"; ?>
                        </select>
                    </form>
                </div>
                <div class="table-responsive">
                    <table class="table table-hover align-middle mb-0">
                        <thead class="table-light">
                            <tr>
                                <th>Tarih</th>
                                <th>Gün</th>
                                <th>Açıklama</th>
                                <th class="text-end">İşlem</th>
                            </tr>
                        </thead>
                        <tbody>
                            <?php foreach($tatiller as $t): ?>
                            <tr>
                                <td><span class="badge bg-secondary"><?php echo date('d.m.Y', strtotime($t['tarih'])); ?></span></td>
                                <td><?php echo tarihTurkce($t['tarih']); // Sadece gün adı ?></td> 
                                <td class="fw-bold text-dark"><?php echo $t['aciklama']; ?></td>
                                <td class="text-end">
                                    <a href="?sil_id=<?php echo $t['id']; ?>&yil=<?php echo $yil; ?>" class="btn btn-sm btn-outline-danger" onclick="return confirm('Silmek istiyor musunuz?')"><i class="fas fa-trash-alt"></i></a>
                                </td>
                            </tr>
                            <?php endforeach; ?>
                            <?php if(empty($tatiller)) echo '<tr><td colspan="4" class="text-center text-muted py-4">Kayıtlı tatil bulunamadı.</td></tr>'; ?>
                        </tbody>
                    </table>
                </div>
            </div>
        </div>
    </div>
</div>

<?php include '../includes/footer.php'; ?>
DATA_PAYLOAD (Açıklama)
Kapak

DEMO SÜRÜMÜDÜR TAM SÜRÜM İÇİN İLETİŞİM KURUN

📖 PYBS (Personel Yönetim Bilgi Sistemi) Kullanım Kılavuzu

🚀 Proje Tanımı

PYBS, personel bilgilerini, izinleri, maaş bordrolarını ve performans değerlendirmelerini merkezi ve dijital bir platformda yönetmek için tasarlanmış kapsamlı bir Personel Yönetim Bilgi Sistemi'dir. Amacımız, İnsan Kaynakları (İK) süreçlerini otomatikleştirerek verimliliği artırmak ve veri tutarlılığını sağlamaktır.

✨ Temel Özellikler

Personel Yönetimi: Çalışanların kişisel, iletişim ve görev bilgilerini kaydetme/güncelleme.

İzin Yönetimi: Çalışanların izin taleplerini oluşturma, onaylama/reddetme ve kalan izin haklarını takip etme.

Performans Değerlendirme: Yöneticilerin ve çalışanların performans hedeflerini belirlemesi ve değerlendirmeleri kaydetmesi.

Bordro Entegrasyonu: Maaş ve avans bilgilerini kaydetme ve bordro çıktılarını oluşturma (Harici sistemlerle entegrasyon potansiyeli).

Raporlama: İK yöneticileri için özet ve detaylı personel, izin ve bordro raporları oluşturma.

💻 Son Kullanıcı Kullanımı🔑 Giriş Yapma

Demo için kullanıcı adı : test.test

Demo için şifre : 123456

Demo hesabında root / yonetici vb yetki yoktur.

Tam sürüm için iletişime geçin.

Sistem "Ramsa Makine" tarafından aktif olarak kullanılmaktadır

Meta Veri (Özet)

İşyeri çalışanlarının maaş, fazla mesai ve puantaj ile bordro takip, kontrol ve raporlama sistemi

9,463
Sinyal (Ağ Hiti)
1.54 MB
Kapasite

Ağda Paylaş