58 lines
1.5 KiB
PHP
58 lines
1.5 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace App\Http\Controllers\Admin;
|
||
|
|
|
||
|
|
use Illuminate\Http\Request;
|
||
|
|
use App\Http\Controllers\Controller;
|
||
|
|
use App\Absent;
|
||
|
|
use App\User;
|
||
|
|
use App\Role;
|
||
|
|
use Session;
|
||
|
|
use DB;
|
||
|
|
use Carbon;
|
||
|
|
|
||
|
|
|
||
|
|
class DashboardController extends Controller
|
||
|
|
{
|
||
|
|
/**
|
||
|
|
* Create a new controller instance.
|
||
|
|
*
|
||
|
|
* @return void
|
||
|
|
*/
|
||
|
|
public function __construct()
|
||
|
|
{
|
||
|
|
$this->middleware('auth:admin');
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Show the application dashboard.
|
||
|
|
*
|
||
|
|
* @return \Illuminate\Http\Response
|
||
|
|
*/
|
||
|
|
public function index()
|
||
|
|
{
|
||
|
|
|
||
|
|
$todays_absent_user = DB::table('absents')
|
||
|
|
->join('users', 'absents.user_id', '=', 'users.id')
|
||
|
|
->join('role_user', 'absents.user_id', '=', 'role_user.user_id')
|
||
|
|
->join('roles', 'role_user.role_id', '=', 'roles.id')
|
||
|
|
->select('users.*', 'roles.name as role_name', 'absents.id as absent_id')
|
||
|
|
->orderBy('absents.id', 'desc')
|
||
|
|
->where([['start_date', '<=', date('Y-m-d')],['end_date', '>=', date('Y-m-d')]])
|
||
|
|
->where('users.working_status', '=', '1')
|
||
|
|
->where('users.status', '=', '1')
|
||
|
|
->get();
|
||
|
|
$users = DB::table('users')
|
||
|
|
->join('role_user', 'users.id', '=', 'role_user.user_id')
|
||
|
|
->join('roles', 'role_user.role_id', '=', 'roles.id')
|
||
|
|
->select('users.*', 'roles.id as role_id')
|
||
|
|
->where('users.status', '=', 1)
|
||
|
|
->where('users.working_status', '=', 1)
|
||
|
|
->where('roles.id', '=', 1)
|
||
|
|
->get();
|
||
|
|
|
||
|
|
$roles = Role::orderBy('id', 'asc')->get();
|
||
|
|
return view('admin.home', compact('todays_absent_user', 'users', 'roles'));
|
||
|
|
}
|
||
|
|
}
|