<?php
include 'koneksi.php';  // Menghubungkan ke database

// Menangani input pencarian untuk bunga
$search_query = "";
if (isset($_POST['search'])) {
    $search_query = mysqli_real_escape_string($conn, $_POST['search']);
}

// Query untuk mengambil data bunga dengan filter pencarian
$query = "SELECT b.id_bunga, b.id_anggota, b.tanggal_bayar, b.nominal, a.nama_anggota 
          FROM bunga b
          JOIN anggota a ON b.id_anggota = a.id_anggota
          WHERE a.nama_anggota LIKE '%$search_query%' OR b.id_bunga LIKE '%$search_query%' 
          ORDER BY b.tanggal_bayar DESC";

$result = mysqli_query($conn, $query);

// Menangani penghapusan bunga
if (isset($_GET['hapus_id'])) {
    $id_bunga = $_GET['hapus_id'];  // Ambil ID bunga dari parameter URL

    // Pastikan ID valid dan angka
    if (is_numeric($id_bunga)) {
        // Query untuk menghapus data bunga berdasarkan ID
        $query_delete = "DELETE FROM bunga WHERE id_bunga = '$id_bunga'";

        if (mysqli_query($conn, $query_delete)) {
            echo "<script>alert('Bunga berhasil dihapus!'); window.location='?pages=bunga';</script>";
        } else {
            echo "<script>alert('Gagal menghapus bunga.'); window.location='?pages=bunga';</script>";
        }
    } else {
        echo "<script>alert('ID bunga tidak valid.'); window.location='?pages=bunga';</script>";
    }
}

// Query untuk memilih anggota dan bunga ke isi input otomatis
if (isset($_POST['submit'])) {
    $id_anggota = $_POST['id_anggota'];
    $tanggal_bayar = $_POST['tanggal_bayar'];

    // Menghapus 'Rp ' dari nominal jika ada
    $nominal = str_replace('Rp ', '', $_POST['nominal']);

    // Periksa apakah data lengkap
    if (empty($id_anggota) || empty($tanggal_bayar) || empty($nominal) || $nominal == '0') {
        echo "<script>alert('Semua kolom harus diisi dengan benar.');</script>";
    } else {
        // Query untuk memasukkan data bunga ke dalam database
        $query_insert = "INSERT INTO bunga (id_anggota, tanggal_bayar, nominal) 
                         VALUES ('$id_anggota', '$tanggal_bayar', '$nominal')";

        if (mysqli_query($conn, $query_insert)) {
            echo "<script>alert('Bunga berhasil ditambahkan!'); window.location='?pages=bunga';</script>";
        } else {
            echo "<script>alert('Gagal menambahkan bunga. Error: " . mysqli_error($conn) . "');</script>";
        }
    }
}

?>
<main class="main-content position-relative border-radius-lg ">
    <div class="container-fluid py-4">
        <div class="header-section">
            <h5 class="page-title">
                <span class="text-white">Bunga</span>
            </h5>
            <div> <button class="btn btn-success-custom" data-bs-toggle="modal" data-bs-target="#addBungaModal">
                    <i class="mdi mdi-plus-circle"></i> Tambah Bunga
                </button>
            </div>
        </div>
        <div class="card shadow-sm rounded-4">
            <div class="card-body">
                <div class="table-responsive">
                    <table id="DataTable" class="table table-hover table-bordered">
                        <thead>
                            <tr>
                                <th>No</th>
                                <th>Anggota</th>
                                <th>Tanggal Bayar</th>
                                <th>Nominal</th>
                                <th class="aksi">Aksi</th>
                            </tr>
                        </thead>
                        <tbody>
                            <?php $no = 1; ?>
                            <?php while ($row = mysqli_fetch_assoc($result)): ?>
                                <tr>
                                    <td><?php echo $no++; ?></td>
                                    <td><?php echo $row['nama_anggota']; ?></td>
                                    <td><?php echo date('d-m-Y', strtotime($row['tanggal_bayar'])); ?></td>
                                    <td>Rp <?php echo number_format($row['nominal'], 0, ',', '.'); ?></td>
                                    <td>
                                        <!-- Link untuk menghapus data bunga -->
                                        <a href="?pages=bunga&hapus_id=<?php echo $row['id_bunga']; ?>" class="btn btn-danger btn-sm" onclick="return confirm('Apakah Anda yakin ingin menghapus bunga ini?')">Hapus</a>
                                    </td>
                                </tr>
                            <?php endwhile; ?>
                        </tbody>
                    </table>
                </div>
            </div>
        </div>
        <!-- Modal untuk tambah Bunga -->
        <div class="modal fade" id="addBungaModal" tabindex="-1" aria-labelledby="addBungaModalLabel" aria-hidden="true">
            <div class="modal-dialog">
                <div class="modal-content">
                    <div class="modal-header">
                        <h5 class="modal-title" id="addBungaModalLabel">Tambah Bunga</h5>
                        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
                    </div>
                    <div class="modal-body">
                        <!-- Formulir untuk menambah bunga -->
                        <form method="POST" action="">
                            <div class="mb-3">
                                <label for="id_anggota" class="form-label">Anggota</label>
                                <select class="form-select" id="id_anggota" name="id_anggota" required onchange="updateNominal()">
                                    <option value="">Pilih Anggota</option>
                                    <?php
                                    // Query untuk mengambil anggota yang memiliki peminjaman
                                    $anggota_result = mysqli_query($conn, "
                                SELECT DISTINCT a.id_anggota, a.nama_anggota, p.jumlah_bunga 
                                FROM anggota a
                                JOIN pinjaman p ON a.id_anggota = p.id_anggota
                            ");
                                    while ($anggota = mysqli_fetch_assoc($anggota_result)): ?>
                                        <option value="<?php echo $anggota['id_anggota']; ?>" data-bunga="<?php echo $anggota['jumlah_bunga']; ?>"><?php echo $anggota['nama_anggota']; ?></option>
                                    <?php endwhile; ?>
                                </select>
                            </div>
                            <div class="mb-3">
                                <label for="nominal" class="form-label">Nominal</label>
                                <!-- Input untuk menampilkan nominal bunga langsung -->
                                <input type="text" id="nominal" class="form-control" name="nominal" readonly>
                            </div>
                            <div class="mb-3">
                                <label for="tanggal_bayar" class="form-label">Tanggal Bayar</label>
                                <input type="date" class="form-control" id="tanggal_bayar" name="tanggal_bayar" required>
                            </div>
                            <button type="submit" name="submit" class="btn btn-primary">Simpan Bunga</button>
                        </form>
                    </div>
                </div>
            </div>


            <script>
                var lastSelectedBunga = ''; // Variabel untuk menyimpan nominal terakhir yang dipilih

                function updateNominal() {
                    var select = document.getElementById('id_anggota');
                    var nominalInput = document.getElementById('nominal');

                    // Ambil data-bunga dari opsi yang dipilih
                    var selectedOption = select.options[select.selectedIndex];
                    var bunga = selectedOption.getAttribute('data-bunga');

                    // Pastikan nominal yang dipilih berbeda dengan yang terakhir dipilih
                    if (bunga !== lastSelectedBunga) {
                        if (bunga !== null && bunga !== '') {
                            nominalInput.value = 'Rp ' + bunga; // Menampilkan nominal dengan format "Rp"
                        } else {
                            nominalInput.value = ''; // Jika tidak ada nilai bunga, kosongkan input nominal
                        }
                        lastSelectedBunga = bunga; // Update nilai bunga terakhir yang dipilih
                    }
                }
            </script>
</main>