# KONTEKS & HANDOVER: PERBAIKAN LAPORAN PENJUALAN COMPARE & SINKRONISASI

**Waktu Dibuat:** 18 September 2026  
**ID Percakapan Sebelumnya:** `a1ced971-3186-4aa5-b2a7-185ce1cc5d4a`  
**Workspace Utama Terkait:** `w:\san_1agus`, `z:\san`

---

## 1. Masalah Utama yang Telah Diinvestigasi & Diperbaiki
Pada menu **Laporan Order Penjualan Compare** (`laporan/PenjualanCompare/vieworderpenjualan`):
1. **Selisih Angka Salesman Adam (April 2026):**
   - Tabel utama sempat mencatat **Rp 12.070.792**, namun rincian transaksi popup mencatat **Rp 30.307.414**.
   - **Akar Masalah:** Di `DataOutstanding.php`, fungsi `callPerSeller` menggunakan penugasan biasa (`=`), sehingga transaksi PT. SAN (Rp 18,23 Juta) tertimpa oleh transaksi PT. Lavanya (Rp 12,07 Juta).
2. **Kategori Atas di Popup Detail (`viewOrderDetil`):**
   - Sempat bernilai 0 karena mapping key mencari kode surat jalan (`spd`), bukan sales order (`so`).
3. **Salesman Lain yang Terdampak Tertimpa:**
   - Selain Adam, di April 2026 **Janson (972)** juga sempat tertimpa menjadi Rp 140 Juta (seharusnya Rp 522 Juta).

---

## 2. Perubahan Kode yang Telah Diterapkan di `w:\san_1agus`

1. **[DataOutstanding.php](file:///w:/san_1agus/application/libraries/laporan/DataOutstanding.php):**
   - Mengubah penugasan biasa (`=`) menjadi akumulasi (`+=`) dengan default `0` di baris 1865-1868, 1903-1906, 1944-1947, 1975-1978, serta 3172 dan 3234.
2. **[PenjualanCompare.php](file:///w:/san_1agus/application/modules/laporan/controllers/PenjualanCompare.php):**
   - `callOrderanPenjualans`: Membaca `saldo_order` dari `588so`, `582so`, `382so` (tanpa `582spo`), format bulan 2-digit.
   - `viewOrderDetil`: Mapping kategori atas diarahkan ke kode SO sah, formula netto diselaraskan.
   - `callOrderPenjualanTransaksi`: Memperbaiki typo `"382sso"` -> `"382so"` dan membaca `saldo_order`.
   - **Tombol Sync & `doSync()`:** Tetap mematuhi standar aman (hanya menyinkronkan akhir bulan berjalan / MTD, tidak mengubah bulan lampau).
3. **[MdlReporting.php](file:///w:/san_1agus/application/models/Mdls/MdlReporting.php):**
   - Proteksi gembok data historis tetap aktif (`$last_update_bln == $bln_now`), sehingga data bulan lampau yang sudah closing terlindungi dari update.

---

## 3. Status Database Terkini (`run_san_report.penjualan_order` di Server Aktif `192.168.11.100`)
Seluruh 25 salesman di bulan April 2026 telah resmi disinkronkan ke nilai aktual pada server aktif `192.168.11.100`:
- **Adam (908):** Rp 30.307.414 (Order All) & Rp 30.307.414 (Netto)
- **Adiwirya Hadisaputra (77):** Rp 3.878.192.165
- **Suyanto (576):** Rp 717.112.131
- **Paulus H. Welang (61):** Rp 626.933.454
- **David B. Purwohadi (65):** Rp 47.675.676
- **Markoni (73):** Rp 144.865.602
- **Giovanny Amandha (1286):** Rp 160.897.300
- **Rahmiati (1347):** Rp 970.500.196
- **Janson (972):** Rp 522.829.321
- **Oscar (925):** Rp 375.044.190
- **Ansory Fauzi (1512):** Rp 93.224.331

---

## 4. Konteks Workspace & Catatan File
- Workspace `z:\san` dan `w:\san_1agus` keduanya terhubung ke database `192.168.11.100`.
- File utility manual di `controllers/run_full_sync_april_2026.php` akan dihapus sendiri oleh pengguna.
