feat(payroll): membuat scope paid dan menerapkan nya di analisa

This commit is contained in:
Yoga Pangestu 2025-11-16 17:25:40 +07:00
parent adb8676ac3
commit 8b700bd388
2 changed files with 9 additions and 0 deletions

View File

@ -264,6 +264,7 @@ protected function loadData()
'value' => currency(
Payroll::when(! empty($outletIds), fn ($q) => $q->whereHas('user.outlets', fn ($q2) => $q2->whereIn('outlets.id', $outletIds)))
->when($dateQuery || ($startDate && $endDate), $filterDate)
->paid()
->sum('total_salary'),
'Rp'
),

View File

@ -4,6 +4,8 @@
use App\Enums\IsPaid;
use Dyrynda\Database\Support\CascadeSoftDeletes;
use Illuminate\Database\Eloquent\Attributes\Scope;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
@ -30,6 +32,12 @@ protected function casts(): array
];
}
#[Scope]
public function paid(Builder $query): void
{
$query->where('is_paid', IsPaid::PAID->value);
}
public function user(): BelongsTo
{
return $this->belongsTo(User::class);