# 🚚 PT. Everest - ERP Web - Modul Distribusi FG (Finished Goods)

Aturan spesifik untuk penanganan pemindaian QR/serial number dan pengelompokan part produk jadi pada modul `distribusifg`.

---

## 1. Bucket Session yang Digunakan
*   `items` - Master item / permintaan produk dasar.
*   `items3_sum` - Sumber serial number yang diharapkan untuk divalidasi.
*   `items5_sum` - Hasil pemindaian serial number yang lolos validasi.
*   `items6` - Peta kuota pemindaian per komponen/part.
*   `items7` - Registrasi serial number yang sudah dipindai per part.
*   `items2` - Registrasi sekunder/legacy yang masih digunakan di beberapa alur lama.

---

## 2. Validasi & Kecocokan 3-Way Matching
Pemindaian QR/barcode wajib divalidasi berdasarkan kecocokan 3-way matching:
1.  **Input scan** (data yang discan oleh user).
2.  **Data master / database** (apakah serial number terdaftar di rekening/locker).
3.  **State session / transaksi** (apakah serial number ada dalam target transaksi, kuota per part masih ada, dan bebas dari duplikasi).
*   Jika salah satu validasi gagal, kembalikan respon popup error yang jelas (`YES`, `NO`, atau `VOID`).

---

## 3. Penanganan Kompatibilitas Legacy
*   Terapkan deteksi mode transaksi: `legacy` atau `new`.
*   Pertahankan format session dan bucket lama (`items2`, `items6`, `items7`) untuk transaksi gantung yang sudah terlanjur berjalan agar tidak pecah di tengah jalan.
*   `produk_sku_part_nama` hanya digunakan sebagai label tampilan visual di UI. Logika pemrosesan data internal wajib menggunakan `produk_sku_part_id` yang stabil.
