# RUNBOOK DEPLOY PRODUKSI — 15 Okt 2026
# Perbaikan: saldo Dashboard vs Buku Besar + sinkronisasi RKAS/realisasi
# Diuji di: DB trace (salinan produksi 14 Okt 16:26) — SEMUA angka terverifikasi.

## 0. PRASYARAT & PERINGATAN
- Backup PENUH database produksi (\approx 7 MB) dan simpan di luar server.
- JANGAN jalankan saat jam input (UF lakukan 1 orang, matikan cron sync selama deploy).
- Restart MySQL di Laragon bila masih ada 2 proses `mysqld` ganda (risiko tulis tercecer):
  cek dengan `Get-Process -Name mysqld` — harus 1 baris.

## 1. BACKUP
mysqldump -h 127.0.0.1 -u root --single-transaction pcalirsyadpwt_accounting > backup_pre_deploy_20261015.sql

## 2. KODE (14 file, salin dari _deploy_20261015/files/ menimpa path yang sama)
- app/Helpers/ReportHelper.php                      (definisi pusat tanggalEfektif + scopeAktif)
- app/Http/Controllers/DashboardController.php       (semua query kas+laporan → definisi pusat)
- app/Http/Controllers/Yayasan/Laporan/{BukubesarController,BukuKasUmumController,NeracaController,ArusKasController,PerubahanEkuitasController,RingkasanKasUnitController}.php
- app/Http/Controllers/Yayasan/Transaksi/PenyaluranDanaController.php (fallback unit + detail debit terpisah)
- app/Exports/{BukuKasUmumExport,BukuKasUmumGabunganExport}.php
- app/Console/Commands/{RepairKasTransferUnits,PurgeGrupSync}.php (BARU)
- resources/views/yayasan/laporan/buku-besar/{index,pdf,excel}.blade.php (fallback tanggal orphan)
Lalu: php artisan config:clear && php artisan cache:clear

## 3. SQL (via phpMyAdmin, URUT, satu per satu, cek verifikasi tiap file)
3a. sql/01_restore_kuitansi.sql  → kembalikan 19 penerimaan terhapus salah (16,21 M + 23,9 M).
    Verifikasi di file: sisa_terhapus HARUS 0.
3b. sql/02_fix_master_unit.sql   → unit kas SD + 110111=99 + hitung ulang saldo kas.
    Verifikasi: akun_kas_null = 0; 110214 = 2251744466.71 (bisa geser bila ada input baru hari ini).

## 4. COMMAND (ssh / terminal server, dari folder proyek)
4a. php artisan data:repair-kas-transfer-units
    → preview: 4 akun master + kaki transfer NULL (target: 448 je + 34 dt di trace).
4b. php artisan data:repair-kas-transfer-units --repair
4c. php artisan data:purge-grup-sync
    → preview: 153 transaksi + 1.816 jurnal + 9.845 detail + 1.816 riwayat.
    → HAPUS data sync Sept (17,79 M) agar tarik ulang bersih.
    → JANGAN jalankan bila endpoint tahun lalu SUDAH dibuka & ditarik (nanti dobel kerja).
4d. php artisan data:purge-grup-sync --repair   (hanya bila 4c sudah diputuskan YA)

## 5. VERIFIKASI AKHIR (bandingkan dengan BKU PC)
- Dashboard kartu = Rincian total (harus sama persis).
- Buku Besar 110214 tahun 2026 total = 2.251.744.467 \pm input hari ini.
- Menu Penerimaan Juli 2025 unit 99 = 5 tx = Rp 14.661.297.000.
- BKU 110306/110307/110223 Sep = 791.024.467 / 284.476.715 / 802.974.005.

## 6. DITUNDA (butuh sumber data, BUKAN bagian deploy ini)
- Input susulan SMAIT 668 M, STIT 110 M + 5 baris, ekstra transfer (verifikasi fisik).
- Tarik ulang realisasi tahun lalu setelah endpoint dibuka (kode sync sudah diperbaiki).
- ROLLBACK: restore file backup langkah 1 bila verifikasi gagal.
