Commission Report

Commission Report: '.$dateFrom." → ".$dateTo.'
'; $conn = new mysqli($GLOBALS['host'], $GLOBALS['user'], $GLOBALS['pass'], $GLOBALS['db']); if ($conn->connect_error) die("Connection failed: " . $conn->connect_error); $loginId = $_SESSION['user_id'] ?? 0; // ---- Slab setup for ACC opening commission ---- $daysDiff = (strtotime($dateTo) - strtotime($dateFrom)) / (60*60*24); if ($daysDiff >= 300) { // 1 year $slabs = [ ['min'=>50, 'max'=>99, 'commission'=>45], ['min'=>100,'max'=>199, 'commission'=>70], ['min'=>200,'max'=>499, 'commission'=>110], ['min'=>500,'max'=>1000, 'commission'=>150], ['min'=>1001,'max'=>9999999,'commission'=>200], ]; } else { // 6 months $slabs = [ ['min'=>50, 'max'=>99, 'commission'=>20], ['min'=>100,'max'=>199, 'commission'=>30], ['min'=>200,'max'=>499, 'commission'=>50], ['min'=>500,'max'=>1000, 'commission'=>70], ['min'=>1001,'max'=>9999999,'commission'=>100], ]; } // ---- Base Query for collection ---- $sql = "SELECT u.user_id, u.user_name, u.comi_rate, COALESCE(SUM(t.AT_AMOUNT),0) as total_amount FROM `".$GLOBALS['arif_users']."` u LEFT JOIN `".$GLOBALS['arif_ac']."` a ON u.user_id = a.AA_AGENT LEFT JOIN `".$GLOBALS['arif_tran']."` t ON a.AA_ACNO = t.AT_ACID AND t.AT_TIMESTAMP BETWEEN '".$dateFrom." 00:00:00' AND '".$dateTo." 23:59:59' WHERE u.type = 'agent'"; if ($isAgent) $sql .= " AND u.user_id = '".$loginId."'"; $sql .= " GROUP BY u.user_id, u.user_name, u.comi_rate ORDER BY u.user_name ASC"; $result = $conn->query($sql); echo '
'; if (!$isAgent) echo ''; echo ''; $grandCollection = $grandSelfCom = $grandReferCom = 0; if ($result && $result->num_rows > 0) { while($row = $result->fetch_assoc()) { $agentId = $row['user_id']; $collection = floatval($row['total_amount']); $selfCom = ($collection * floatval($row["comi_rate"]))/100; // ---- ACC Open Commission ---- $refQuery = "SELECT COALESCE(SUM(t.AT_AMOUNT),0) AS refer_total FROM `".$GLOBALS['arif_ac']."` a LEFT JOIN `".$GLOBALS['arif_tran']."` t ON a.AA_ACNO = t.AT_ACID AND t.AT_TIMESTAMP BETWEEN '".$dateFrom." 00:00:00' AND '".$dateTo." 23:59:59' WHERE a.AA_AGENT = '".$agentId."'"; $refRes = $conn->query($refQuery); $referCollection = 0; if ($refRes && $refRes->num_rows > 0) $referCollection = floatval($refRes->fetch_assoc()['refer_total']); $referCom = 0; foreach ($slabs as $s) { if ($referCollection >= $s['min'] && $referCollection <= $s['max']) { $referCom = $s['commission']; break; } } $totalCom = $selfCom + $referCom; $grandCollection += $collection; $grandSelfCom += $selfCom; $grandReferCom += $referCom; echo ""; if (!$isAgent) echo ""; echo ""; } } else { $colspan = $isAgent ? 4 : 6; echo ""; } if (!$isAgent) { echo ""; } echo '
Agent IDAgent NameTotal CollectionCollection CommissionACC Open CommissionTotal Commission
{$agentId}{$row['user_name']}".number_format($collection,2)." ".number_format($selfCom,2)." ".number_format($referCom,2)." ".number_format($totalCom,2)."
No agents found
Grand Total: ".number_format($grandCollection,2)." ".number_format($grandSelfCom,2)." ".number_format($grandReferCom,2)." ".number_format($grandSelfCom+$grandReferCom,2)."
'; $conn->close(); } // ---- Call commission function ---- commission_report($dFrom, $dTo, $isAgent); ?>