﻿﻿??????????????
﻿﻿??????????????
<?php
include('session.php');
include 'connection.php';

if (isset($_GET['idk'])) {
    $delsql = "DELETE FROM extra_fee WHERE id=" . $_GET['idk'];
    $conn->query($delsql);
    exit;
}

// Generate next Extra Fee No (query MAX from extra_fee table)
$extraRes = $conn->query("SELECT MAX(CAST(extra_fee_no AS UNSIGNED)) as max_no FROM extra_fee");
$maxRow = $extraRes->fetch_assoc();
$maxNo = $maxRow['max_no'] ?? 0;
$nextExtraNo = str_pad($maxNo + 1, 3, '0', STR_PAD_LEFT);

$user = 'xceljsr_db';
$password = 'xcel@123#$';
$database = 'xceljsr_db';
$servername = 'localhost';
$mysqli = new mysqli($servername, $user, $password, $database);

// Checking for connections
if ($mysqli->connect_error) {
    die('Connect Error (' . $mysqli->connect_errno . ') ' . $mysqli->connect_error);
}

// Use the userid (username) directly from session
$userId = mysqli_real_escape_string($mysqli, $_SESSION['uid']);
$sql10 = "SELECT * FROM extra_fee WHERE addedby = '$userId' ORDER BY id DESC";
$result10 = $mysqli->query($sql10);

