﻿# UAT Progress Varian - 2026-04-27

## Scope Run Hari Ini
1. Validasi endpoint list transaksi (pending/ongoing) untuk modul pembelian dan penjualan.
2. Validasi konsistensi data item varian/non-varian di DB subsidiari.
3. Validasi tooling SQL verifikasi dummy UAT lintas CRM/holding/subsidiary.

## Perbaikan yang Sudah Diterapkan
1. Hapus debug stopper `matiHEre(__LINE__)` di:
   - `application/modules/pembelian/controllers/Transaksi.php`
   - `application/modules/penjualan/controllers/Transaksi.php`
2. Hardening script verifikasi UAT agar tidak gagal jika kolom marker tidak ada pada schema tertentu:
   - `application/sql/variant_migration_phase3_uat_dummy/90_verify_uat_dummy.sql`

## Hasil Cek Data Subsidiary (`san_sarana_18feb`)
1. Penjualan varian tersedia dan aktif.
   - Contoh nomor: `5822spo.31.147.4` (12 baris, 10 baris varian).
2. Pembelian dan distribusi belum ada data transaksi varian finalized.
3. Temuan kualitas data penting:
   - `produk_sku_qty` pada detail transaksi bernilai `0`.
   - `produk_ord_satuan` pada detail transaksi kosong.
   - Dampak: kolom UoM di preview/list berpotensi tampil `0`/kosong walau qty dan subtotal benar.

## Status Dummy Seed Script
1. `10_seed_crm_uat.sql`, `20_seed_holding_uat.sql`, `30_seed_subsidiary_uat.sql` belum kompatibel penuh dengan schema aktif saat ini.
2. Gejala utama saat run:
   - asumsi kolom tidak ada (`description`, `sku`, `jml_nilai`),
   - konflik `id` primary key (duplikasi),
   - isu collation pada beberapa `IFNULL`.
3. Dampak: data dummy bertag `UATV3_20260427` belum berhasil terbuat.

## Kandidat URL UAT Manual
1. Penjualan pending list:
   - `/penjualan/Transaksi/viewUndoneItemsIndex/5822?step=1`
2. Penjualan resume (varian):
   - `/penjualan/Transaksi/viewResume/5822/5822spo.31.147.4`
3. Pembelian pending list:
   - `/pembelian/Transaksi/viewUndoneItemsIndex/466?step=1`
4. Distribusi pending list:
   - `/distribusi/Transaksi/viewUndoneItemsIndex/583?step=1`

## Catatan Risiko UAT
1. Selama `produk_ord_satuan` dan `produk_sku_qty` belum diisi benar pada tahap save/followup, validasi UoM di UI belum bisa dianggap lulus.
2. UAT skenario varian untuk pembelian/distribusi belum representatif tanpa data varian atau dummy seed yang berhasil.

## Patch Lanjutan - Legacy CRM Varian (2026-04-27)
1. File: `application/modules/penjualan/controllers/_processSelectProduct.php`
2. Perubahan:
- Tambah pre-processing payload CRM di `selectCrm` untuk produk `has_variants=1` namun `variant_id` kosong.
- Jika produk varian hanya punya 1 varian aktif: auto-resolve ke varian tersebut.
- Jika varian aktif lebih dari satu / belum ada: item diblokir sebelum masuk cart, tampil swal instruktif "PILIH VARIAN DULU".
- Session marker ditambahkan untuk monitoring:
  - `crmLegacyVariantPending`
  - `crmLegacyVariantPendingEstimate`
  - `crmLegacyVariantAutoResolved`
3. Dampak:
- Mencegah penulisan item legacy non-varian ke shopping cart untuk produk yang sudah varian.
- User mendapat pesan jelas langkah lanjut: pilih varian di CRM/Holding lalu sinkron ulang.
