One Hat Cyber Team
Your IP :
3.145.112.55
Server IP :
104.21.16.1
Server :
Linux agrigation-prod 5.15.0-67-generic #74-Ubuntu SMP Wed Feb 22 14:14:39 UTC 2023 x86_64
Server Software :
nginx/1.24.0
PHP Version :
7.4.33
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
forge
/
app.gftag.com
/
app
/
Http
/
Controllers
/
View File Name :
DashboardController.php
<?php namespace App\Http\Controllers; use App\Models\Item; use App\Models\Sale; use App\Models\Organisation; use Illuminate\Http\Request; use App\Models\PurchaseOrderItem; use App\Models\CashBookTransaction; use App\Models\Shareholder; use App\Services\OrganisationService; class DashboardController extends Controller { public function showDashboardStats() { $organisationService = new OrganisationService(); $org_id = $organisationService->getOrganisationByUser(); $organisation_count = Organisation::count(); $fpos = ''; $share_holders = 0; if (auth()->user()->hasRole('admin')) { $saleIds = Sale::pluck('id'); $sales = CashBookTransaction::whereIn('reference_id', $saleIds)->sum('amount'); $invoice_value = Sale::sum('total'); $expense = CashBookTransaction::where('type', 'expense')->sum('amount'); $inTransit = PurchaseOrderItem::where('status', 'pending')->count(); $fpos = Organisation::select('id', 'name')->get(); $items = Item::count(); } else { $saleIds = Sale::where('organisation_id', $org_id)->pluck('id'); $sales = CashBookTransaction::where('organisation_id', $org_id)->whereIn('reference_id', $saleIds)->sum('amount'); $invoice_value = Sale::where('organisation_id', $org_id)->sum('total'); $expense = CashBookTransaction::where('organisation_id', $org_id)->where('type', 'expense')->sum('amount'); $inTransit = PurchaseOrderItem::where('organisation_id', $org_id)->where('status', 'pending')->count(); $items = Item::where('organisation_id', $org_id)->count(); $share_holders = Shareholder::where('organisation_id', $org_id)->count(); } return view('dashboard', [ '$organisation_count' => $organisation_count, 'sales' => $sales, 'expense' => $expense, 'inTransit' => $inTransit, 'items' => $items, 'fpos' => $fpos, 'invoice_value' => $invoice_value, 'share_holders' => $share_holders, ]); } public function filterDashboardStats(Request $request) { $request = $request->all(); $start_date = $request['start_date']; $end_date = $request['end_date']; $preset = $request['preset']; $fpo_id = auth()->user()->hasRole('admin') ? $request['fpo'] : ''; $query = ''; $fpos = ''; if ($start_date && $end_date) { $query = "created_at BETWEEN '$start_date' AND '$end_date'"; } elseif ($start_date && !$end_date) { $query = "created_at <= '$start_date'"; } elseif (!$start_date && $end_date) { $query = "created_at >= '$end_date'"; } if ($preset) { switch ($preset) { case 'this_month': $query = "MONTH(created_at) = " . date('m'); break; case 'last_month': $query = "MONTH(created_at) = " . date('m', strtotime('-1 month')); break; case 'this_year': $query = "YEAR(created_at) = " . date('Y'); break; case 'last_year': $query = "YEAR(created_at) = " . date('Y', strtotime('-1 year')); break; } } $organisationService = new OrganisationService(); $org_id = $organisationService->getOrganisationByUser(); $organisation = Organisation::count(); if (auth()->user()->hasRole('admin')) { $saleIds = Sale::when(isset($fpo_id) && $fpo_id != '', function ($query) use ($fpo_id) { $query->where('organisation_id', $fpo_id); })->pluck('id'); $fpos = Organisation::select('id', 'name')->get(); $sales = CashBookTransaction::when($query, function ($q) use ($query) { $q->whereRaw(ltrim($query, '->')); })->when(isset($fpo_id) && $fpo_id != '', function ($query) use ($fpo_id) { $query->where('organisation_id', $fpo_id); })->whereIn('reference_id', $saleIds)->sum('amount'); $expense = CashBookTransaction::where('type', 'expense')->when($query, function ($q) use ($query) { $q->whereRaw(ltrim($query, '->')); })->when(isset($fpo_id) && $fpo_id != '', function ($query) use ($fpo_id) { $query->where('organisation_id', $fpo_id); })->sum('amount'); $inTransit = PurchaseOrderItem::where('status', 'pending')->when($query, function ($q) use ($query) { $q->whereRaw(ltrim($query, '->')); })->when(isset($fpo_id) && $fpo_id != '', function ($query) use ($fpo_id) { $query->where('organisation_id', $fpo_id); })->count(); $items = Item::when($query, function ($q) use ($query) { $q->whereRaw(ltrim($query, '->')); })->when(isset($fpo_id) && $fpo_id != '', function ($query) use ($fpo_id) { $query->where('organisation_id', $fpo_id); })->count(); $invoice_value = Sale::when($query, function ($q) use ($query) { $q->whereRaw(ltrim($query, '->')); })->when(isset($fpo_id) && $fpo_id != '', function ($query) use ($fpo_id) { $query->where('organisation_id', $fpo_id); })->sum('total'); } else { $saleIds = Sale::where('organisation_id', $org_id)->pluck('id'); $sales = CashBookTransaction::where('organisation_id', $org_id) ->whereIn('reference_id', $saleIds) ->when($query, function ($q) use ($query) { $q->whereRaw(ltrim($query, '->')); }) ->sum('amount'); $expense = CashBookTransaction::where('organisation_id', $org_id)->where('type', 'expense') ->when($query, function ($q) use ($query) { $q->whereRaw(ltrim($query, '->')); }) ->sum('amount'); $inTransit = PurchaseOrderItem::where('organisation_id', $org_id)->where('status', 'pending') ->when($query, function ($q) use ($query) { $q->whereRaw(ltrim($query, '->')); }) ->count(); $invoice_value = Sale::where('organisation_id', $org_id) ->when($query, function ($q) use ($query) { $q->whereRaw(ltrim($query, '->')); })->sum('total'); $items = Item::where('organisation_id', $org_id) ->when($query, function ($q) use ($query) { $q->whereRaw(ltrim($query, '->')); }) ->count(); $share_holders = Shareholder::where('organisation_id', $org_id) ->when($query, function ($q) use ($query) { $q->whereRaw(ltrim($query, '->')); })->count(); } return view('dashboard', [ 'sales' => $sales, 'expense' => $expense, 'inTransit' => $inTransit, 'items' => $items, 'request' => $request, 'fpos' => $fpos, 'invoice_value' => $invoice_value, 'share_holders' => $share_holders ]); } }