# Hasil UAT UI Hirarki Hutang Dagang Supplier (2026-04-16)

Dokumen ini adalah hasil eksekusi dari `UAT_QUICKCHECK_UI_HIRARKI_KEUANGAN.md` untuk modul hutang supplier.

## 1. Identitas UAT
- Aplikasi: `san_15apr`
- Modul yang diuji: `Hutang Supplier`
- URL:
  - `Ledger/viewBalances_l1/RekeningPembantuSupplier/2010010`
  - `Ledger/viewBalances_l1/RekeningPembantuSupplier/2010020`
  - `Ledger/viewBalances_l1/RekeningPembantuSupplier/2010030`
  - `Ledger/viewBalances_l1/RekeningPembantuSupplier/2010040`
- Tanggal uji: `2026-04-16`
- Penguji: `Codex (static validation)` + `User (manual validation executed)`
- Role penguji: `manual desktop/mobile + cross-role executed`

## 2. Ringkasan Metode Uji
- Metode 1: validasi statis via inspeksi kode.
- Metode 2: syntax check PHP (`php -l`) untuk file yang diubah.
- Metode 3: uji manual browser desktop/mobile dan cross-role sudah dieksekusi.

## 3. Hasil Quickcheck

### 3.1 Prasyarat
- [x] Data saldo tersedia pada minimal 2 kategori kartu.
- [x] Role operasional bisa membuka halaman.
- [x] Role holding/management bisa membuka halaman.
- [x] Query string dasar siap dipakai (`?o=<cabang>&w=<gudang>`), dipertahankan oleh builder URL existing.

### 3.2 UAT Visual Ringkas
- [x] Panel hirarki tampil di atas tabel.
- [x] Kartu utama tampil sesuai mapping akun modul.
- [x] Nilai saldo utama terlihat dominan dan terbaca.
- [x] Badge total muncul dan konsisten dengan kartu aktif.
- [x] Catatan mode aktif muncul.
- [x] Layout tetap rapi pada desktop 1366x768.
- [x] Layout tetap usable pada viewport kecil 390x844.

Catatan:
- Mapping kartu aktif final:
  - `2010010` -> Hutang Usaha
  - `2010020` -> Hutang Sewa
  - `2010030` -> Hutang Aktiva Tetap
  - `2010040` -> Hutang Biaya (ke supplier)

### 3.3 UAT Interaksi Ringkas
- [x] Filter periode berubah dan URL ikut update (`periode`, `thn`, `bln`, `date`).
- [x] Search keyword berfungsi dan URL memuat parameter `q`.
- [x] Tombol reset keyword menghapus `q` tanpa merusak filter periode.
- [x] Klik kartu berpindah ke URL detail yang benar.
- [x] Tombol export/print tetap tampil sesuai hak role.
- [x] Sorting, paging, dan footer total tabel tetap normal.

Catatan:
- Koreksi sudah diterapkan agar saldo kartu hutang mengikuti posisi normal akun (`kredit - debet`), sehingga selaras dengan nilai tabel.

### 3.4 UAT Cross-Role Ringkas
- [x] Role operasional: panel + tabel + tombol sesuai hak akses.
- [x] Role holding/management: panel + tabel + tombol sesuai hak akses.
- [x] Tidak ada error JS/PHP saat pindah role.
- [x] Tidak ada perbedaan anomali tampilan antar role.

## 4. Kriteria Lulus
- [x] Tidak ada error syntax pada file PHP yang diubah.
- [x] Tidak ada regresi fungsi tabel (berdasarkan validasi statis).
- [x] Tidak ada regresi query string filter (berdasarkan validasi statis).
- [x] Tidak ada layout break kritikal di desktop/mobile.
- [x] Bukti screenshot before/after tersedia.

## 5. Bukti Teknis
- [x] `php -l application/controllers/Ledger.php` -> no syntax errors.
- [x] `php -l application/views/ledger.php` -> no syntax errors.
- [x] Screenshot desktop sebelum. (evidence dari user, 2026-04-16)
- [x] Screenshot desktop sesudah. (evidence dari user, 2026-04-16)
- [x] Screenshot mobile sesudah. (evidence dari user, 2026-04-16)
- [x] Capture URL saat filter + search aktif:
  - `https://demo.mayagrahakencana.com/san_15apr/Ledger/viewBalances_l1/RekeningPembantuSupplier/2010010?o=-1&periode=bulanan&thn=2026&bln=4&q=`
  - `https://demo.mayagrahakencana.com/san_15apr/Ledger/viewBalances_l1/RekeningPembantuSupplier/2010010?o=-1&periode=bulanan&thn=2026&bln=4&q=booil%20safes`

## 6. Status Akhir
- Status akhir: `LULUS`.
- Catatan:
  - Implementasi UI-only + mapping data tampilan untuk hirarki hutang supplier sudah terpasang.
  - Catatan user tentang nilai minus pada kartu sudah diperbaiki di perhitungan saldo panel.
  - `2010040` sudah diposisikan sebagai hutang biaya ke supplier.
- Risiko tersisa:
  - Tidak ada risiko kritikal terbuka dari scope UI-only.
- Next action:
1. Arsipkan evidence UAT pada paket handover implementasi.
2. Lanjutkan pola implementasi yang sama untuk modul berikutnya.

## 7. Skrip Eksekusi Manual (Urutan Cepat)

Gunakan URL relatif berikut:
1. `Ledger/viewBalances_l1/RekeningPembantuSupplier/2010010` (Hutang Usaha).
2. `Ledger/viewBalances_l1/RekeningPembantuSupplier/2010020` (Hutang Sewa).
3. `Ledger/viewBalances_l1/RekeningPembantuSupplier/2010030` (Hutang Aktiva Tetap).
4. `Ledger/viewBalances_l1/RekeningPembantuSupplier/2010040` (Hutang Biaya).

Urutan uji (10-15 menit):
1. Buka URL `2010010`.
2. Pastikan panel hirarki hutang supplier muncul di atas tabel.
3. Pastikan 4 kartu aktif tampil (`2010010`, `2010020`, `2010030`, `2010040`).
4. Klik masing-masing kartu, pastikan pindah ke URL akun yang benar.
5. Uji filter periode `Tahunan`, klik `Terapkan`, pastikan URL memuat `periode=tahunan`.
6. Uji filter periode `Bulanan`, set `thn` dan `bln`, klik `Terapkan`.
7. Isi keyword pada search, submit, pastikan URL memuat `q=...`.
8. Klik reset keyword, pastikan `q` hilang dan periode tetap.
9. Verifikasi sorting/paging/footer tabel tetap jalan.
10. Ulangi langkah inti pada role operasional dan role holding.
11. Ambil screenshot desktop before/after + mobile + capture URL filter/search.

Expected result:
- Tidak ada error PHP/JS.
- Tidak ada layout pecah pada panel, filter, dan tabel.
- Saldo kartu hutang sejalan dengan total tabel sesuai posisi normal akun.
- Hak akses tombol export/print sesuai role.
