# AHSP Shift Roster Builder

Chrome extension MVP untuk membantu operator mengubah screenshot roster menjadi file template import `master-shift-schedule`.

## Status MVP

Versi ini **belum OCR otomatis**. Screenshot dipakai sebagai **referensi visual**, lalu operator:

1. upload / paste screenshot roster,
2. isi row yang dipilih,
3. mapping token roster ke `shift_code`,
4. download CSV template import.

Laravel tetap hanya menerima file hasil filter operator.

## Output

Addon menghasilkan file `.csv` yang kompatibel dengan template import Laravel pada modul `master-shift-schedule`.

Kolom output:

- `profil_bulan_code`
- `employee_code`
- `employee_name`
- `work_date`
- `shift_code`
- `source`
- `is_locked`
- `is_active`
- `notes`

File CSV bisa dibuka dan dicek ulang di Excel sebelum diupload.

## Cara pakai

1. Buka `chrome://extensions`
2. Aktifkan `Developer mode`
3. Klik `Load unpacked`
4. Pilih folder ini:
   - `tools/chrome-shift-roster-addon`

## Flow operator

1. Klik addon lalu pilih `Buka Builder`
2. Upload / paste screenshot roster
3. Isi `Profil Bulan Code`, tahun, bulan, source, catatan default
4. Sesuaikan mapping token roster:
   - `P1`
   - `P2`
   - `P2L`
   - `O`
   - `IL`
   - `I`
5. Isi row roster terpilih:
   - `employee_code`
   - `employee_name`
   - token per tanggal
6. Cek preview hasil export
7. Klik `Download CSV Template`
8. Upload file ke:
   - `http://112.109.16.52:8089/master-shift-schedule`

## Paste Grid

Anda bisa paste data dari Excel/clipboard.

Format:

- kolom 1 = `employee_code`
- kolom 2 = `employee_name`
- kolom 3 dst = token tanggal 1, 2, 3, ...

Contoh TSV:

```text
30026	Akhmad Nasikh	P1	P1	P2	P2	O	O
30073	Iswanto	IL	O	IL	I	I	O
```

## Catatan

- Token yang tidak punya mapping **tidak akan ikut diexport**.
- `employee_code` dan `employee_name` harus diisi agar hasil import rapi.
- Untuk versi lanjutan, addon ini bisa dikembangkan ke OCR otomatis + deteksi panah merah.
