63 lines
3.1 KiB
PHP
63 lines
3.1 KiB
PHP
<?php
|
|
require __DIR__.'/../vendor/autoload.php';
|
|
$app = require_once __DIR__.'/../bootstrap/app.php';
|
|
$kernel = $app->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";
|
|
}
|