Demo — Indent Unit
Panduan demo per alur untuk modul Indent Unit: buku pesanan unit yang belum tersedia di cabang. Setiap alur menyebut siapa yang mengerjakan (role), langkahnya, dan tangkapan layar halaman yang dilihat. Tiga jenis indent: Indent Real (punya pelanggan dan transaksi), IBD dan Indent Fiktif (hanya data konsumen).
Semua gambar diambil dari build develop yang berjalan dengan data uji (database terpisah, satu akun per role, cabang Cabang E2E A).
Cara membaca gambar
- Kotak biru = tombol atau kolom yang diklik atau diisi.
- Kotak hijau = hasil yang benar; kotak merah = ditolak atau gagal.
- Kotak ungu = keterangan tambahan.
- Pita hitam di bawah gambar = alur dan role yang sedang berjalan.
Akun yang dipakai
| Role | Nama | Username | Dipakai di alur |
|---|---|---|---|
| ADH | Sri Wahyuni | e2e_adh | 1, 2, 4, 6 |
| Admin H1 | Rina Marlina | e2e_admin_h1 | 3, 5 |
| Kepala Cabang | Dewi Lestari | e2e_kepala_cabang | 7 |
| Admin PDI | Agus Salim | e2e_admin_pdi | 8 |
| Sales | Budi Santoso | e2e_sales | 8 |
Password semua akun uji sama.
Siapa boleh apa
| Kegiatan | Role |
|---|---|
| Melihat daftar, tambah, ubah, import indent | Superadmin, Kepala Cabang, Admin PDI, Admin H1, ADH |
| Ubah Status (batalkan) | Superadmin, Kepala Cabang, Admin H1, ADH |
| Buat Transaksi dari indent (tombol di daftar) | Admin H1 (alur 5), ADH dan Kepala Cabang (tombol terlihat di daftar); Admin PDI tidak punya tombol ini (alur 8) |
| Membatalkan transaksi yang melekat pada indent | Kepala Cabang, SPV, ADH, Kawil (teks dialog pada alur 4.1) |
| Halaman indent | Tidak diizinkan untuk Sales (alur 8), SPV dan Kawil (alur 9): halaman menampilkan "Tidak diizinkan" |
Semua baris di atas diamati di layar; daftar peran yang boleh membatalkan transaksi dikutip dari teks dialog, tidak dijalankan satu per satu.
Alur satu halaman
Tambah Indent (real / IBD / fiktif) -> Daftar Indent Unit -> Input DO asal Indent
| | |
Import Excel / CSV Ubah Status Buat Transaksi (IBD / fiktif)
(Batal Indent -> Batalan)
1. Melihat daftar Indent Unit
Role: ADH (Sri Wahyuni)
- Login, buka Drop Order → Indent Unit.
- Daftar memuat No Indent, Tgl Indent, Status, Konsumen, Tipe Unit, DO MPM, Cabang, Diinput Oleh, dan tombol aksi per baris.
- Kolom DO MPM terisi bila indent sudah dipenuhi DO (tanggal DO dan keterangan *Belum datang* / *Datang ...*).

2. Filter: Belum ada DO, Terlama dulu
Role: ADH (Sri Wahyuni)
- Pada Semua pemenuhan pilih Belum ada DO. Status otomatis menjadi Semua aktif.
- Pada urutan pilih Terlama dulu.
- Indent yang paling lama menunggu unit tampil di atas (di demo: 2026-08-12).
Filter lain di baris yang sama: cari no indent / nama konsumen, status, tipe unit, rentang tanggal indent.

3. Tambah Indent Real
Role: Admin H1 (Rina Marlina)
- Indent Unit → Tambah Indent. Status Indent bawaan Indent Real.
- Isi No Indent (
IN/nomor/kode dealer/bulan/tahun; bulan dan tahun harus sama dengan Tanggal Indent), Tanggal Indent, Tipe Unit. Cabang terisi otomatis dari akun yang login. - Pilih Pelanggan. Bila datanya belum lengkap, muncul peringatan merah berikut bidang yang kosong dan tautan Lengkapi data; indent real ditolak sampai dilengkapi.

- Pilih pelanggan yang lengkap (di demo: Slamet Riyadi), isi Tipe Pembayaran (Tunai / Kredit / KDS; Kredit meminta Finco), lalu Simpan.

- Indent muncul di daftar dan baris itu langsung punya tombol Transaksi: transaksi dibuat bersama indent.

- Tombol Transaksi membuka transaksinya (no kontrak
E2E-A/2026/tunai/0003; unit *Belum ada unit — indent IN/...*).

Penolakan: no indent tidak cocok dengan tanggal
Bulan/tahun pada no indent (01/2026) berbeda dari Tanggal Indent (Oktober 2026): kolom No Indent ditolak dengan pesan *Bulan dan tahun pada no indent harus sama dengan tanggal indent*.

4. Ubah status indent lewat dialog
Role: ADH (Sri Wahyuni)
4.1 Ditolak: transaksi masih hidup
- Pada baris indent real yang punya transaksi, tekan Ubah Status.
- Dialog memberi tahu indent masih punya transaksi aktif (no kontrak ditampilkan), transaksi harus dibatalkan dulu oleh Kepala Cabang, SPV, ADH, atau Kawil. Tombol Simpan mati.

