<?php
// modules/personel-duzenle.php
session_start();
require_once '../config/db.php';
require_once '../config/functions.php';
// Yetki: Root, Yönetici, Muhasebe, İnsan Kaynakları
yetkiKontrol(['root', 'yonetici', 'muhasebe', 'insan_kaynaklari']);
include '../includes/header.php';
include '../includes/menu.php';
$id = (int)$_GET['id'];
$mesaj = '';
// --- İŞLEM: YENİ DÖNEM BAŞLAT (TEKRAR İŞE ALIM) ---
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['islem']) && $_POST['islem'] == 'donem_ekle') {
csrfKontrol($_POST['csrf_token']);
$giris = $_POST['yeni_giris_tarihi'];
// Önceki açık dönemleri kapat
$pdo->prepare("UPDATE calisma_donemleri SET aktif_donem = 0 WHERE calisan_id = ?")->execute([$id]);
// Yeni dönem ekle
$stmt = $pdo->prepare("INSERT INTO calisma_donemleri (calisan_id, ise_giris, aktif_donem) VALUES (?, ?, 1)");
if ($stmt->execute([$id, $giris])) {
// Ana tabloyu güncelle
$pdo->prepare("UPDATE kullanicilar SET durum = 1, ise_giris_tarihi = ?, isten_cikis_tarihi = NULL WHERE id = ?")->execute([$giris, $id]);
$mesaj = '<div class="alert alert-success">Personel tekrar işe alındı (Yeni dönem başlatıldı).</div>';
}
}
// --- İŞLEM: DÖNEM SONLANDIR (İŞTEN ÇIKIŞ) ---
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['islem']) && $_POST['islem'] == 'donem_bitir') {
csrfKontrol($_POST['csrf_token']);
$donem_id = (int)$_POST['donem_id'];
$cikis = $_POST['cikis_tarihi'];
$neden = guvenlik($_POST['ayrilma_nedeni']);
$stmt = $pdo->prepare("UPDATE calisma_donemleri SET isten_cikis = ?, ayrilma_nedeni = ?, aktif_donem = 0 WHERE id = ? AND calisan_id = ?");
if ($stmt->execute([$cikis, $neden, $donem_id, $id])) {
$pdo->prepare("UPDATE kullanicilar SET durum = 0, isten_cikis_tarihi = ? WHERE id = ?")->execute([$cikis, $id]);
$mesaj = '<div class="alert alert-warning">Dönem sonlandırıldı ve personel pasife alındı.</div>';
}
}
// --- YENİ İŞLEM: DÖNEM DÜZENLEME (TARİHLERİ GÜNCELLEME) ---
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['islem']) && $_POST['islem'] == 'donem_guncelle') {
csrfKontrol($_POST['csrf_token']);
$edit_donem_id = (int)$_POST['edit_donem_id'];
$yeni_giris = $_POST['edit_giris_tarihi'];
$yeni_cikis = !empty($_POST['edit_cikis_tarihi']) ? $_POST['edit_cikis_tarihi'] : NULL;
$yeni_neden = guvenlik($_POST['edit_ayrilma_nedeni']);
// Dönem aktif mi kontrol et
$donem_kontrol = $pdo->query("SELECT aktif_donem FROM calisma_donemleri WHERE id = $edit_donem_id")->fetch();
$sql = "UPDATE calisma_donemleri SET ise_giris = ?, isten_cikis = ?, ayrilma_nedeni = ? WHERE id = ? AND calisan_id = ?";
$stmt = $pdo->prepare($sql);
if($stmt->execute([$yeni_giris, $yeni_cikis, $yeni_neden, $edit_donem_id, $id])){
// Eğer güncellenen dönem AKTİF dönem ise, ana kullanıcı tablosunu da güncelle
if($donem_kontrol['aktif_donem'] == 1) {
$pdo->prepare("UPDATE kullanicilar SET ise_giris_tarihi = ? WHERE id = ?")->execute([$yeni_giris, $id]);
}
$mesaj = '<div class="alert alert-info">Çalışma dönemi tarihleri güncellendi.</div>';
}
}
// --- MAAŞ EKLEME İŞLEMİ ---
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['islem']) && $_POST['islem'] == 'maas_ekle') {
csrfKontrol($_POST['csrf_token']);
$yeni_maas = (float)$_POST['yeni_maas'];
$baslangic_tarihi = $_POST['gecerlilik_baslangic'];
$aciklama = guvenlik($_POST['aciklama']);
if ($yeni_maas >= 0 && !empty($baslangic_tarihi)) {
$stmt = $pdo->prepare("INSERT INTO maas_gecmisi (calisan_id, maas_miktari, gecerlilik_baslangic, aciklama, olusturan_id) VALUES (?, ?, ?, ?, ?)");
if ($stmt->execute([$id, $yeni_maas, $baslangic_tarihi, $aciklama, $_SESSION['kullanici_id']])) {
$son_maas = $pdo->query("SELECT maas_miktari FROM maas_gecmisi WHERE calisan_id = $id ORDER BY gecerlilik_baslangic DESC LIMIT 1")->fetchColumn();
$pdo->prepare("UPDATE kullanicilar SET aylik_net_maas = ? WHERE id = ?")->execute([$son_maas, $id]);
$mesaj = '<div class="alert alert-success">Yeni maaş bilgisi eklendi.</div>';
}
} else {
$mesaj = '<div class="alert alert-danger">Lütfen geçerli bir tarih giriniz.</div>';
}
}
// --- MAAŞ GÜNCELLEME ---
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['islem']) && $_POST['islem'] == 'maas_guncelle') {
csrfKontrol($_POST['csrf_token']);
$maas_kayit_id = (int)$_POST['maas_kayit_id'];
$guncel_tutar = (float)$_POST['edit_maas'];
$guncel_tarih = $_POST['edit_tarih'];
$guncel_aciklama = guvenlik($_POST['edit_aciklama']);
if ($guncel_tutar >= 0 && !empty($guncel_tarih)) {
$stmt = $pdo->prepare("UPDATE maas_gecmisi SET maas_miktari = ?, gecerlilik_baslangic = ?, aciklama = ? WHERE id = ? AND calisan_id = ?");
if ($stmt->execute([$guncel_tutar, $guncel_tarih, $guncel_aciklama, $maas_kayit_id, $id])) {
$son_maas = $pdo->query("SELECT maas_miktari FROM maas_gecmisi WHERE calisan_id = $id ORDER BY gecerlilik_baslangic DESC LIMIT 1")->fetchColumn();
$pdo->prepare("UPDATE kullanicilar SET aylik_net_maas = ? WHERE id = ?")->execute([$son_maas, $id]);
$mesaj = '<div class="alert alert-info">Maaş kaydı güncellendi.</div>';
}
} else {
$mesaj = '<div class="alert alert-danger">Güncelleme başarısız. Geçerli değerler giriniz.</div>';
}
}
// --- MAAŞ SİLME ---
if (isset($_GET['maas_sil'])) {
$maas_id = (int)$_GET['maas_sil'];
$count = $pdo->query("SELECT COUNT(*) FROM maas_gecmisi WHERE calisan_id = $id")->fetchColumn();
if ($count > 0) {
$pdo->prepare("DELETE FROM maas_gecmisi WHERE id = ?")->execute([$maas_id]);
$son_maas_sor = $pdo->query("SELECT maas_miktari FROM maas_gecmisi WHERE calisan_id = $id ORDER BY gecerlilik_baslangic DESC LIMIT 1");
$son_maas = $son_maas_sor->fetchColumn();
if ($son_maas === false) $son_maas = 0;
$pdo->prepare("UPDATE kullanicilar SET aylik_net_maas = ? WHERE id = ?")->execute([$son_maas, $id]);
$mesaj = '<div class="alert alert-warning">Maaş kaydı silindi.</div>';
}
}
// PERSONEL VERİLERİ
$stmt = $pdo->prepare("SELECT * FROM kullanicilar WHERE id = ?");
$stmt->execute([$id]);
$k = $stmt->fetch();
if (!$k) die("Kullanıcı bulunamadı.");
// --- İLK İŞE GİRİŞ TARİHİNİ BUL ---
// Çalışma dönemleri tablosundaki EN ESKİ tarihi bulur.
$ilk_giris_query = $pdo->query("SELECT MIN(ise_giris) FROM calisma_donemleri WHERE calisan_id = $id")->fetchColumn();
// Eğer dönem tablosu boşsa veya null ise, kullanici tablosundakini al
$ilk_ise_giris_tarihi = $ilk_giris_query ? $ilk_giris_query : $k['ise_giris_tarihi'];
$donemler = $pdo->query("SELECT * FROM calisma_donemleri WHERE calisan_id = $id ORDER BY ise_giris DESC")->fetchAll();
$maaslar = $pdo->query("SELECT * FROM maas_gecmisi WHERE calisan_id = $id ORDER BY gecerlilik_baslangic DESC")->fetchAll();
// --- PROFİL GÜNCELLEME ---
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['islem']) && $_POST['islem'] == 'profil_guncelle') {
csrfKontrol($_POST['csrf_token']);
$ad = guvenlik($_POST['ad']);
$soyad = guvenlik($_POST['soyad']);
$email = guvenlik($_POST['email']);
$kan_grubu = $_POST['kan_grubu'];
$adres = guvenlik($_POST['adres']);
$ham_tel = !empty($_POST['telefon']) ? $_POST['telefon'] : '';
$telefon = telefonFormatla($ham_tel);
$rol = $_POST['rol'];
$sgk_no = !empty($_POST['sgk_no']) ? guvenlik($_POST['sgk_no']) : NULL;
$tc_no = guvenlik($_POST['tc_no']);
$dogum_tarihi = $_POST['dogum_tarihi'];
$medeni_durum = $_POST['medeni_durum'];
$cinsiyet = $_POST['cinsiyet'];
$sut_izni_bitis = (!empty($_POST['sut_izni_bitis']) && $cinsiyet == 'Kadın') ? $_POST['sut_izni_bitis'] : NULL;
$cocuk_sayisi = (int)$_POST['cocuk_sayisi'];
$foto_yolu = $k['fotograf_yolu'];
$yeni_sifre = !empty($_POST['yeni_sifre']) ? password_hash($_POST['yeni_sifre'], PASSWORD_DEFAULT) : NULL;
if (isset($_FILES['fotograf']) && $_FILES['fotograf']['error'] === UPLOAD_ERR_OK) {
$izin_verilenler = ['jpg', 'jpeg', 'png'];
$dosya_uzantisi = strtolower(pathinfo($_FILES['fotograf']['name'], PATHINFO_EXTENSION));
if (in_array($dosya_uzantisi, $izin_verilenler)) {
$on_ek = $tc_no ? $tc_no : $k['kullanici_adi'];
$yeni_ad = $on_ek . '_' . time() . '.' . $dosya_uzantisi;
$hedef = '../assets/uploads/' . $yeni_ad;
if (move_uploaded_file($_FILES['fotograf']['tmp_name'], $hedef)) {
$foto_yolu = 'assets/uploads/' . $yeni_ad;
}
}
}
try {
$sql = "UPDATE kullanicilar SET ad = ?, soyad = ?, email = ?, kan_grubu = ?, adres = ?,
rol = ?, sgk_no = ?, tc_no = ?, telefon = ?,
dogum_tarihi = ?, cinsiyet = ?, sut_izni_bitis = ?, medeni_durum = ?, cocuk_sayisi = ?";
$params = [
$ad, $soyad, $email, $kan_grubu, $adres,
$rol, $sgk_no, $tc_no, $telefon,
$dogum_tarihi, $cinsiyet, $sut_izni_bitis, $medeni_durum, $cocuk_sayisi
];
if (!empty($yeni_sifre)) { $sql .= ", sifre_hash = ?"; $params[] = $yeni_sifre; }
if ($foto_yolu !== $k['fotograf_yolu']) { $sql .= ", fotograf_yolu = ?"; $params[] = $foto_yolu; }
$sql .= " WHERE id = ?";
$params[] = $id;
$stmt_up = $pdo->prepare($sql);
$stmt_up->execute($params);
logKaydet($pdo, $_SESSION['kullanici_id'], 'guncelleme', "Personel {$k['ad']} {$k['soyad']} bilgileri güncellendi.", 'kullanicilar', $id);
$mesaj = '<div class="alert alert-success">Personel bilgileri güncellendi.</div>';
$stmt->execute([$id]);
$k = $stmt->fetch();
} catch (PDOException $e) {
$mesaj = '<div class="alert alert-danger">Hata: ' . $e->getMessage() . '</div>';
}
}
?>
<div class="container-fluid">
<div class="row justify-content-center">
<div class="col-md-10">
<div class="card-box p-4">
<div class="d-flex justify-content-between align-items-center mb-3 border-bottom pb-2">
<h4 class="mb-0">Personel Düzenle: <?php echo htmlspecialchars($k['ad'].' '.$k['soyad']); ?></h4>
<span class="badge <?php echo $k['durum']==1?'bg-success':'bg-secondary'; ?> fs-6"><?php echo $k['durum']==1?'Aktif':'Pasif'; ?></span>
</div>
<?php echo $mesaj; ?>
<ul class="nav nav-tabs mb-4" id="myTab" role="tablist">
<li class="nav-item"><button class="nav-link active" data-bs-toggle="tab" data-bs-target="#genel">Genel Bilgiler</button></li>
<li class="nav-item"><button class="nav-link" data-bs-toggle="tab" data-bs-target="#donemler">Çalışma Dönemleri (Giriş/Çıkış)</button></li>
<li class="nav-item"><button class="nav-link" data-bs-toggle="tab" data-bs-target="#maas">Maaş Yönetimi</button></li>
</ul>
<div class="tab-content" id="myTabContent">
<div class="tab-pane fade show active" id="genel">
<form method="POST" enctype="multipart/form-data">
<input type="hidden" name="csrf_token" value="<?php echo csrfTokenOlustur(); ?>">
<input type="hidden" name="islem" value="profil_guncelle">
<div class="row mb-3">
<div class="col-md-4"><label class="form-label small">Kullanıcı Adı</label><input type="text" class="form-control" value="<?php echo htmlspecialchars($k['kullanici_adi']); ?>" disabled></div>
<div class="col-md-4"><label class="form-label small">Yeni Şifre</label><input type="text" name="yeni_sifre" class="form-control"></div>
<div class="col-md-4">
<label class="form-label small">Rol</label>
<select name="rol" class="form-select" required>
<?php
$roller = ['calisan'=>'Çalışan', 'stajyer'=>'Stajyer', 'vardiya_amiri'=>'Vardiya Amiri', 'yonetici'=>'Yönetici', 'mudur'=>'Müdür', 'muhasebe'=>'Muhasebe', 'insan_kaynaklari'=>'İnsan Kaynakları', 'root'=>'Sistem Yöneticisi'];
foreach($roller as $val => $text):
?>
<option value="<?php echo $val; ?>" <?php echo $k['rol'] == $val ? 'selected' : ''; ?>><?php echo $text; ?></option>
<?php endforeach; ?>
</select>
</div>
</div>
<h6 class="text-primary mt-4">Kişisel Bilgiler</h6>
<div class="row mb-3">
<div class="col-md-4"><label class="form-label small">Ad</label><input type="text" name="ad" class="form-control" value="<?php echo htmlspecialchars($k['ad']); ?>" required></div>
<div class="col-md-4"><label class="form-label small">Soyad</label><input type="text" name="soyad" class="form-control" value="<?php echo htmlspecialchars($k['soyad']); ?>" required></div>
<div class="col-md-4"><label class="form-label small">TC No</label><input type="text" name="tc_no" class="form-control" value="<?php echo htmlspecialchars($k['tc_no']); ?>" required></div>
</div>
<div class="row mb-3">
<div class="col-md-3"><label class="form-label small">Doğum Tarihi</label><input type="date" name="dogum_tarihi" class="form-control" value="<?php echo $k['dogum_tarihi']; ?>" required></div>
<div class="col-md-3">
<label class="form-label small">Cinsiyet</label>
<select name="cinsiyet" id="cinsiyetSelect" class="form-select" onchange="toggleSutIzni()">
<option value="Erkek" <?php echo $k['cinsiyet'] == 'Erkek' ? 'selected' : ''; ?>>Erkek</option>
<option value="Kadın" <?php echo $k['cinsiyet'] == 'Kadın' ? 'selected' : ''; ?>>Kadın</option>
</select>
</div>
<div class="col-md-3" id="sutIzniDiv" style="display: none;">
<label class="form-label small text-warning fw-bold">Süt İzni Bitiş</label>
<input type="date" name="sut_izni_bitis" class="form-control" value="<?php echo $k['sut_izni_bitis']; ?>">
</div>
<div class="col-md-3">
<label class="form-label small">Kan Grubu</label>
<select name="kan_grubu" class="form-select">
<option value="">Seçiniz</option>
<?php foreach(['A+','A-','B+','B-','AB+','AB-','0+','0-'] as $grup): ?>
<option value="<?php echo $grup; ?>" <?php echo $k['kan_grubu'] == $grup ? 'selected' : ''; ?>><?php echo $grup; ?></option>
<?php endforeach; ?>
</select>
</div>
</div>
<div class="row mb-3">
<div class="col-md-3"><label class="form-label small">Telefon</label><input type="text" name="telefon" class="form-control" value="<?php echo htmlspecialchars($k['telefon']); ?>"></div>
<div class="col-md-3">
<label class="form-label small fw-bold text-primary">İlk İşe Giriş Tarihi</label>
<input type="date" class="form-control fw-bold border-primary" value="<?php echo $ilk_ise_giris_tarihi; ?>" disabled>
<div class="form-text" style="font-size:0.7rem;">Sisteme ilk kayıt tarihi (Otomatik hesaplanır)</div>
</div>
<div class="col-md-3"><label class="form-label small text-danger">İşten Çıkış</label><input type="date" class="form-control" value="<?php echo $k['isten_cikis_tarihi']; ?>" disabled></div>
<div class="col-md-3">
<label class="form-label small text-success fw-bold">Mevcut Net Maaş</label>
<div class="input-group">
<input type="text" class="form-control fw-bold" value="<?php echo number_format($k['aylik_net_maas'], 2); ?>" disabled>
<span class="input-group-text small">₺</span>
</div>
<div class="form-text" style="font-size:0.7rem;">Değişim için "Maaş Yönetimi"ne gidiniz.</div>
</div>
</div>
<div class="row mb-3">
<div class="col-md-4">
<label class="form-label small">Medeni Hali</label>
<select name="medeni_durum" class="form-select">
<option value="Bekar" <?php echo $k['medeni_durum'] == 'Bekar' ? 'selected' : ''; ?>>Bekar</option>
<option value="Evli" <?php echo $k['medeni_durum'] == 'Evli' ? 'selected' : ''; ?>>Evli</option>
<option value="Dul" <?php echo $k['medeni_durum'] == 'Dul' ? 'selected' : ''; ?>>Dul</option>
<option value="Boşanmış" <?php echo $k['medeni_durum'] == 'Boşanmış' ? 'selected' : ''; ?>>Boşanmış</option>
</select>
</div>
<div class="col-md-4"><label class="form-label small">Çocuk Sayısı</label><input type="number" name="cocuk_sayisi" class="form-control" value="<?php echo $k['cocuk_sayisi']; ?>"></div>
<div class="col-md-4"><label class="form-label small">Email</label><input type="email" name="email" class="form-control" value="<?php echo htmlspecialchars($k['email']); ?>"></div>
</div>
<div class="mb-3"><label class="form-label small">Adres</label><input type="text" name="adres" class="form-control" value="<?php echo htmlspecialchars($k['adres']); ?>"></div>
<div class="row mb-3">
<div class="col-md-8"><label class="form-label small">Fotoğraf</label><input type="file" name="fotograf" class="form-control"></div>
<?php if(!empty($k['fotograf_yolu'])): ?>
<div class="col-md-4 text-center"><img src="../<?php echo $k['fotograf_yolu']; ?>" style="max-height:80px;" class="rounded"></div>
<?php endif; ?>
</div>
<div class="d-grid mt-4"><button type="submit" class="btn btn-primary">Bilgileri Güncelle</button></div>
</form>
</div>
<div class="tab-pane fade" id="donemler">
<div class="row">
<div class="col-md-4 border-end">
<?php if($k['durum'] == 0): ?>
<div class="card border-success mb-3">
<div class="card-header bg-success text-white fw-bold">Personeli Tekrar İşe Al</div>
<div class="card-body">
<form method="POST">
<input type="hidden" name="csrf_token" value="<?php echo csrfTokenOlustur(); ?>">
<input type="hidden" name="islem" value="donem_ekle">
<div class="mb-3">
<label>Yeni İşe Giriş Tarihi</label>
<input type="date" name="yeni_giris_tarihi" class="form-control" value="<?php echo date('Y-m-d'); ?>" required>
</div>
<button type="submit" class="btn btn-success w-100">Dönemi Başlat (Aktif Yap)</button>
</form>
</div>
</div>
<?php else: ?>
<div class="alert alert-info">Personel şu an aktif çalışıyor. Yeni dönem başlatmak için önce mevcut dönemi sonlandırın.</div>
<?php endif; ?>
</div>
<div class="col-md-8">
<div class="d-flex justify-content-between align-items-center mb-2">
<h6>Çalışma Geçmişi</h6>
</div>
<table class="table table-bordered table-hover">
<thead class="table-light">
<tr>
<th>Giriş</th>
<th>Çıkış</th>
<th>Süre</th>
<th>Durum</th>
<th>İşlem</th>
</tr>
</thead>
<tbody>
<?php foreach($donemler as $d):
$giris = new DateTime($d['ise_giris']);
$cikis = $d['isten_cikis'] ? new DateTime($d['isten_cikis']) : new DateTime();
$diff = $giris->diff($cikis);
$sure = $diff->y . " Yıl, " . $diff->m . " Ay";
?>
<tr class="<?php echo $d['aktif_donem']?'table-success':''; ?>">
<td><?php echo date('d.m.Y', strtotime($d['ise_giris'])); ?></td>
<td><?php echo $d['isten_cikis'] ? date('d.m.Y', strtotime($d['isten_cikis'])) : '-'; ?></td>
<td><?php echo $sure; ?></td>
<td><?php echo $d['aktif_donem'] ? '<span class="badge bg-success">Aktif</span>' : '<span class="badge bg-secondary">Kapandı</span>'; ?></td>
<td>
<button type="button" class="btn btn-sm btn-outline-primary"
onclick="donemDuzenle(<?php echo $d['id']; ?>, '<?php echo $d['ise_giris']; ?>', '<?php echo $d['isten_cikis'] ? $d['isten_cikis'] : ''; ?>', '<?php echo htmlspecialchars($d['ayrilma_nedeni'] ?? '', ENT_QUOTES); ?>', <?php echo $d['aktif_donem']; ?>)">
<i class="fas fa-edit"></i>
</button>
<?php if($d['aktif_donem']): ?>
<button type="button" class="btn btn-sm btn-danger ms-1" data-bs-toggle="modal" data-bs-target="#cikisModal<?php echo $d['id']; ?>">Çıkış</button>
<div class="modal fade" id="cikisModal<?php echo $d['id']; ?>" tabindex="-1">
<div class="modal-dialog">
<div class="modal-content">
<form method="POST">
<div class="modal-header bg-danger text-white"><h5 class="modal-title">İşten Çıkış İşlemi</h5></div>
<div class="modal-body">
<input type="hidden" name="csrf_token" value="<?php echo csrfTokenOlustur(); ?>">
<input type="hidden" name="islem" value="donem_bitir">
<input type="hidden" name="donem_id" value="<?php echo $d['id']; ?>">
<div class="mb-3">
<label>Çıkış Tarihi</label>
<input type="date" name="cikis_tarihi" class="form-control" value="<?php echo date('Y-m-d'); ?>" required>
</div>
<div class="mb-3">
<label>Ayrılma Nedeni</label>
<input type="text" name="ayrilma_nedeni" class="form-control" placeholder="İstifa, Çıkarılma vb.">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">İptal</button>
<button type="submit" class="btn btn-danger">Çıkışı Onayla</button>
</div>
</form>
</div>
</div>
</div>
<?php endif; ?>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
</div>
</div>
<div class="tab-pane fade" id="maas">
<div class="row">
<div class="col-md-4 border-end">
<h6 class="text-success"><i class="fas fa-plus-circle me-2"></i> Yeni Maaş / Zam Ekle</h6>
<form method="POST" class="mt-3">
<input type="hidden" name="csrf_token" value="<?php echo csrfTokenOlustur(); ?>">
<input type="hidden" name="islem" value="maas_ekle">
<div class="mb-3">
<label class="form-label small fw-bold">Yeni Net Maaş (TL)</label>
<input type="number" step="0.01" min="0" name="yeni_maas" class="form-control form-control-lg fw-bold border-success" placeholder="Örn: 40000" required>
<div class="form-text">0 TL ve üzeri giriş yapılabilir.</div>
</div>
<div class="mb-3">
<label class="form-label small fw-bold">Geçerlilik Tarihi</label>
<input type="date" name="gecerlilik_baslangic" class="form-control" value="<?php echo date('Y-m-d'); ?>" required>
</div>
<div class="mb-3">
<label class="form-label small">Açıklama</label>
<input type="text" name="aciklama" class="form-control" placeholder="Örn: Yıllık Zam veya Başlangıç Maaşı">
</div>
<div class="d-grid"><button type="submit" class="btn btn-success">Maaşı Ekle</button></div>
</form>
</div>
<div class="col-md-8">
<h6 class="text-secondary"><i class="fas fa-history me-2"></i> Maaş Geçmişi (Başlangıç ve Zamlar)</h6>
<div class="table-responsive mt-3">
<table class="table table-sm table-hover table-bordered align-middle">
<thead class="table-light"><tr><th>Maaş</th><th>Geçerlilik Başlangıcı</th><th>Açıklama</th><th class="text-center">İşlem</th></tr></thead>
<tbody>
<?php foreach($maaslar as $m): ?>
<tr>
<td class="fw-bold"><?php echo number_format($m['maas_miktari'], 2); ?> ₺</td>
<td><?php echo date('d.m.Y', strtotime($m['gecerlilik_baslangic'])); ?></td>
<td><?php echo htmlspecialchars($m['aciklama']); ?></td>
<td class="text-center">
<button type="button" class="btn btn-xs btn-outline-primary"
onclick="maasDuzenle(<?php echo $m['id']; ?>, '<?php echo $m['maas_miktari']; ?>', '<?php echo $m['gecerlilik_baslangic']; ?>', '<?php echo htmlspecialchars($m['aciklama'], ENT_QUOTES); ?>')">
<i class="fas fa-edit"></i>
</button>
<a href="?id=<?php echo $id; ?>&maas_sil=<?php echo $m['id']; ?>" class="btn btn-xs btn-outline-danger" onclick="return confirm('Silmek istediğinize emin misiniz?');"><i class="fas fa-trash"></i></a>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="modal fade" id="maasDuzenleModal" tabindex="-1">
<div class="modal-dialog">
<div class="modal-content">
<form method="POST">
<input type="hidden" name="csrf_token" value="<?php echo csrfTokenOlustur(); ?>">
<input type="hidden" name="islem" value="maas_guncelle">
<input type="hidden" name="maas_kayit_id" id="editMaasId">
<div class="modal-header bg-primary text-white">
<h5 class="modal-title">Maaş Bilgisini Düzenle</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<div class="modal-body">
<div class="mb-3">
<label class="form-label fw-bold">Tutar (TL)</label>
<input type="number" step="0.01" min="0" name="edit_maas" id="editTutar" class="form-control fw-bold" required>
</div>
<div class="mb-3">
<label class="form-label fw-bold">Geçerlilik Başlangıcı</label>
<input type="date" name="edit_tarih" id="editTarih" class="form-control" required>
</div>
<div class="mb-3">
<label class="form-label">Açıklama</label>
<input type="text" name="edit_aciklama" id="editAciklama" class="form-control">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">İptal</button>
<button type="submit" class="btn btn-primary">Değişiklikleri Kaydet</button>
</div>
</form>
</div>
</div>
</div>
<div class="modal fade" id="donemDuzenleModal" tabindex="-1">
<div class="modal-dialog">
<div class="modal-content">
<form method="POST">
<input type="hidden" name="csrf_token" value="<?php echo csrfTokenOlustur(); ?>">
<input type="hidden" name="islem" value="donem_guncelle">
<input type="hidden" name="edit_donem_id" id="editDonemId">
<div class="modal-header bg-warning text-dark">
<h5 class="modal-title">Çalışma Dönemi Tarihlerini Düzenle</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
</div>
<div class="modal-body">
<div class="alert alert-warning small">
<i class="fas fa-exclamation-triangle"></i>
Bu alandaki değişiklikler kıdem yılı hesaplamalarını etkiler.
</div>
<div class="mb-3">
<label class="form-label fw-bold">İşe Giriş Tarihi</label>
<input type="date" name="edit_giris_tarihi" id="editDonemGiris" class="form-control" required>
</div>
<div class="mb-3">
<label class="form-label fw-bold">Çıkış Tarihi</label>
<input type="date" name="edit_cikis_tarihi" id="editDonemCikis" class="form-control">
<div class="form-text text-muted" id="aktifDonemUyari" style="display:none;">Aktif dönem olduğu için çıkış tarihi boş bırakılabilir veya düzenlenebilir.</div>
</div>
<div class="mb-3">
<label class="form-label">Ayrılma Nedeni</label>
<input type="text" name="edit_ayrilma_nedeni" id="editDonemNeden" class="form-control">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">İptal</button>
<button type="submit" class="btn btn-warning">Tarihleri Güncelle</button>
</div>
</form>
</div>
</div>
</div>
<script>
function toggleSutIzni() {
var cinsiyet = document.getElementById('cinsiyetSelect').value;
var div = document.getElementById('sutIzniDiv');
if(cinsiyet === 'Kadın') { div.style.display = 'block'; }
else { div.style.display = 'none'; div.querySelector('input').value = ''; }
}
function maasDuzenle(id, tutar, tarih, aciklama) {
document.getElementById('editMaasId').value = id;
document.getElementById('editTutar').value = tutar;
document.getElementById('editTarih').value = tarih;
document.getElementById('editAciklama').value = aciklama;
new bootstrap.Modal(document.getElementById('maasDuzenleModal')).show();
}
function donemDuzenle(id, giris, cikis, neden, aktif) {
document.getElementById('editDonemId').value = id;
document.getElementById('editDonemGiris').value = giris;
document.getElementById('editDonemCikis').value = cikis;
document.getElementById('editDonemNeden').value = neden;
// Eğer aktif dönemse uyarı göster
if(aktif == 1) {
document.getElementById('aktifDonemUyari').style.display = 'block';
} else {
document.getElementById('aktifDonemUyari').style.display = 'none';
}
new bootstrap.Modal(document.getElementById('donemDuzenleModal')).show();
}
document.addEventListener('DOMContentLoaded', toggleSutIzni);
</script>
<?php include '../includes/footer.php'; ?>