# Walkthrough: Modul Mutasi Batch (Pindah, Pecah & Gabung)

Modul ini memungkinkan manajemen populasi ternak yang sangat fleksibel antar kandang, sembari tetap menjaga akurasi pelacakan asal-usul dan jumlah ekor unggas.

## Fitur Utama

### 1. Pelacakan Populasi Real-time (`current_count`)
- Tabel Batch sekarang menampilkan dua angka populasi: **Populasi Awal** (saat batch dibuat) dan **Populasi Sekarang** (setelah mutasi/angka kematian).
- Memudahkan Anda melihat saldo ternak yang benar-benar ada di kandang saat ini.

### 2. Pindah Kandang (Transfer)
- Memindahkan seluruh populasi suatu batch ke kandang lain secara utuh.
- Histori perpindahan dicatat lengkap dengan alasan pemindahan.

### 3. Pemecahan Batch (Split)
- Berguna jika populasi dalam satu kandang terlalu padat, sehingga sebagian harus dipindahkan.
- **Hasil**: Satu batch baru akan tercipta di kandang tujuan dengan status origin **SPLIT**.
- Hubungan antara batch asal dan batch hasil pecah tetap terjaga melalui `parent_batch_id`.

### 4. Penggabungan Batch (Merge)
- Menggabungkan populasi satu batch (sumber) ke dalam batch lain (target).
- **Hasil**: Batch sumber akan otomatis berstatus **MERGED** (non-aktif) dan jumlah ekornya ditambahkan ke batch target.

### 5. Riwayat Mutasi Batch
- Menu baru untuk melihat seluruh jejak mutasi ternak di farm.
- Menampilkan detail: tangal, batch yang terlibat, tipe mutasi, perpindahan kandang, dan catatan.

## Cara Penggunaan
1. Di halaman **Batch Siklus**, klik tombol **"Mutasi"** (Ikon panah bolak-balik warna oranye) pada salah satu batch.
2. Pilih Tab yang sesuai (Pindah, Pecah, atau Gabung).
3. Isi detail yang diperlukan dan klik tombol eksekusi.
4. Periksa hasilnya di kolom populasi pada tabel dan di menu **Riwayat Mutasi Batch**.

## Detail Teknis
- **Integritas Data**: Menggunakan database transaction (ACID) untuk memastikan perubahan saldo populasi sinkron dengan pembuatan log mutasi.
- **Origin Tracking**: Batch hasil mutasi ditandai khusus sehingga Anda tahu batch mana yang hasil penggabungan/pemisahan.