4.2 Indent tanpa transaksi
- Pada indent fiktif tekan Ubah Status. Pilihan: Batal Indent atau Batalan.

- Simpan: status menjadi Batal Indent (toast "Status ... diperbarui"). Tombol Ubah Status masih ada karena Batal Indent masih bisa menjadi Batalan.

- Ubah sekali lagi ke Batalan: status final, tidak ada tombol Ubah Status lagi. Baris hanya punya Lihat.

5. Buat Transaksi dari IBD / Indent Fiktif
Role: Admin H1 (Rina Marlina)
- Indent IBD dan fiktif belum punya transaksi, jadi barisnya memuat tombol Buat Transaksi.

- Form Transaksi Baru terbuka dengan Indent terkunci (unit belum datang). Pilih Pelanggan (tidak ikut terisi dari indent), Tipe Pembayaran, lalu Simpan.

- Kembali ke daftar indent: tombol pada baris itu kini Transaksi.

6. Ubah indent
Role: ADH (Sri Wahyuni)
- Pada baris tekan Ubah.
- Jenis (Status Indent) dan Cabang tidak bisa diubah. Yang bisa diubah: no indent, tanggal, tipe unit, ETD, tanggal pembelian, jenis pelanggan, dan data pelanggan / konsumen sesuai jenis. Di demo: Tanggal ETD dan Kecamatan.

- Indent yang sudah batal hanya bisa dilihat: judul Detail Indent, semua kolom mati, pesan *Indent sudah batal, data tidak dapat diubah*.

7. Import Excel / CSV
Untuk memasukkan banyak indent sekaligus. Preview dulu, baru konfirmasi.
Role: Kepala Cabang (Dewi Lestari)
- Di daftar tekan Import; Unduh Template menyediakan
template-indent-unit.xlsx.

- Unggah file. Kolom CSV:
no_indent, tgl_indent, jenis, kode_unit, kode_warna, jenis_pelanggan, tgl_etd, tgl_pembelian, pelanggan_no_telp, pelanggan_nama, sales_username, tipe_pembayaran, finco, nama_konsumen, alamat_konsumen, kelurahan_desa_konsumen, kec_konsumen, kab_kota_konsumen, no_telp_konsumen. Contoh file gagal (3 baris):
`` IN/3112001/E2E/10/2026,2026-10-06,real,K1BJ21N1,BK01,personal,2026-11-20,,081200000001,,,cash,... IN/3112004/E2E/10/2026,2026-10-08,ibd,XXXXXXX,BK01,personal,,,,,,,,Rudi Hartono,... IN/3112005/E2E/03/2026,2026-10-08,fiktif,K1BJ21N1,BK01,,,,,,,,,Display Maret,... ``
- Preview Baru 0, Diubah 0, Sama 0, Gagal 3; Konfirmasi Import mati. Alasan di kolom Pesan: baris real tanpa
pelanggan_nama, kode unit tidak ada di master, bulan/tahun no indent tidak cocok.

- Setelah file diperbaiki (real dengan
Slamet Riyadi, satu IBD, satu fiktif, dan satu barisIN/3111002/...yang hanya mengisi alamat): Baru 3, Diubah 1, Sama 0, Gagal 0. Baris yang diubah menyebut kolom yang berubah (alamat_konsumen).

- Konfirmasi Import: kembali ke daftar, toast *Import selesai: 3 baru, 1 diubah*.

8. Role dengan hak terbatas
Admin PDI (Agus Salim)
Melihat seluruh daftar, bisa Tambah Indent, Import, dan Ubah. Tidak ada Ubah Status, Buat Transaksi, maupun tautan Transaksi pada baris.

Sales (Budi Santoso)
Menu Drop Order tidak ada di sidebar. Bila /indent-unit diketik manual, halaman menampilkan Tidak diizinkan.

9. SPV dan Kawil
Role: SPV (Yusuf Hidayat), Kawil (Bambang Sutrisno)
Bila /indent-unit diketik manual, kedua role mendapat halaman Tidak diizinkan; tidak ada daftar maupun tombol.


10. Jawaban server 409 saat transaksi baru muncul
Dialog Ubah Status hanya mematikan Simpan bila transaksi sudah ada saat daftar dimuat. Bila transaksi dibuat orang lain sesudah dialog dibuka, server yang menolak.
Role: ADH (Sri Wahyuni)
- Buka Ubah Status pada indent IBD tanpa transaksi: Simpan aktif.

- Sementara dialog terbuka, transaksi untuk indent itu dibuat (lewat API oleh Admin H1).
- Tekan Simpan. Server menjawab
409 Conflict; dialog menampilkan pesan apa adanya: *Indent masih memiliki transaksi aktif, batalkan transaksi dulu*.

Jawaban mentah dari API: {"message":"Indent masih memiliki transaksi aktif, batalkan transaksi dulu","error":"Conflict","statusCode":409}.
Catatan teknis gambar
- Pada lebar 1680 px tabel indent lebih lebar dari kolom isinya sehingga kolom aksi tergeser (perlu scroll horizontal). Untuk gambar daftar, font dasar dikecilkan dan lebar maksimum kolom isi dilepas lewat CSS suntikan; isi dan perilaku tidak berbeda.
- Data demo ada di database
tirto_demo1_e2e, terpisah dari database dev. Skrip:_tools/indent-unit.mjs(bisa diulang dari nol).