« Back to History
pissing_salary_total.php
|
20260721_154033.php
Initial Bulk Import
Copy Code
<?php /** * Pissing Salary – FINAL total amount * Logic EXACTLY matches the new report (beam_load_data & beam_load_data_2) */ function get_pissing_salary_total( PDO $pdo, int $company_id, string $from, string $to ): float { $total_amount = 0.0; /* ===================================================== PART 1 : beam_load_data join pissing_rate ===================================================== */ $sql1 = " SELECT COUNT(*) AS qty, r.rate FROM beam_load_data b JOIN pissing_rate r ON r.quality_id = b.quality_id AND r.company_id = b.company_id WHERE b.company_id = :cid AND b.load_type = 'pissing' AND b.event_type = 'loaded' AND b.load_date BETWEEN :sd AND :ed GROUP BY b.quality_id, r.rate "; $st1 = $pdo->prepare($sql1); $st1->execute([ ':cid' => $company_id, ':sd' => $from, ':ed' => $to ]); foreach ($st1->fetchAll(PDO::FETCH_ASSOC) as $r) { $total_amount += (int)$r['qty'] * (float)$r['rate']; } /* ===================================================== PART 2 : beam_load_data_2 join pissing_quality ===================================================== */ $sql2 = " SELECT COUNT(*) AS qty, pq.rate FROM beam_load_data_2 b2 JOIN pissing_quality pq ON pq.id = b2.quality_id AND pq.company_id = b2.company_id AND pq.is_active = 1 WHERE b2.company_id = :cid AND b2.load_type = 'pissing' AND b2.event_type = 'loaded' AND b2.load_date BETWEEN :sd AND :ed GROUP BY pq.id, pq.rate "; $st2 = $pdo->prepare($sql2); $st2->execute([ ':cid' => $company_id, ':sd' => $from, ':ed' => $to ]); foreach ($st2->fetchAll(PDO::FETCH_ASSOC) as $r) { $total_amount += (int)$r['qty'] * (float)$r['rate']; } return (float)round($total_amount, 2); }