public function angsuranCreate(): void { $loanId = (int)($_GET['loan_id'] ?? 0); $loan = $this->findLoanAny($loanId); if (!$loan) { flash_set('msg', 'Pinjaman tidak ditemukan.', 'warning'); redirect('/pinjaman/angsuran'); } // ========================================================== // installments // ========================================================== $installments = []; try { if ($this->model && method_exists($this->model, 'listInstallments')) { $installments = $this->model->listInstallments($loanId); } elseif ($this->m && method_exists($this->m, 'listInstallments')) { $installments = $this->m->listInstallments($loanId); } else { // fallback query $st = db()->prepare(" SELECT * FROM loan_installments WHERE loan_id=? ORDER BY pay_date ASC, id ASC "); $st->execute([$loanId]); $installments = $st->fetchAll() ?: []; } } catch (Throwable $e) { $installments = []; } // ========================================================== // [ADDED] ambil akun COA (KeuanganModel / JurnalModel) // ========================================================== $accounts = []; try { if (class_exists('KeuanganModel')) { $keu = new KeuanganModel(); if (method_exists($keu, 'getAccounts')) { $accounts = $keu->getAccounts(); } } if (empty($accounts) && class_exists('JurnalModel')) { $jm = new JurnalModel(); if (method_exists($jm, 'listAccounts')) { $accounts = $jm->listAccounts(); } } } catch (Throwable $e) {} // ========================================================== // akun kas / bank (legacy + baru) // ========================================================== $cashAccounts = $this->getCashBankAccountsAny(); // outstanding info $outstanding = $this->getOutstandingPrincipal($loan); // pilih view $view = 'pinjaman/angsuran_create'; if ($this->model && is_file(APP_PATH . '/views/pinjaman/angsuran_form.php')) { $view = 'pinjaman/angsuran_form'; } // ========================================================== // render // ========================================================== $this->render($view, [ 'title' => 'Bayar Angsuran', // data utama 'loan' => $loan, 'installments' => $installments, 'outstanding' => $outstanding, // ====================================================== // [ADDED] COA + default account // ====================================================== 'accounts' => $accounts, 'defaultPayAccountId' => default_cash_account_id(), 'defaultCashId' => default_cash_account_id(), 'defaultBankId' => default_bank_account_id(), // ====================================================== // legacy & new key (tidak dihapus) // ====================================================== 'cash_accounts' => $cashAccounts, 'cashAccounts' => $cashAccounts, // form default 'form' => [ 'pay_date' => date('Y-m-d'), 'amount_principal' => '', 'amount_interest' => '', 'amount_total' => '', 'auto_split' => 1, 'cash_account_id' => $cashAccounts[0]['id'] ?? '', 'note' => '' ] ]); } Login - Koperasi App

Login