147 lines
3.9 KiB
Markdown
147 lines
3.9 KiB
Markdown
# Debugging Guide: Warning Billing Sign Not Updating
|
|
|
|
## Langkah-Langkah Debug:
|
|
|
|
### 1. Buka Console Browser (F12)
|
|
- Tekan `F12` → Tab **Console**
|
|
- Pastikan console kosong (tidak ada error merah)
|
|
|
|
### 2. Test Flow:
|
|
1. Buka halaman **Billing Pasien**
|
|
2. **Cari pasien** yang sudah punya billing history
|
|
3. **Buka Edit Modal** (klik tombol edit)
|
|
4. **Ubah tindakan** (tambah atau hapus)
|
|
5. **Klik Simpan Perubahan**
|
|
6. **Tunggu** dan lihat console logs
|
|
|
|
### 3. Baca Console Logs Dalam Order:
|
|
|
|
#### A. Pada saat klik Simpan:
|
|
Cari logs dengan pattern:
|
|
```
|
|
🚀 Mengirim request ke backend:
|
|
```
|
|
**Verify:**
|
|
- URL benar: `/billing/{id}`
|
|
- Method: PUT
|
|
- `total_tarif_rs_value` ada dan tidak undefined
|
|
- Value-nya angka (bukan 0 jika ada tindakan)
|
|
|
|
#### B. Setelah Simpan Berhasil:
|
|
Cari logs dengan pattern:
|
|
```
|
|
📢 Billing data updated event received:
|
|
```
|
|
**Ini menandakan:** Event berhasil di-dispatch dari modal
|
|
|
|
Kemudian cari:
|
|
```
|
|
🔄 Triggering loadBillingAktifHistory for:
|
|
```
|
|
**Ini menandakan:** Event listener di-trigger
|
|
|
|
#### C. API Response Check:
|
|
Cari logs dengan pattern:
|
|
```
|
|
📡 Full API Response:
|
|
```
|
|
**Ini menunjukkan:** Response dari GET /billing/aktif
|
|
|
|
**Buka detail:** Expand object dan cari:
|
|
- `data.billing.total_tarif_rs` - harus nilai baru (bukan 0)
|
|
- `data.billing.total_klaim` - total BPJS
|
|
|
|
#### D. Tarif Extraction:
|
|
Cari logs dengan pattern:
|
|
```
|
|
🔍 Tarif Extraction Debug:
|
|
```
|
|
**Verify:**
|
|
- `storedTotalTarif` - apakah value dari API terambil?
|
|
- `calculatedTotalTarif` - berapa nilai calculated-nya?
|
|
- `finalTotalTarif` - mana yang dipakai (stored atau calculated)?
|
|
|
|
#### E. State Update:
|
|
Cari logs dengan pattern:
|
|
```
|
|
💾 Setting TotalTarifRS:
|
|
💾 Setting BillingHistory with:
|
|
```
|
|
**Verify:**
|
|
- Value yang di-set berapa?
|
|
- Apakah nilai yang di-set berbeda dari nilai sebelumnya?
|
|
|
|
#### F. Live Values:
|
|
Cari logs dengan pattern:
|
|
```
|
|
📈 Live Values Changed:
|
|
```
|
|
**Verify:**
|
|
- `totalTarifRS` - apakah berubah dari sebelumnya?
|
|
- `totalKlaimBPJSLive` - berapa nilainya?
|
|
- `liveBillingSign` - berapa hasilnya (Hijau/Kuning/Merah)?
|
|
|
|
### 4. Jika Ada Error:
|
|
Cari logs merah (error) atau orange (warning). Catat isi-nya persis.
|
|
|
|
### 5. Screenshot/Copy Console Output:
|
|
Setelah test selesai:
|
|
1. Right-click di console → "Save as..."
|
|
2. Atau screenshot dari Browser DevTools
|
|
3. Share dengan informasi:
|
|
- Nama pasien yang di-test
|
|
- Tindakan apa yang di-ubah
|
|
- Console log output lengkap
|
|
|
|
## Possible Issues & Solutions:
|
|
|
|
### Issue 1: Event tidak ter-trigger
|
|
**Log yang terlihat:** Tidak ada `📢 Billing data updated event received:`
|
|
**Penyebab:**
|
|
- Modal tidak dispatch event
|
|
- Event listener tidak register
|
|
**Fix:** Check di modal if `window.dispatchEvent` di-execute
|
|
|
|
### Issue 2: API Response tidak punya total_tarif_rs baru
|
|
**Log yang terlihat:** `📡 Full API Response` menunjukkan `total_tarif_rs` = 0 atau nilai lama
|
|
**Penyebab:**
|
|
- Backend tidak menerima `total_tarif_rs` di request
|
|
- Backend tidak update ke database
|
|
**Fix:** Check apakah request PUT ke backend include `total_tarif_rs`
|
|
|
|
### Issue 3: State tidak update walaupun API response benar
|
|
**Log yang terlihat:** `finalTotalTarif` benar tapi `💾 Setting TotalTarifRS` tidak ada
|
|
**Penyebab:**
|
|
- Exception di loadBillingAktifHistory
|
|
- setState tidak execute
|
|
**Fix:** Check console untuk error messages
|
|
|
|
### Issue 4: State update tapi UI tidak berubah
|
|
**Log yang terlihat:** `📈 Live Values Changed` menunjukkan nilai baru tapi card masih lama
|
|
**Penyebab:**
|
|
- Component tidak re-render
|
|
- UI logic salah
|
|
**Fix:** Check React DevTools untuk component state
|
|
|
|
---
|
|
|
|
## Copy-Paste Template untuk Report:
|
|
|
|
```
|
|
## Test Result:
|
|
- Pasien: [nama pasien yang di-test]
|
|
- Tindakan yang di-ubah: [apa yang di-ubah]
|
|
|
|
### Console Logs:
|
|
[Paste semua console log output di sini]
|
|
|
|
### Observations:
|
|
1. Event triggered? [Ya/Tidak]
|
|
2. API response punya total_tarif_rs baru? [Ya/Tidak, value: ...]
|
|
3. State terupdate? [Ya/Tidak, value: ...]
|
|
4. UI berubah? [Ya/Tidak]
|
|
|
|
### Error Messages (jika ada):
|
|
[Paste error message di sini]
|
|
```
|