⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.94
Server IP:
178.33.27.10
Server:
Linux cpanel.dev-unit.com 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64
Server Software:
Apache/2.4.57 (Unix) OpenSSL/1.0.2k-fips
PHP Version:
8.2.11
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
id
/
hrms.dev-unit.com
/
app
/
Exports
/
View File Name :
LeaveReportExport.php
<?php namespace App\Exports; use App\Models\Employee; use App\Models\Leave; use App\Models\User; use Maatwebsite\Excel\Concerns\FromCollection; use Maatwebsite\Excel\Concerns\WithHeadings; class LeaveReportExport implements FromCollection, WithHeadings { /** * @return \Illuminate\Support\Collection */ public function collection() { $data = Leave::where('created_by',\Auth::user()->creatorId())->get(); $employees = Employee::where('created_by', \Auth::user()->creatorId())->get(); // $employees = $employees->get(); foreach ($employees as $employee) { $approved = Leave::where('employee_id', $employee->id)->where('status', 'Approved'); $reject = Leave::where('employee_id', $employee->id)->where('status', 'Reject'); $pending = Leave::where('employee_id', $employee->id)->where('status', 'Pending'); $totalApproved = $totalReject = $totalPending = 0; $approved = $approved->count(); $reject = $reject->count(); $pending = $pending->count(); $totalApproved += $approved; $totalReject += $reject; $totalPending += $pending; $employeeLeave['approved'] = $approved; $employeeLeave['reject'] = $reject; $employeeLeave['pending'] = $pending; $leaves[] = $employeeLeave; } foreach ($data as $k => $leave) { $user_id = $leave->employees->user_id; // $user_id = $leave->employees != null ? $leave->employees->user_id : 0; $user = User::where('id', $user_id)->first(); $data[$k]["employee_id"] = !empty($leave->employees) ? User::employeeIdFormat($leave->employees->employee_id) : ''; $data[$k]["employee"] = (!empty($leave->employees->name)) ? $leave->employees->name : ''; $data[$k]["approved_leaves"] = $leaves[$k]['approved'] == 0 ? '0' : $leaves[$k]['approved']; $data[$k]["rejected_leaves"] = $leaves[$k]['reject'] == 0 ? '0' : $leaves[$k]['reject']; $data[$k]["pending_leaves"] = $leaves[$k]['pending'] == 0 ? '0' : $leaves[$k]['pending']; unset($data[$k]['id'], $data[$k]['leave_type_id'], $data[$k]['start_date'], $data[$k]['end_date'], $data[$k]['applied_on'], $data[$k]['total_leave_days'], $data[$k]['leave_reason'], $data[$k]['created_at'], $data[$k]['created_by'], $data[$k]['remark'], $data[$k]['status'], $data[$k]['updated_at'], $data[$k]['account_id']); } return $data; } public function headings(): array { return [ "Employee ID", "Employee", "Approved Leaves ", "Rejected Leaves", "Pending Leaves", ]; } }