$a = 0;
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Create Extra Fee | Xcel Training Institute</title>
    <!-- Favicon icon -->
    <link rel="icon" type="image/png" href="../images/logo-wide.png">
    <!-- Base Styling  -->
    <link rel="stylesheet" href="assets/main/css/fonts.css">
    <link rel="stylesheet" href="assets/main/css/style.css">
    <script src="https://code.jquery.com/jquery-3.6.4.min.js" integrity="sha256-oP6HI9z1XaZNBrJURtCoUT5SUnxFr8s3BzRl+cbzUq8=" crossorigin="anonymous"></script>
    <style>
    .btn{
            background-color: red;
            border: none;
            color: white;
            padding: 5px 5px;
            text-align: center;
            text-decoration: none;
            display: inline-block;
            font-size: 20px;
            margin: 4px 2px;
            cursor: pointer;
            border-radius: 20px;
        }
        .green{
            background-color: #199319;
        }
        .red{
            background-color: red;
        }

        .suggestion-list { border:1px solid #ccc; background:#fff; position:absolute; z-index:1000; width:100%; display:none; }
        .suggestion-item { padding:5px; cursor:pointer; }
        .suggestion-item:hover { background:#f0f0f0; }
    </style>
</head>

<body>
    <div id="main-wrapper" class="show">

      <?php include "sidebar.php"; ?>

      <?php include "header.php"; ?>

      <div class="content-body">
        <div class="warper container-fluid">
            <div class="new-patients main_container">

       <div class="row">
                        <div class="col-lg-12">
                            <div class="card">
                                <div class="card-header">
                                    <h4 class="card-title">Create Extra Fee Receipt</h4>
                                </div>
                                <div class="card-body">
                                    <div class="basic-form">

                                    <form action="insert_extra_fee.php" method="post">

                                    <!-- Admission No -->
                                    <div class="form-group position-relative col-xl-4">
                                        <label class="form-label">Admission No</label>
                                        <input type="text" class="form-control" id="admission_no" name="admission_no" autocomplete="off">
                                        <div id="admission_list" class="suggestion-list"></div>
                                    </div>

                                    <h5>Student Details</h5>
                                    <div class="row">
                                        <div class="col-xl-4">
                                            <label>Student Name</label>
                                            <input type="text" class="form-control" name="student_name" id="student_name" readonly>
                                        </div>
                                        <div class="col-xl-4">
                                            <label>Father's Name</label>
                                            <input type="text" class="form-control" name="fathers_name" id="fathers_name" readonly>
                                        </div>
                                        <div class="col-xl-4">
                                            <label>Mobile No</label>
                                            <input type="text" class="form-control" name="mobile_no" id="mobile_no" readonly>
                                        </div>
                                        <div class="col-xl-4">
                                            <label>Course Name</label>
                                            <input type="text" class="form-control" name="course_name" id="course_name" readonly>
                                        </div>
                                    </div>

                                    <h5 class="mt-3">Extra Fee</h5>
                                    <div class="row">
                                        <div class="col-xl-4">
                                            <label>Payment For</label>
                                            <select class="form-control" name="payment_for" id="payment_for">
                                                <option value="">Select</option>
                                                <option value="Hostel Fee">Hostel Fee</option>
                                                <option value="Exam Fee">Exam Fee</option>
                                                <option value="Food Fee">Food Fee</option>
                                                <option value="Other">Other</option>
                                            </select>
                                        </div>
                                        <div class="col-xl-4">
                                            <label>Reason</label>
                                            <input type="text" class="form-control" name="reason" id="reason">
                                        </div>
                                        <div class="col-xl-4">
                                            <label>Extra Paid Fee</label>
                                            <input type="text" class="form-control" name="extra_paid_fee" id="extra_paid_fee" readonly>
                                            <input type="hidden" id="original_extra_paid_fee"> <!-- Hidden for original value -->
                                        </div>
                                    </div>

                                    <h5 class="mt-3">Payment Details</h5>
                                    <div class="row">
                                        <div class="col-xl-4">
                                            <label>Extra Fee No</label>
                                            <input type="text" class="form-control" name="extra_fee_no" value="<?php echo $nextExtraNo; ?>" readonly>
                                        </div>

                                        <div class="col-xl-4">
                                            <label>Received Amount</label>
                                            <input type="number" step="0.01" class="form-control" name="received_amount" id="received_amount">
                                        </div>
                                        
                                        <div class="col-xl-4">
                                            <label>Payment Mode</label>
                                            <select class="form-control" name="payment_mode" id="payment_mode">
                                                <option value="">Select</option>
                                                <option value="Cash">Cash</option>
                                                <option value="Online">Online</option>
                                                <option value="Check">Check</option>
                                            </select>
                                        </div>
                                        
                                        <div class="col-xl-4">
                                            <label>Date</label>
                                            <input type="date" class="form-control" name="payment_date" value="<?php echo date('Y-m-d'); ?>">
                                        </div>
                                        <div class="col-xl-4">
                                            <label>Transaction ID</label>
                                            <input type="text" class="form-control" name="transaction_id">
                                        </div>
                                        
                                        <div class="col-xl-4">
                                            <label>Bank/UPI</label>
                                            <input type="text" class="form-control" name="bank_upi">
                                        </div>
                                    </div>

                                    <div class="form-group text-right mt-3">
                                        <button type="submit" class="btn btn-primary">Create Extra Fee</button>
                                    </div>
                                </form>
                                    </div>
                                </div>
                            </div>
                        </div>

                         <div class="col-md-12">
                            <div class="card shadow">
                                <div class="card-header">
                                    <h4 class="card-title">Extra Fees</h4>
                                </div>
                                <div class="card-body">
                                    <div class="table-responsive">
                                        <table id="example1" class="display nowrap">
                                            <thead>
                                                <tr>
                                                    <th>S.No.</th>
                                                    <th>Extra Fee No</th>
                                                    <th>Admission No</th>
                                                    <th>Student Name</th>
                                                    <th>Payment For</th>
                                                    <th>Received Amount</th>
                                                    <th>Date</th>
                                                    <th>Action</th>
                                                </tr>
                                            </thead>
                                            <tbody>
                                    <?php while($row = $result10->fetch_assoc()) { ?>
                                        <tr id="<?php echo $row['id']; ?>">
                                            <td><?php echo ++$a ?></td>
                                            <td><?php echo $row['extra_fee_no']; ?></td>
                                            <td><?php echo $row['admission_no']; ?></td>
                                            <td><?php echo $row['student_name']; ?></td>
                                            <td><?php echo $row['payment_for']; ?></td>
                                            <td><?php echo $row['received_amount']; ?></td>
                                            <td><?php echo $row['payment_date']; ?></td>
                                            <td>
                                                <a class="mr-4 check" href="edit-extra-fee.php?id=<?php echo $row['id']; ?>" title="UPDATE">
                                                    <span class="fas fa-edit"></span>
                                                </a>

                                                <a href="javascript:void(0);"
                                                   class="mr-4 check remove"
                                                   data-id="<?php echo $row['id']; ?>">
                                                    <span class="fas fa-trash-alt"></span>
                                                </a>

                                                <a class="mr-4 check" href="extra-fee-receipt.php?id=<?php echo $row['id']; ?>" title="View Receipt">
                                                    <span class="fas fa-receipt"></span>
                                                </a>
                                            </td>
                                        </tr>
                                    <?php } ?>
                                    </tbody>
                                        </table>
                                    </div>
                                </div>
                            </div>
                        </div>

                    </div>

                </div>
            </div>
        </div>
        <!-- End section content -->

        <?php include('footer.php'); ?>

    </div>

    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script>
    $(document).on("click", ".remove", function(){
        var id = $(this).data("id");
        var row = $(this).closest("tr");

        if(confirm("Are you sure you want to delete this extra fee record? This will subtract the amount from the accounts table.")){
            $.ajax({
                url: "delete-extra-fee.php",
                type: "POST",
                data: { id: id },
                success: function(response){
                    alert(response);
                    row.fadeOut(500, function(){
                        $(this).remove();
                    });
                },
                error: function(){
                    alert("Error deleting record. Please try again.");
                }
            });
        }
    });
    </script>
   
   <script>
$(document).ready(function(){
    $("#admission_no").keyup(function(){
        var query = $(this).val();
        if(query != ''){
            $.post("search_admission.php", {query:query}, function(data){
                $("#admission_list").html(data).fadeIn();
            });
        } else {
            $("#admission_list").fadeOut();
        }
    });

    $(document).on('click', '.admission_item', function(){
        var admission_no = $(this).data('no');
        console.log('Selected Admission No:', admission_no);  // DEBUG: Log selected value

        $.post("search_admission.php", {admission_no:admission_no}, function(data){
            console.log('Student Data Received:', data);  // DEBUG: Log raw student data
            var student;
            try {
                student = JSON.parse(data);
            } catch (e) {
                console.error('Error parsing student JSON:', e);  // DEBUG: If JSON invalid
                return;
            }

            $("#admission_no").val(student.admission_no);
            $("#student_name").val(student.student_name);
            $("#fathers_name").val(student.fathers_name);
            $("#mobile_no").val(student.contact_personal);
            $("#course_name").val(student.course);
            $("#admission_list").fadeOut();

            // Fetch extra paid fee from accounts table
            console.log('Fetching extra fee for Admission No:', admission_no);  // DEBUG: Before second AJAX
            $.post("fetch_account_extra.php", {admission_no: admission_no})
            .done(function(accountData){  // Success handler
                console.log('Extra Fee Data Received:', accountData);  // DEBUG: Log raw account data (object or string)
                
                var account;
                if (jQuery.isPlainObject(accountData)) {
                    // Already parsed by jQuery (JSON header detected)
                    account = accountData;
                    console.log('Using pre-parsed Account Object:', account);  // DEBUG
                } else if (typeof accountData === 'string') {
                    // Manual parse if string (no JSON header)
                    try {
                        account = JSON.parse(accountData);
                        console.log('Parsed Account Object from String:', account);  // DEBUG
                    } catch (e) {
                        console.error('Error parsing extra fee JSON string:', e, accountData);
                        alert('Error parsing extra fee data. Check console.');
                        account = { extra_fee: 0 };  // Fallback
                    }
                } else {
                    // Unexpected type (e.g., HTML error page)
                    console.error('Unexpected extra fee response type:', typeof accountData, accountData);
                    alert('Unexpected response from server. Check console.');
                    account = { extra_fee: 0 };  // Fallback
                }

                if (account.error) {
                    console.warn('Extra Fee API Error:', account.error);  // DEBUG: If PHP returns error
                    var initialExtra = 0;
                } else {
                    var initialExtra = parseFloat(account.extra_fee) || 0;
                }

                $("#extra_paid_fee").val(initialExtra.toFixed(2));
                $("#original_extra_paid_fee").val(initialExtra.toFixed(2));  // For calculations

                // Clear received amount when a new student is selected
                $("#received_amount").val('');
                console.log('Extra Paid Fee Set To:', initialExtra.toFixed(2));  // DEBUG: Final value

            })
            .fail(function(xhr, status, error){  // Error handler
                console.error('AJAX Error Fetching Extra Fee:', status, error, xhr.responseText);  // DEBUG: Network/PHP error
                alert('Failed to fetch extra fee data: ' + error + '. Check if fetch_account_extra.php exists and DB is connected.');
                $("#extra_paid_fee").val('0.00');  // Fallback
                $("#original_extra_paid_fee").val('0.00');
            });
        })
        .fail(function(xhr, status, error){  // Error for student fetch (unlikely since it works)
            console.error('Student Fetch Error:', status, error);
            alert('Error fetching student details.');
        });
    });

    // Update Extra Paid Fee dynamically when received_amount changes
    $("#received_amount").on('input', function(){
        var receivedAmount = parseFloat($(this).val()) || 0;
        var originalExtra = parseFloat($("#original_extra_paid_fee").val()) || 0;

        var newExtra = originalExtra + receivedAmount;
        $("#extra_paid_fee").val(newExtra.toFixed(2));
    });

    // Auto-fill Transaction ID and Bank/UPI when Payment Mode is Cash
    $("#payment_mode").on('change', function(){
        var mode = $(this).val();
        if(mode === 'Cash'){
            $("input[name='transaction_id']").val('NA');
            $("input[name='bank_upi']").val('NA');
        }
    });
});
</script>

    <!-- popper js -->
    <script src="assets/plugins/popper/popper.min.js"></script>

    <!-- Bootstrap -->
    <script src="assets/plugins/bootstrap/js/bootstrap.js"></script>

    <!-- Moment -->
    <script src="assets/plugins/moment/moment.min.js"></script>

    <!-- Date Range Picker -->
    <script src="assets/plugins/daterangepicker/daterangepicker.min.js"></script>

    <!-- Datatable -->
    <script src="assets/plugins/datatables/jquery.dataTables.min.js"></script>
    <script src="assets/js/init-tdatatable.js"></script>

    <!-- Chart js -->
    <script src="assets/plugins/chart/chart/Chart.min.js"></script>
    <script src="assets/js/charts-custom.js"></script>

    <!-- Main Custom JQuery -->
    <script src="assets/js/toggleFullScreen.js"></script>
    <script src="assets/js/main.js"></script>

</body>
</html>