From a80f3ce878fc4460d8617fb9f3711d794c98f630 Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Sat, 30 Nov 2024 20:12:03 +0700 Subject: [PATCH] feat: pengeluaran = pengeluaran + penggajian,menambahkan scope ke Payroll model --- .../Admin/Dashboard/AnalyticController.php | 14 ++++++++++++-- .../Admin/Dashboard/OverviewController.php | 7 +++++-- .../Admin/Finance/ExpenseController.php | 4 ++-- app/Models/Payroll.php | 11 +++++++++++ .../views/pages/admin/dashboard/overview.blade.php | 4 ++-- 5 files changed, 32 insertions(+), 8 deletions(-) diff --git a/app/Http/Controllers/Admin/Dashboard/AnalyticController.php b/app/Http/Controllers/Admin/Dashboard/AnalyticController.php index 9c2c74b..b44f5d0 100644 --- a/app/Http/Controllers/Admin/Dashboard/AnalyticController.php +++ b/app/Http/Controllers/Admin/Dashboard/AnalyticController.php @@ -5,6 +5,7 @@ use App\Http\Controllers\Controller; use App\Models\Expense; use App\Models\Inventory; +use App\Models\Payroll; use App\Models\Service; use App\Models\Transaction; use App\Models\User; @@ -20,6 +21,7 @@ public function index(): View { $totalIncome = Transaction::query()->barbershop()->sum('total'); $totalExpense = Expense::query()->barbershop()->sum('amount'); + $totalPayroll = Payroll::query()->barbershop()->sum('total'); $totalShaving = Transaction::query()->barbershop()->count(); $topService = Service::query()->barbershop()->withCount('transactions')->get(); @@ -48,7 +50,7 @@ public function index(): View return view('pages.admin.dashboard.analytic', [ 'pageTitle' => 'Analitik', 'totalIncome' => $totalIncome, - 'totalExpense' => $totalExpense, + 'totalExpense' => $totalExpense + $totalPayroll, 'totalShaving' => $totalShaving, 'topService' => $topService, 'paymentMethod' => $paymentMethod, @@ -82,6 +84,14 @@ public function filter(Request $request): JsonResponse ]) ->sum('amount'); + $totalPayroll = Payroll::query() + ->barbershop() + ->whereBetween('created_at', [ + Carbon::parse($startDate)->startOfDay(), + Carbon::parse($endDate)->endOfDay(), + ]) + ->sum('amount'); + $totalShaving = Transaction::query() ->barbershop() ->whereBetween('created_at', [ @@ -174,7 +184,7 @@ public function filter(Request $request): JsonResponse 'startDate' => $startDate, 'endDate' => $endDate, 'totalIncome' => $totalIncome, - 'totalExpense' => $totalExpense, + 'totalExpense' => $totalExpense + $totalPayroll, 'totalShaving' => $totalShaving, 'topService' => $topService, 'paymentMethod' => $paymentMethod, diff --git a/app/Http/Controllers/Admin/Dashboard/OverviewController.php b/app/Http/Controllers/Admin/Dashboard/OverviewController.php index 9b7e975..16e52c5 100644 --- a/app/Http/Controllers/Admin/Dashboard/OverviewController.php +++ b/app/Http/Controllers/Admin/Dashboard/OverviewController.php @@ -5,6 +5,7 @@ use App\Http\Controllers\Controller; use App\Models\Barbershop; use App\Models\Expense; +use App\Models\Payroll; use App\Models\Transaction; use App\Models\User; use Illuminate\Http\RedirectResponse; @@ -47,6 +48,8 @@ public function index() $todayExpense = Expense::query()->barbershop()->today()->sum('amount'); $yesterdayExpense = Expense::query()->barbershop()->yesterday()->sum('amount'); + $todayPayroll = Payroll::query()->barbershop()->today()->sum('total'); + $yesterdayPayroll = Payroll::query()->barbershop()->yesterday()->sum('amount'); $todayNewCustomer = Transaction::with('customer')->whereDoesntHave('customer.transactions', function ($query) { $query->where('id', '<>', DB::raw('transactions.id')); @@ -87,8 +90,8 @@ public function index() 'yesterdayIncome' => $yesterdayIncome, 'todayShaving' => $todayShaving, 'yesterdayShaving' => $yesterdayShaving, - 'todayExpense' => $todayExpense, - 'yesterdayExpense' => $yesterdayExpense, + 'todayExpense' => $todayExpense + $todayPayroll, + 'yesterdayExpense' => $yesterdayExpense + $yesterdayPayroll, 'todayNewCustomer' => $todayNewCustomer, 'yesterdayNewCustomer' => $yesterdayNewCustomer, 'cash' => Barbershop::findOrFail(Auth::user()->barbershop_id)->cash, diff --git a/app/Http/Controllers/Admin/Finance/ExpenseController.php b/app/Http/Controllers/Admin/Finance/ExpenseController.php index 5c94b94..90ee3b1 100644 --- a/app/Http/Controllers/Admin/Finance/ExpenseController.php +++ b/app/Http/Controllers/Admin/Finance/ExpenseController.php @@ -52,7 +52,7 @@ public function store(ExpenseRequest $request): RedirectResponse $barbershop->decrement('cash', $validatedData['amount']); } - $this->uploadAttachment($validatedData['proof'], 'expenses', Expense::class, $newExpense->id); + $this->uploadAttachment($validatedData['proof'], 'expenses', Expense::class, $newExpense->id, 'expenses'); }); notify()->success('Data berhasil ditambahkan', 'Berhasil'); @@ -88,7 +88,7 @@ public function update(ExpenseRequest $request, Expense $expense): RedirectRespo } if (isset($validatedData['proof'])) { - $this->uploadAttachment($validatedData['proof'], 'expenses', Expense::class, $expense->id); + $this->uploadAttachment($validatedData['proof'], 'expenses', Expense::class, $expense->id, 'expenses'); } }); diff --git a/app/Models/Payroll.php b/app/Models/Payroll.php index de36f89..4b9adec 100644 --- a/app/Models/Payroll.php +++ b/app/Models/Payroll.php @@ -2,6 +2,7 @@ namespace App\Models; +use Carbon\Carbon; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; @@ -32,6 +33,16 @@ public function scopeBarbershop(Builder $query): Builder return $query->where('barbershop_id', Auth::user()->barbershop_id); } + public function scopeToday(Builder $query): Builder + { + return $query->whereDate('created_at', Carbon::today()); + } + + public function scopeYesterday(Builder $query): Builder + { + return $query->whereDate('created_at', Carbon::yesterday()); + } + public function user(): BelongsTo { return $this->belongsTo(User::class); diff --git a/resources/views/pages/admin/dashboard/overview.blade.php b/resources/views/pages/admin/dashboard/overview.blade.php index b0eff63..831c098 100644 --- a/resources/views/pages/admin/dashboard/overview.blade.php +++ b/resources/views/pages/admin/dashboard/overview.blade.php @@ -6,7 +6,7 @@
-
+
@@ -99,7 +99,7 @@
-
+