V1rus Private
User / IP
:
216.73.217.108
Host / Server
:
190.92.174.125 / aerosofthealthcare.com
System
:
Linux s3739.bom1.stableserver.net 4.18.0-513.24.1.lve.2.el8.x86_64 #1 SMP Fri May 24 12:42:50 UTC 2024 x86_64
Cmd
|
Upload
|
Mass Deface
|
Create
|
Sym
:
/
home
/
aerosoft
/
public_html
/
InventorySystem
/
Viewing: sale_report_process.php
<?php $page_title = 'Daily Financial Report Results'; require_once('includes/load.php'); page_require_level(3); // Check if form was submitted if(isset($_POST['submit'])) { // Get form data $store_id = (int)$_POST['store_id']; $month = $db->escape($_POST['month']); $year = $db->escape($_POST['year']); $opening_balance = (float)$_POST['opening_balance']; $report_type = $db->escape($_POST['report_type']); // Validate required fields if(empty($month) || empty($year)) { $session->msg('d', "Month and Year are required."); redirect('sales_report.php', false); } // Get current store name global $db; $store_sql = "SELECT store_name FROM stores WHERE id = '{$store_id}'"; $store_result = $db->query($store_sql); $store_name = $store_result ? $store_result->fetch_assoc()['store_name'] : 'Unknown Store'; // Get number of days in the selected month $number_of_days = cal_days_in_month(CAL_GREGORIAN, $month, $year); // Initialize arrays to store daily data $daily_data = []; // Calculate data for each day of the month for($day = 1; $day <= $number_of_days; $day++) { $current_date = "{$year}-{$month}-" . sprintf('%02d', $day); $next_date = "{$year}-{$month}-" . sprintf('%02d', $day + 1); // Calculate opening balance (for first day, use provided opening balance) if($day == 1) { $daily_opening = $opening_balance; } else { $prev_date = "{$year}-{$month}-" . sprintf('%02d', $day - 1); $daily_opening = $daily_data[$prev_date]['closing'] ?? $opening_balance; } // Get inward value (products added on this day) $inward_sql = "SELECT SUM(sale_price * quantity) as inward_value FROM products WHERE store_id = '{$store_id}' AND DATE(date) = '{$current_date}'"; $inward_result = $db->query($inward_sql); $inward_value = $inward_result ? ($inward_result->fetch_assoc()['inward_value'] ?? 0) : 0; // Get actual sale value (regular sales only) $sales_sql = "SELECT SUM(total) as actual_sale_value FROM sales WHERE store_id = '{$store_id}' AND DATE(date) = '{$current_date}' AND is_transferred_out = 0"; $sales_result = $db->query($sales_sql); $actual_sale_value = $sales_result ? ($sales_result->fetch_assoc()['actual_sale_value'] ?? 0) : 0; // Get transferred stock value IN (products marked as transferred on this day) $transferred_in_sql = "SELECT SUM(sale_price * quantity) as transferred_in_value FROM products WHERE store_id = '{$store_id}' AND DATE(date) = '{$current_date}' AND is_transferred = 1"; $transferred_in_result = $db->query($transferred_in_sql); $transferred_in_value = $transferred_in_result ? ($transferred_in_result->fetch_assoc()['transferred_in_value'] ?? 0) : 0; // Get transferred stock value OUT (transferred out sales on this day) $transferred_out_sql = "SELECT SUM(total) as transferred_out_value FROM sales WHERE store_id = '{$store_id}' AND DATE(date) = '{$current_date}' AND is_transferred_out = 1"; $transferred_out_result = $db->query($transferred_out_sql); $transferred_out_value = $transferred_out_result ? ($transferred_out_result->fetch_assoc()['transferred_out_value'] ?? 0) : 0; // Get online payment (online sales on this day) $online_sql = "SELECT SUM(total) as online_payment FROM sales WHERE store_id = '{$store_id}' AND DATE(date) = '{$current_date}' AND payment_type = 'online'"; $online_result = $db->query($online_sql); $online_payment = $online_result ? ($online_result->fetch_assoc()['online_payment'] ?? 0) : 0; // Get expense (from ledger table on this day) $expense_sql = "SELECT SUM(amount) as expense FROM ledger WHERE store_id = '{$store_id}' AND DATE(date) = '{$current_date}' AND type = 'expense'"; $expense_result = $db->query($expense_sql); $expense = $expense_result ? ($expense_result->fetch_assoc()['expense'] ?? 0) : 0; // Calculate closing balance (Night Cash) $closing = $daily_opening + $actual_sale_value + $transferred_in_value - $transferred_out_value - $expense; // Store daily data $daily_data[$current_date] = [ 'date' => $current_date, 'opening' => $daily_opening, 'inward_value' => $inward_value, 'actual_sale_value' => $actual_sale_value, 'transferred_in_value' => $transferred_in_value, 'transferred_out_value' => $transferred_out_value, 'closing' => $closing, 'online_payment' => $online_payment, 'expense' => $expense ]; } } else { // If form wasn't submitted, redirect back $session->msg('d', "Please fill out the report form."); redirect('sales_report.php', false); } ?> <?php include_once('layouts/header.php'); ?> <div class="row"> <div class="col-md-12"> <?php echo display_msg($msg); ?> </div> </div> <!-- Report Header --> <div class="row"> <div class="col-md-12"> <div class="panel panel-default"> <div class="panel-heading clearfix"> <strong> <span class="glyphicon glyphicon-calendar"></span> <span>Daily Financial Report - <?php echo $store_name; ?></span> </strong> <div class="pull-right"> <button class="btn btn-success" onclick="window.print()"> <span class="glyphicon glyphicon-print"></span> Print Report </button> </div> </div> <div class="panel-body"> <div class="row"> <div class="col-md-6"> <p><strong>Report Period:</strong> <?php echo date('F Y', strtotime($year . '-' . $month . '-01')); ?></p> <p><strong>Store:</strong> <?php echo $store_name; ?> (ID: <?php echo $store_id; ?>)</p> <p><strong>Opening Balance (Month Start):</strong> ₹<?php echo number_format($opening_balance, 2); ?></p> </div> <div class="col-md-6"> <p><strong>Generated On:</strong> <?php echo date('M j, Y g:i A'); ?></p> <p><strong>Total Days:</strong> <?php echo $number_of_days; ?></p> <p><strong>Closing Balance (Month End):</strong> ₹<?php echo number_format(end($daily_data)['closing'] ?? 0, 2); ?></p> </div> </div> </div> </div> </div> </div> <!-- Monthly Summary Cards --> <div class="row"> <div class="col-md-2"> <div class="panel panel-primary"> <div class="panel-heading"> <div class="row"> <div class="col-xs-12 text-center"> <div class="huge">₹<?php echo number_format(array_sum(array_column($daily_data, 'actual_sale_value')), 2); ?></div> <div>Total Sales</div> </div> </div> </div> </div> </div> <div class="col-md-2"> <div class="panel panel-success"> <div class="panel-heading"> <div class="row"> <div class="col-xs-12 text-center"> <div class="huge">₹<?php echo number_format(array_sum(array_column($daily_data, 'inward_value')), 2); ?></div> <div>Total Inward</div> </div> </div> </div> </div> </div> <div class="col-md-2"> <div class="panel panel-info"> <div class="panel-heading"> <div class="row"> <div class="col-xs-12 text-center"> <div class="huge">₹<?php echo number_format(array_sum(array_column($daily_data, 'transferred_in_value')), 2); ?></div> <div>Transferred IN</div> </div> </div> </div> </div> </div> <div class="col-md-2"> <div class="panel panel-warning"> <div class="panel-heading"> <div class="row"> <div class="col-xs-12 text-center"> <div class="huge">₹<?php echo number_format(array_sum(array_column($daily_data, 'transferred_out_value')), 2); ?></div> <div>Transferred OUT</div> </div> </div> </div> </div> </div> <div class="col-md-2"> <div class="panel panel-green"> <div class="panel-heading"> <div class="row"> <div class="col-xs-12 text-center"> <div class="huge">₹<?php echo number_format(array_sum(array_column($daily_data, 'online_payment')), 2); ?></div> <div>Online Payments</div> </div> </div> </div> </div> </div> <div class="col-md-2"> <div class="panel panel-danger"> <div class="panel-heading"> <div class="row"> <div class="col-xs-12 text-center"> <div class="huge">₹<?php echo number_format(array_sum(array_column($daily_data, 'expense')), 2); ?></div> <div>Total Expenses</div> </div> </div> </div> </div> </div> </div> <!-- Daily Financial Report Table --> <div class="row"> <div class="col-md-12"> <div class="panel panel-default"> <div class="panel-heading clearfix"> <strong> <span class="glyphicon glyphicon-th"></span> <span>Daily Financial Breakdown - <?php echo date('F Y', strtotime($year . '-' . $month . '-01')); ?></span> </strong> </div> <div class="panel-body"> <div class="table-responsive"> <table class="table table-bordered table-striped"> <thead> <tr> <th class="text-center">DATE</th> <th class="text-center">OPENING</th> <th class="text-center">INWARD VALUE</th> <th class="text-center">ACTUAL SALE VALUE</th> <th class="text-center">TRANSFERRED STOCK VALUE (IN)</th> <th class="text-center">TRANSFERRED STOCK VALUE (OUT)</th> <th class="text-center">CLOSING (NIGHT CASH)</th> <th class="text-center">ONLINE PAYMENT</th> <th class="text-center">EXPENSE</th> <th class="text-center">Action</th> </tr> </thead> <tbody> <?php if(!empty($daily_data)): ?> <?php foreach ($daily_data as $date => $data): ?> <tr> <td class="text-center"><?php echo date('M j, Y', strtotime($date)); ?></td> <td class="text-center">₹<?php echo number_format($data['opening'], 2); ?></td> <td class="text-center">₹<?php echo number_format($data['inward_value'], 2); ?></td> <td class="text-center">₹<?php echo number_format($data['actual_sale_value'], 2); ?></td> <td class="text-center">₹<?php echo number_format($data['transferred_in_value'], 2); ?></td> <td class="text-center">₹<?php echo number_format($data['transferred_out_value'], 2); ?></td> <td class="text-center"><strong>₹<?php echo number_format($data['closing'], 2); ?></strong></td> <td class="text-center">₹<?php echo number_format($data['online_payment'], 2); ?></td> <td class="text-center">₹<?php echo number_format($data['expense'], 2); ?></td> <td class="text-center"> <a href="daily_sales.php?date=<?php echo $date; ?>" class="btn btn-info btn-xs" title="View Day Details" target="_blank"> <span class="glyphicon glyphicon-eye-open"></span> View </a> </td> </tr> <?php endforeach; ?> <?php else: ?> <tr> <td colspan="10" class="text-center">No data found for the selected month.</td> </tr> <?php endif; ?> </tbody> <!-- Monthly Total Row --> <tfoot> <tr style="background-color: #f8f9fa; font-weight: bold;"> <td class="text-center"><strong>TOTAL</strong></td> <td class="text-center">-</td> <td class="text-center">₹<?php echo number_format(array_sum(array_column($daily_data, 'inward_value')), 2); ?></td> <td class="text-center">₹<?php echo number_format(array_sum(array_column($daily_data, 'actual_sale_value')), 2); ?></td> <td class="text-center">₹<?php echo number_format(array_sum(array_column($daily_data, 'transferred_in_value')), 2); ?></td> <td class="text-center">₹<?php echo number_format(array_sum(array_column($daily_data, 'transferred_out_value')), 2); ?></td> <td class="text-center">-</td> <td class="text-center">₹<?php echo number_format(array_sum(array_column($daily_data, 'online_payment')), 2); ?></td> <td class="text-center">₹<?php echo number_format(array_sum(array_column($daily_data, 'expense')), 2); ?></td> <td class="text-center">-</td> </tr> </tfoot> </table> </div> </div> </div> </div> </div> <!-- Print Styles --> <style> @media print { .panel-heading .pull-right, .btn { display: none !important; } .panel { border: 1px solid #ddd !important; } .huge { font-size: 24px !important; } .table { font-size: 12px !important; } } </style> <div class="row"> <div class="col-md-12 text-center"> <a href="sales_report.php" class="btn btn-primary"> <span class="glyphicon glyphicon-arrow-left"></span> Back to Report Generator </a> <button class="btn btn-success" onclick="window.print()"> <span class="glyphicon glyphicon-print"></span> Print Report </button> </div> </div> <?php include_once('layouts/footer.php'); ?>
Coded With 💗 by
HanzOFC