make(Illuminate\Contracts\Console\Kernel::class); $kernel->bootstrap(); use Illuminate\Support\Facades\DB; // 1. Get current employees $currentEmployees = DB::table('employees') ->leftJoin('users', 'employees.user_id', '=', 'users.id') ->leftJoin('employee_salaries', 'employees.user_id', '=', 'employee_salaries.employee_id') ->select('employees.id as emp_id', 'users.name', 'users.email', 'employees.employee_id as custom_employee_id', 'employees.user_id', 'employee_salaries.pay_frequency', 'employee_salaries.basic_salary') ->get(); echo "=== Current Employees & Salaries ===\n"; foreach ($currentEmployees as $emp) { echo "ID: {$emp->user_id} | Name: {$emp->name} | Frequency: {$emp->pay_frequency} | Rate/Base: {$emp->basic_salary}\n"; } // 2. Query legacy database users and payroll records echo "\n=== Legacy Database Check ===\n"; try { $legacyUsers = DB::connection('legacy')->table('users')->get(); echo "Legacy Users Count: " . $legacyUsers->count() . "\n"; foreach ($legacyUsers as $lUser) { // Find match in current $match = $currentEmployees->first(function($item) use ($lUser) { return strtolower($item->email) === strtolower($lUser->email) || strtolower($item->name) === strtolower($lUser->name); }); if ($match) { echo "\n--------------------------------------------------\n"; echo "Employee: {$lUser->name} (Legacy ID: {$lUser->id}) -> Current ID: {$match->user_id}\n"; // Check legacy payroll records $records = DB::connection('legacy')->table('payroll_records') ->join('payroll_periods', 'payroll_records.payroll_period_id', '=', 'payroll_periods.id') ->where('payroll_records.user_id', $lUser->id) ->select('payroll_records.*', 'payroll_periods.start_date', 'payroll_periods.end_date', 'payroll_periods.name as period_name') ->get(); echo "Payroll records found in legacy database: " . $records->count() . "\n"; foreach ($records as $rec) { echo " Period: {$rec->period_name} ({$rec->start_date} to {$rec->end_date})\n"; echo " Expected Hours: {$rec->expected_hours} | Rendered Hours: {$rec->total_rendered_hours} | Days Worked: {$rec->days_worked} | Absents: {$rec->absent_days}\n"; echo " Gross Pay: {$rec->gross_earning} | Net Pay: {$rec->net_pay} | Deductions: {$rec->total_deduction}\n"; // Get record items (earnings/deductions) $items = DB::connection('legacy')->table('payroll_record_items') ->where('payroll_record_id', $rec->id) ->get(); echo " Items:\n"; foreach ($items as $item) { echo " - {$item->type}: {$item->salary_component_name} = {$item->amount}\n"; } } } } } catch (\Exception $e) { echo "Error querying legacy database: " . $e->getMessage() . "\n"; }