<?php $currency_symbol = $this->customlib->getSchoolCurrencyFormat(); ?>
<style type="text/css">
    @media print {
        .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
            float: left;
        }
        .col-sm-12 {
            width: 100%;
        }
        .col-sm-11 {
            width: 91.66666667%;
        }
        .col-sm-10 {
            width: 83.33333333%;
        }
        .col-sm-9 {
            width: 75%;
        }
        .col-sm-8 {
            width: 66.66666667%;
        }
        .col-sm-7 {
            width: 58.33333333%;
        }
        .col-sm-6 {
            width: 50%;
        }
        .col-sm-5 {
            width: 41.66666667%;
        }
        .col-sm-4 {
            width: 33.33333333%;
        }
        .col-sm-3 {
            width: 25%;
        }
        .col-sm-2 {
            width: 16.66666667%;
        }
        .col-sm-1 {
            width: 8.33333333%;
        }
        .col-sm-pull-12 {
            right: 100%;
        }
        .col-sm-pull-11 {
            right: 91.66666667%;
        }
        .col-sm-pull-10 {
            right: 83.33333333%;
        }
        .col-sm-pull-9 {
            right: 75%;
        }
        .col-sm-pull-8 {
            right: 66.66666667%;
        }
        .col-sm-pull-7 {
            right: 58.33333333%;
        }
        .col-sm-pull-6 {
            right: 50%;
        }
        .col-sm-pull-5 {
            right: 41.66666667%;
        }
        .col-sm-pull-4 {
            right: 33.33333333%;
        }
        .col-sm-pull-3 {
            right: 25%;
        }
        .col-sm-pull-2 {
            right: 16.66666667%;
        }
        .col-sm-pull-1 {
            right: 8.33333333%;
        }
        .col-sm-pull-0 {
            right: auto;
        }
        .col-sm-push-12 {
            left: 100%;
        }
        .col-sm-push-11 {
            left: 91.66666667%;
        }
        .col-sm-push-10 {
            left: 83.33333333%;
        }
        .col-sm-push-9 {
            left: 75%;
        }
        .col-sm-push-8 {
            left: 66.66666667%;
        }
        .col-sm-push-7 {
            left: 58.33333333%;
        }
        .col-sm-push-6 {
            left: 50%;
        }
        .col-sm-push-5 {
            left: 41.66666667%;
        }
        .col-sm-push-4 {
            left: 33.33333333%;
        }
        .col-sm-push-3 {
            left: 25%;
        }
        .col-sm-push-2 {
            left: 16.66666667%;
        }
        .col-sm-push-1 {
            left: 8.33333333%;
        }
        .col-sm-push-0 {
            left: auto;
        }
        .col-sm-offset-12 {
            margin-left: 100%;
        }
        .col-sm-offset-11 {
            margin-left: 91.66666667%;
        }
        .col-sm-offset-10 {
            margin-left: 83.33333333%;
        }
        .col-sm-offset-9 {
            margin-left: 75%;
        }
        .col-sm-offset-8 {
            margin-left: 66.66666667%;
        }
        .col-sm-offset-7 {
            margin-left: 58.33333333%;
        }
        .col-sm-offset-6 {
            margin-left: 50%;
        }
        .col-sm-offset-5 {
            margin-left: 41.66666667%;
        }
        .col-sm-offset-4 {
            margin-left: 33.33333333%;
        }
        .col-sm-offset-3 {
            margin-left: 25%;
        }
        .col-sm-offset-2 {
            margin-left: 16.66666667%;
        }
        .col-sm-offset-1 {
            margin-left: 8.33333333%;
        }
        .col-sm-offset-0 {
            margin-left: 0%;
        }
        .visible-xs {
            display: none !important;
        }
        .hidden-xs {
            display: block !important;
        }
        table.hidden-xs {
            display: table;
        }
        tr.hidden-xs {
            display: table-row !important;
        }
        th.hidden-xs,
        td.hidden-xs {
            display: table-cell !important;
        }
        .hidden-xs.hidden-print {
            display: none !important;
        }
        .hidden-sm {
            display: none !important;
        }
        .visible-sm {
            display: block !important;
        }
        table.visible-sm {
            display: table;
        }
        tr.visible-sm {
            display: table-row !important;
        }
        th.visible-sm,
        td.visible-sm {
            display: table-cell !important;
        }
    }
</style>

