# Perbaikan BE: `reporters-by-division` error `pq: column reference "created_at" is ambiguous`

## Gejala (FE / Team Monitoring)

- Membuka kartu divisi memanggil:  
  `GET /api/v1/analytics/org/reporters-by-division?period=…&division=…`
- Respons **500**; pesal DB PostgreSQL: **`column reference "created_at" is ambiguous`**.

## Penyebab

Filter waktu periode (`7d` / `30d` / `90d`) dibentuk sebagai ekspresi SQL **`created_at >= NOW() - …`** tanpa **qualifier tabel**.

Query endpoint tersebut memakai **`FROM reports r JOIN users u …`**. Tabel **`reports`** dan **`users`** keduanya punya kolom **`created_at`**, sehingga PostgreSQL menolak referensi tak memenuhi.

## Perbaikan (kode BE)

| File | Perubahan |
|------|-----------|
| [`BE/internal/api/analytics_org.go`](../../BE/internal/api/analytics_org.go) | Fungsi `orgReportsTimeFilter` menerima alias tabel laporan (mis. `"r"`) dan membangun **`r.created_at`** (bukan `created_at` saja). Semua pemanggil memakai alias konsisten pada `FROM reports r`. |

Endpoint terdampak langsung:

- `GET /api/v1/analytics/org/reporters-by-division` — **ini yang memicu error di UI**.
- `GET /api/v1/analytics/org/top-reporters` — sama-sama `JOIN users`, dicegah ambigu dengan perubahan yang sama.

Endpoint lain yang memakai filter yang sama diselaraskan agar konsisten:

- `GET /api/v1/analytics/org/summary` — `FROM reports r` + qualifier pada `status` / `user_id`.
- `GET /api/v1/analytics/org/by-division` — agregat dari `reports r` saja.

## Deploy

1. Build ulang binary API (`go build`), deploy, **`pm2 restart workpulse-api`** (atau setara).
2. **Tidak** memerlukan migrasi DB untuk bug ini.

## Verifikasi cepat

```bash
# Ganti TOKEN, host, dan query sesuai lingkungan
curl -sS -H "Authorization: Bearer TOKEN" \
  "https://<host>/workpulse-api/api/v1/analytics/org/reporters-by-division?period=30d&division=IT"
```

Diharapkan **200** dan JSON envelope `ok` dengan array `reporters` (boleh kosong).

---

*Dokumen ini mendampingi [`BE_SPEC_TEAM_MONITORING_DIVISIONS.md`](./BE_SPEC_TEAM_MONITORING_DIVISIONS.md) untuk insiden spesifik SQL.*
