« Back to History
cash_attendance_salary_helper.php
|
20260721_154032.php
Initial Bulk Import
Copy Code
<?php /** * Calculate salary from manual_attendance_data * for ACTIVE + CASH employees only * * @return array[] */ function get_cash_attendance_salary( PDO $pdo, int $company_id, array $cashEmployees, // from get_active_cash_employees() string $from_date, // YYYY-MM-DD string $to_date // YYYY-MM-DD ): array { $out = []; $sql = " SELECT employee_id, employee_name, department, role, per_day, total_attendance, salary FROM manual_attendance_data WHERE company_id = ? AND employee_id = ? AND period_start >= ? AND period_end <= ? "; $st = $pdo->prepare($sql); foreach ($cashEmployees as $emp) { $st->execute([ $company_id, $emp['employee_id'], $from_date, $to_date ]); foreach ($st as $r) { if ((float)$r['salary'] <= 0) { continue; } $out[] = [ 'employee_id' => (int)$r['employee_id'], 'employee_name' => $r['employee_name'], 'department' => $r['department'], 'designation' => $r['role'], 'per_day' => (float)$r['per_day'], 'attendance' => (float)$r['total_attendance'], 'amount' => (float)$r['salary'], 'source' => 'ATTENDANCE' ]; } } return $out; }