<html lang="en">
    <head>
        <title><?php echo $this->lang->line('fees_receipt'); ?></title>
        <link rel="stylesheet" href="<?php echo base_url(); ?>backend/bootstrap/css/bootstrap.min.css"> 
        <link rel="stylesheet" href="<?php echo base_url(); ?>backend/dist/css/AdminLTE.min.css">
    </head>
    <body> 
        <div class="container">

            <div class="row">

                <div id="content" class="col-lg-12 col-sm-12 ">
                    <div class="invoice">
                        <div class="row header text-center">
                            <div class="col-sm-12">
                                <?php
                                if ($settinglist[0]['image'] != "") {
                                    ?>

                                    <img style="height:70px; " src="<?php echo base_url(); ?>/uploads/school_content/logo/<?php echo $settinglist[0]['image']; ?>"> <br/>
                                    <?php
                                }
                                ?>

                                <strong style="font-size: 20px;"><?php echo $settinglist[0]['name']; ?></strong><br>
                                <?php echo $settinglist[0]['address']; ?><br>

                                <?php echo $this->lang->line('phone'); ?>: <?php echo $settinglist[0]['phone']; ?><br>

                            </div><!--/col-->
                        </div>
                            <div class="row" style="text-align:center;">                           
                                <div class="col-xs-12">
                                    <br/>
                                    <address>
                                        <strong><?php 
									   echo $exp_title; ?></strong><br/>                                    
                                        <h4 style="color:blue; font-weight:bold;">FEES SUMMARY DETAILED REPORT</h4><br/>
                                    </address> 
                                </div>
                            </div>

                            <div class="col-xs-6 text-right">
                                <br/>                             
                            </div>
                        </div>
                        <hr style="margin-top: 0px;margin-bottom: 0px;" />
                        <div class="row">
            <div class="detailed-report-container">
        <?php
        // Initialize variables
        $groupedData = array();
        $processedInvoices = array();
        $grandTotalSales = 0;

         // Group data by student
        foreach ($feeList as $rows) {
            // Skip the grand total row and duplicates
            if (($rows['is_total_row'] ?? false)) {
                continue;
            }
            $processedInvoices[$rows['id']] = true;
            
            $studentKey = $rows['student_session_id'] ?? $rows['id']; // Use student_session_id if available
            if (!isset($groupedData[$studentKey])) {
                $groupedData[$studentKey] = array(
                    'name' => ($rows['firstname'] ?? '') . ' ' . ($rows['lastname'] ?? ''),
                    'class' => $rows['class_name'] ?? 'N/A',
                    'section' => $rows['section_name'] ?? 'N/A',
                    'transactions' => array(),
                    'total' => 0
                );
            }
            $groupedData[$studentKey]['transactions'][] = $rows;
            $groupedData[$studentKey]['total'] += $rows['fee_amount'] ?? 0;
            
            $grandTotalSales += $rows['fee_amount'] ?? 0;
            
        }
        ?>

        <?php if (empty($groupedData)): ?>
            <div class="alert alert-info">No fee records found.</div>
        <?php else: ?>
            <?php foreach ($groupedData as $studentId => $studentData): ?>
                <div class="student-section" style="margin-top: 30px; page-break-inside: avoid;">
                    <!-- Student Header -->
                    <h4 style="margin-bottom: 15px; border-bottom: 1px solid #eee; padding-bottom: 8px;">
                        <strong>Student:</strong> <?= htmlspecialchars($studentData['name']) ?>
                        &nbsp; | &nbsp;
                        <strong>Class:</strong> <?= htmlspecialchars($studentData['class']) ?>
                        &nbsp; | &nbsp;
                        <strong>Section:</strong> <?= htmlspecialchars($studentData['section']) ?>
                    </h4>

                    <!-- Student's Fees Table -->
                    <table class="table table-striped table-bordered" style="width: 100%; margin-bottom: 15px;">
                        <thead>
                            <tr>
                                <th style="width: 15%;">Date</th>
                                <th style="width: 15%;">Invoice #</th>
                                <th style="width: 30%;">Fee Group</th>
                                <th style="width: 20%;">Fee Type</th>
                                <th style="width: 30%;" class="text-right">Amount (USD)</th>
                            </tr>
                        </thead>
                        <tbody>
                            <?php foreach ($studentData['transactions'] as $txn): ?>
                                <tr>
                                    <td><?= date($this->customlib->getSchoolDateFormat(), strtotime($txn['created_at'])) ?></td>
                                    <td><?= htmlspecialchars($txn['invoice_number'] ?? '') ?></td>
                                    <td><?= htmlspecialchars($txn['fee_group_name'] ?? '') ?></td>
                                    <td><?= htmlspecialchars($txn['type'] ?? '') ?></td>
                                    <td class="text-right">USD <?= number_format($txn['fee_amount'] ?? 0, 2) ?></td>
                                </tr>
                            <?php endforeach; ?>
                        </tbody>
                    </table>
                    
                    <!-- Student Total -->
                    <div style="text-align: center; margin-top: 8px;">
                        <p>
                            <strong>Closing balance for <?php echo htmlspecialchars($studentData['name']); ?>:</strong>
                            USD <?= number_format($studentData['total'], 2) ?>
                        </p>
                    </div>
                </div>
            <?php endforeach; ?>
            
            <!-- Grand Total Section -->
            <div style="margin-top: 30px;">
                <table class="table table-bordered" style="width: 100%;">
                    <tr style="background-color: #e0e0e0;">
                        <td colspan="3" class="text-right" style="font-weight: bold; font-size: 1.1em;"></td>
                        <td class="text-right" style="font-weight: bold; font-size: 1.1em;">
                           Grand Total: USD <?= number_format($grandTotalSales, 2) ?>
                        </td>
                    </tr>
                </table>
            </div>
        <?php endif; ?>
    </div>
                    </div>
                </div>  
            </div>
        </div>
        <div class="clearfix"></div>
        <footer>           
        </footer>
    </body>
</html>