prepare($sql); $stmt->bind_param("i", $user_id); $stmt->execute(); $result = $stmt->get_result(); $supply_stats = $result->fetch_assoc(); // Get total payments received - all time - FIXED with direct query $sql = "SELECT COALESCE(SUM(amount), 0) as total_paid, COUNT(*) as payment_count FROM payment_settlements WHERE supplier_id = ?"; $stmt = $conn->prepare($sql); $stmt->bind_param("i", $user_id); $stmt->execute(); $result = $stmt->get_result(); $payment_stats = $result->fetch_assoc(); // Calculate pending $pending_amount = $supply_stats['total_supply'] - $payment_stats['total_paid']; // Get recent supplies $sql = "SELECT s.*, f.fish_name, f.fish_name_tamil FROM supply s LEFT JOIN fish_types f ON s.fish_id = f.fish_id WHERE s.supplier_id = ? ORDER BY s.created_at DESC LIMIT 5"; $stmt = $conn->prepare($sql); $stmt->bind_param("i", $user_id); $stmt->execute(); $result = $stmt->get_result(); $recent_supplies = []; while ($row = $result->fetch_assoc()) { $recent_supplies[] = $row; } } elseif ($role === 'manager' || $role === 'admin') { // ADMIN/MANAGER DASHBOARD // Get today's sales $sql = "SELECT COALESCE(SUM(total_amount), 0) as today_sales, COUNT(*) as sale_count FROM sales WHERE DATE(sale_date) = CURDATE()"; $result = $conn->query($sql); $today_sales = $result->fetch_assoc(); // Get this month's sales $sql = "SELECT COALESCE(SUM(total_amount), 0) as month_sales FROM sales WHERE MONTH(sale_date) = MONTH(CURDATE()) AND YEAR(sale_date) = YEAR(CURDATE())"; $result = $conn->query($sql); $month_sales = $result->fetch_assoc(); // Get pending payments - FIXED with subqueries $sql = "SELECT COUNT(*) as supplier_count, COALESCE(SUM(pending), 0) as total_pending FROM ( SELECT u.user_id, COALESCE((SELECT SUM(total_amount) FROM supply WHERE supplier_id = u.user_id), 0) - COALESCE((SELECT SUM(amount) FROM payment_settlements WHERE supplier_id = u.user_id), 0) as pending FROM users u WHERE u.role = 'supplier' AND u.status = 'active' ) as pending_calc WHERE pending > 0"; $result = $conn->query($sql); $pending_payments = $result->fetch_assoc(); // Get total supply cost this month $sql = "SELECT COALESCE(SUM(total_amount), 0) as month_supply FROM supply WHERE MONTH(supply_date) = MONTH(CURDATE()) AND YEAR(supply_date) = YEAR(CURDATE())"; $result = $conn->query($sql); $month_supply = $result->fetch_assoc(); // Get total expenses this month $sql = "SELECT COALESCE(SUM(total_amount), 0) as month_expenses FROM expenses WHERE MONTH(expense_date) = MONTH(CURDATE()) AND YEAR(expense_date) = YEAR(CURDATE())"; $result = $conn->query($sql); $month_expenses = $result->fetch_assoc(); // Calculate profit $month_profit = $month_sales['month_sales'] - $month_supply['month_supply'] - $month_expenses['month_expenses']; // Get recent activity $sql = "SELECT * FROM activity_logs ORDER BY created_at DESC LIMIT 10"; $result = $conn->query($sql); $recent_activity = []; while ($row = $result->fetch_assoc()) { $recent_activity[] = $row; } } // Get recent activity for current user $sql = "SELECT * FROM activity_logs WHERE user_id = ? ORDER BY created_at DESC LIMIT 10"; $stmt = $conn->prepare($sql); $stmt->bind_param("i", $user_id); $stmt->execute(); $result = $stmt->get_result(); $user_activity = []; while ($row = $result->fetch_assoc()) { $user_activity[] = $row; } } catch (Exception $e) { $error = "Error loading dashboard: " . $e->getMessage(); } $page_title = 'Dashboard'; require_once __DIR__ . '/includes/header.php'; ?>

🏠 Dashboard

My Total Supply
All time total
My Pending Payment
Amount owed to me

Quick Actions

📦 Add Supply 📋 View My Supplies 📊 My Report

Recent Activity

Action Table Time

📅 Today's Sales

transactions today

This Month's Sales
Total revenue
Supply Cost
This month
Expenses
This month
= 0 ? 'Profit' : 'Loss'; ?>
This month
0): ?>

⚠️ Pending Supplier Payments

suppliers have pending payments totaling

View Pending Payments

Quick Actions

💰 Add Sale 📦 Add Supply 💸 Add Expense 💵 Settle Payment 📊 View Reports 👤 Add User

Recent Activity

Action Table Time