# Hasil UAT UI Hirarki Uang Muka Supplier (2026-04-16)

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

## 1. Identitas UAT
- Aplikasi: `san_15apr`
- Modul yang diuji: `Uang Muka Supplier`
- URL:
  - `Ledger/viewBalances_l1/RekeningPembantuUangMuka/1010050010?o=-1&periode=full`
  - `Ledger/viewBalances_l1/RekeningPembantuUangMukaMain/1010050020?o=-1&periode=full`
- Tanggal uji: `2026-04-16`
- Penguji: `Codex (static validation)` + `User (manual validation executed)`
- Role penguji: `operasional + holding/management`

## 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 pada URL target.

## 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.
- [x] Layout tetap usable pada viewport kecil/mobile.

Catatan:
- Mapping kartu aktif final:
  - `1010050010` -> Uang Muka Supplier (IDR)
  - `1010050020` -> Uang Muka Supplier (Valas)
- Total aktif terlihat konsisten dengan total semua (mode legacy `show`, tanpa kategori tersembunyi).

### 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. (validasi statis + mekanisme existing)
- [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:
- Evidence query pencarian tersedia pada kedua halaman:
  - `.../RekeningPembantuUangMuka/1010050010?...&q=ridwan`
  - `.../RekeningPembantuUangMukaMain/1010050020?...&q=ali`

### 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 pada sesi uji terlampir.
- [x] Tidak ada anomali tampilan pada URL yang diuji.

## 4. Kriteria Lulus
- [x] Tidak ada error syntax pada file PHP yang diubah.
- [x] Tidak ada regresi fungsi tabel (berdasarkan validasi statis + uji manual terlampir).
- [x] Tidak ada regresi query string filter (berdasarkan validasi statis + uji manual terlampir).
- [x] Tidak ada layout break kritikal di desktop/mobile.
- [x] Bukti screenshot before/after lengkap 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.
- [x] Screenshot desktop sesudah.
- [x] Screenshot mobile sesudah.
- [x] Capture URL saat filter + search aktif:
  - `https://demo.mayagrahakencana.com/san_15apr/Ledger/viewBalances_l1/RekeningPembantuUangMukaMain/1010050020?o=-1&periode=full`
  - `https://demo.mayagrahakencana.com/san_15apr/Ledger/viewBalances_l1/RekeningPembantuUangMuka/1010050010?o=-1&periode=full`
  - `https://demo.mayagrahakencana.com/san_15apr/Ledger/viewBalances_l1/RekeningPembantuUangMuka/1010050010?o=-1&periode=full&q=ridwan`
  - `https://demo.mayagrahakencana.com/san_15apr/Ledger/viewBalances_l1/RekeningPembantuUangMukaMain/1010050020?o=-1&periode=full&q=ali`

## 6. Status Akhir
- Status akhir: `LULUS`.
- Catatan:
  - Implementasi UI-only + mapping data tampilan untuk hirarki uang muka supplier sudah terpasang.
  - Hierarki aktif sudah mencakup `1010050010` (IDR) dan `1010050020` (Valas).
  - Tampilan desktop dan mobile sesuai evidence yang dilampirkan.
- Risiko tersisa:
  - Tidak ada risiko kritikal terbuka pada scope UI-only.
- Next action:
1. Arsip evidence UAT untuk paket handover final.
2. Lanjutkan replikasi pola ke modul berikutnya bila diperlukan.

## 7. Skrip Eksekusi Manual (Urutan Cepat)

Gunakan URL relatif berikut:
1. `Ledger/viewBalances_l1/RekeningPembantuUangMuka/1010050010` (IDR).
2. `Ledger/viewBalances_l1/RekeningPembantuUangMukaMain/1010050020` (Valas).

Urutan uji (10-15 menit):
1. Buka URL `1010050010`.
2. Pastikan panel hirarki uang muka supplier muncul di atas tabel.
3. Pastikan 2 kartu aktif tampil (`1010050010`, `1010050020`).
4. Klik kartu `1010050020`, pastikan pindah ke URL valas yang benar.
5. Uji filter periode, klik `Terapkan`, pastikan URL memuat parameter periode.
6. Isi keyword pada search, submit, pastikan URL memuat `q=...`.
7. Klik reset keyword, pastikan `q` hilang dan periode tetap.
8. Verifikasi sorting/paging/footer tabel tetap jalan.
9. Ulangi langkah inti pada role operasional dan role holding.
10. 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.
- Hak akses tombol export/print sesuai role.
