# Perbaikan: `reporters-by-division` — `pq: column reference "created_at" is ambiguous`

## Gejala

- `GET /api/v1/analytics/org/reporters-by-division?period=…&division=…` mengembalikan **500**.
- PostgreSQL: **`column reference "created_at" is ambiguous`**.

## Penyebab

Filter waktu periode memakai ekspresi **`created_at >= NOW() - …`** tanpa qualifier, dalam query **`FROM reports r JOIN users u …`**. Kedua tabel punya **`created_at`**.

## Perbaikan (implementasi di repo ini)

| File | Perilaku |
|------|----------|
| [`internal/api/analytics_org.go`](../internal/api/analytics_org.go) | Fungsi **`orgReportsTimeFilter(period, reportsAlias)`** membangun **`{alias}.created_at`** (mis. **`r.created_at`**). Semua pemanggil memakai alias **`r`** pada `FROM reports r`. |

Endpoint yang memakai filter yang sama:

- `analytics/org/summary` — `FROM reports r WHERE (…)`
- `analytics/org/by-division` — `FROM reports r WHERE (…)`
- `analytics/org/reporters-by-division` — `JOIN users u` + filter waktu pada **`r.created_at`**
- `analytics/org/top-reporters` — sama

## Deploy

Tidak perlu migrasi DB. **Build** binary API lalu **restart** proses (`pm2 restart workpulse-api`).

## Verifikasi

```bash
curl -sS -H "Authorization: Bearer TOKEN" \
  "http://127.0.0.1:3040/api/v1/analytics/org/reporters-by-division?period=30d&division=IT"
```

Harap **200** dan envelope `ok` (array `reporters` boleh kosong).

---

Kontrak umum: [`BE_SPEC_TEAM_MONITORING_DIVISIONS.md`](./BE_SPEC_TEAM_MONITORING_DIVISIONS.md).
