diff --git a/app/Services/Admin/Finance/Payroll/PayrollPeriodService.php b/app/Services/Admin/Finance/Payroll/PayrollPeriodService.php index 08fa797..4086584 100644 --- a/app/Services/Admin/Finance/Payroll/PayrollPeriodService.php +++ b/app/Services/Admin/Finance/Payroll/PayrollPeriodService.php @@ -3,21 +3,18 @@ namespace App\Services\Admin\Finance\Payroll; use App\Concerns\HasRoleChecks; -use App\Enums\CashTransactionType; use App\Enums\PayrollPeriodStatus; use App\Enums\PayrollStatus; use App\Enums\Role; use App\Models\Payroll; use App\Models\PayrollPeriod; -use App\Services\Concerns\HandlesCashTransactions; use App\Services\NotificationService; use Illuminate\Contracts\Pagination\LengthAwarePaginator; -use Illuminate\Support\Facades\DB; use Illuminate\Validation\ValidationException; class PayrollPeriodService { - use HandlesCashTransactions, HasRoleChecks; + use HasRoleChecks; public function paginated(int $perPage = 25, string $search = '', string $sort = 'created_at', string $direction = 'desc', array $filters = [], ?int $highlight = null): LengthAwarePaginator { @@ -126,22 +123,11 @@ public function pay(Payroll $payroll): Payroll ]); } - $payroll = DB::transaction(function () use ($payroll) { - $cashTransaction = $this->debitCash( - amount: $payroll->total_amount, - description: 'Pembayaran gaji karyawan', - type: CashTransactionType::EXPENSE, - ); - - $payroll->update([ - 'status' => PayrollStatus::PAID, - 'cash_transaction_id' => $cashTransaction->id, - 'paid_by_id' => auth()->id(), - 'paid_at' => now(), - ]); - - return $payroll; - }); + $payroll->update([ + 'status' => PayrollStatus::PAID, + 'paid_by_id' => auth()->id(), + 'paid_at' => now(), + ]); $employeeUser = $payroll->employee->user ?? null;