Versi 1
| Field | Isi |
|---|---|
| Dokumen ID | VBS-PRD-005 |
| Deskripsi | Rencana produksi berulang untuk peternakan petelur: membuat rencana harian per kandang secara manual atau otomatis dari program pakan, memantaunya lewat kalender, mencatat realisasi pakan, vaksin, hasil telur, dan recording ternak, lalu memfinalkan dan mencetaknya |
| Nomor Revisi | 1 |
| Tanggal | 2026-10-04 |
| Keterangan | Dokumentasi baseline dari dokumentasi fitur demo dan kode FE |
1. Ringkasan
a. In scope
- User melihat daftar rencana produksi berulang per tanggal yang dipilih di kalender, dengan kolom nomor invoice, nama batch produksi berulang, barang hasil jadi, status, dan aksi.
- User mencari berdasarkan nomor invoice atau nama batch dan memfilter berdasarkan cabang.
- User menambah rencana produksi secara manual untuk satu atau beberapa kandang petelur dalam rentang tanggal, sehingga sistem membuat rencana berulang per hari.
- User membuat rencana produksi secara otomatis berdasarkan program pakan untuk batch ayam terpilih.
- User mencatat realisasi produksi telur: pakan, vaksin dan obat, retur bahan baku, hasil jadi, recording ternak, biaya langsung, dan estimasi overhead.
- User memfinalkan nota, menghapus rencana, membuka kembali produksi final ke draft, dan membuka pencatatan ayam keluar atau afkir.
- User mencetak laporan realisasi produksi dan penyerahan bahan jadi, termasuk cetak massal.
b. Catatan
c. Kesimpulan
- [FE] -
- [BE] -
2. Functional Requirement
| Kode | Deskripsi |
|---|---|
| FR-01 | Sistem menampilkan daftar SPK jenis peternakan yang start dan end produksinya sama dengan tanggal kalender terpilih, 5 baris per halaman |
| FR-02 | Sistem menyediakan pencarian nomor invoice atau batch produksi dan filter cabang |
| FR-03 | User dengan hak dasar produksi berulang dapat menambah rencana manual dengan lokasi, rentang tanggal, dan baris kandang |
| FR-04 | Setiap baris rencana wajib memiliki cabang dan mesin kandang jenis Petelur, dengan mesin tidak boleh dipilih lebih dari sekali |
| FR-05 | Kolom cluster wajib diisi per baris jika user punya hak cluster dan konfigurasi peternakan belum menetapkan cluster petelur |
| FR-06 | Bila rentang tanggal lebih dari satu hari, sistem membuat rencana berulang untuk setiap invoice dalam rentang tersebut |
| FR-07 | User dapat membuat rencana otomatis dari program pakan dengan rentang tanggal, area gudang, dan batch ayam |
| FR-08 | User dapat mencatat realisasi pakan, vaksin dan obat, retur bahan baku, hasil jadi, recording ternak, biaya langsung, dan lain-lain (estimasi overhead) |
| FR-09 | Total pembagian HPP hasil jadi wajib 100 saat menyimpan realisasi |
| FR-10 | User dapat memfinalkan nota rencana berstatus belum dikerjakan langsung dari daftar |
| FR-11 | Admin brand dengan hak dasar dapat menghapus rencana berstatus belum dikerjakan |
| FR-12 | User dapat melihat detail produksi telur dan membuka kembali produksi final ke draft |
| FR-13 | User dapat mencetak dokumen untuk produksi tercetak, satu per satu atau massal |
| FR-14 | Untuk produksi tercetak, user dapat membuka pencatatan ayam keluar atau afkir |
3. Use Case List
| Kode | Deskripsi |
|---|---|
| UC-01 | Melihat rencana produksi telur per tanggal |
| UC-02 | Menambah rencana produksi telur secara manual |
| UC-03 | Membuat rencana produksi telur dari program pakan |
| UC-04 | Mencatat realisasi produksi telur |
| UC-05 | Memfinalkan nota rencana dari daftar |
| UC-06 | Menghapus rencana produksi telur |
| UC-07 | Melihat detail dan membuka kembali produksi telur ke draft |
| UC-08 | Mencetak dokumen produksi telur |
4. Use Case Scenario
UC-01 : Melihat rencana produksi telur per tanggal
| Aktor | User peternakan |
| Deskripsi | User melihat rencana produksi berulang yang dijadwalkan pada tanggal tertentu |
| Prekondisi | User sudah login dan memilih brand peternakan |
| Alur utama | 1. User membuka halaman Produksi Telur. 2. Sistem menampilkan kalender dengan tanggal hari ini dan daftar rencana pada tanggal tersebut. 3. User memilih tanggal lain di kalender, mengetik nomor invoice atau nama batch, atau memilih cabang. 4. Sistem memuat ulang daftar. 5. User berpindah halaman dengan pagination. |
| Alur negatif | - Jika gagal memuat, daftar dikosongkan tanpa pesan. |
| Bisnis rule | - Hanya SPK jenis peternakan yang tampil.- Status ditampilkan sebagai ikon: centang hijau untuk tercetak, lingkaran merah untuk belum. - Barang hasil jadi hanya menampilkan hasil yang memiliki SKU. |
| Postkondisi | Daftar rencana pada tanggal terpilih tampil |
| Trigger | User membuka halaman, memilih tanggal, atau mengubah pencarian |
| Kode FR | FR-01 FR-02 |
UC-02 : Menambah rencana produksi telur secara manual
| Aktor | User dengan hak dasar produksi berulang |
| Deskripsi | User membuat rencana produksi telur untuk beberapa kandang dalam rentang tanggal |
| Prekondisi | User punya hak #produksi-berulang basic |
| Alur utama | 1. User klik Tambah Rencana Produksi, Tambah Manual. 2. User memilih lokasi, dari tanggal, dan sampai tanggal. 3. User menambah baris: nomor invoice otomatis atau manual, cabang, mesin kandang, keterangan kode produksi, dan cluster bila diminta. 4. User memilih Simpan draft, Simpan sebagai rencana produksi, atau Simpan final. 5. Sistem membuat invoice untuk tanggal awal, lalu membuat rencana berulang hingga tanggal akhir. 6. Sistem menampilkan "Berhasil Buat Invoice Produksi Telur" dan kembali ke daftar. |
| Alur negatif | - Jika field wajib kosong, muncul "Oops ada form yang kosong". - Jika mesin yang sama dipilih di lebih dari satu baris, muncul "Tidak boleh memilih mesin yang sama di lebih dari satu baris". - Jika pembuatan invoice gagal, muncul "Gagal Membuat Invoice Produksi Telur". - Jika pembuatan rencana berulang gagal, muncul pesan error dari BE. |
| Bisnis rule | - Mesin hanya dari jenis Petelur di cabang terpilih. - Keterangan invoice disusun dari nama mesin dan kode produksi. - Cluster memakai cluster petelur dari konfigurasi peternakan bila ada, selain itu dari baris. - Rencana berulang hanya dibuat bila tanggal awal berbeda dengan tanggal akhir. - Untuk brand berbahasa sido, hanya ada satu tombol Simpan yang menyimpan status belum dikerjakan dan opsi otomatis dari program pakan disembunyikan. |
| Postkondisi | Rencana produksi telur tercatat untuk setiap kandang dan tanggal |
| Trigger | User klik opsi simpan |
| Kode FR | FR-03 FR-04 FR-05 FR-06 |
UC-03 : Membuat rencana produksi telur dari program pakan
| Aktor | User dengan hak dasar produksi berulang |
| Deskripsi | User membuat rencana produksi otomatis berdasarkan program pakan yang berlaku untuk batch ayam |
| Prekondisi | Program pakan untuk batch ayam sudah dibuat |
| Alur utama | 1. User klik Tambah Rencana Produksi, Buat Otomatis Berdasarkan Feeding Program. 2. User memilih rentang tanggal, area gudang (opsional), dan satu atau beberapa batch ayam. 3. User klik Simpan. 4. Sistem membuat rencana produksi sesuai program pakan dan menampilkan "Berhasil Buat Feeding Program". |
| Alur negatif | - Jika rentang tanggal atau batch ayam kosong, muncul "Oops, ada form yang belum diisi dengan benar!". - Jika batch ayam kosong, muncul "Batch Ayam harus di isi". - Jika gagal, muncul pesan error dari BE. |
| Bisnis rule | - Pilihan area gudang mengikuti cabang yang sedang aktif di halaman. - Isi bahan dan hasil rencana ditentukan oleh program pakan sesuai usia ayam. |
| Postkondisi | Rencana produksi telur terbentuk otomatis |
| Trigger | User klik Simpan pada modal program pakan |
| Kode FR | FR-07 |
UC-04 : Mencatat realisasi produksi telur
| Aktor | User dengan hak dasar produksi berulang |
| Deskripsi | User mengisi realisasi harian produksi telur untuk satu kandang |
| Prekondisi | Rencana berstatus belum dikerjakan |
| Alur utama | 1. User memilih Edit pada baris rencana. 2. Sistem memuat detail produksi peternakan, daftar mesin, dan konfigurasi peternakan. 3. User mengisi tab Pakan, Vaksin dan Obat, Retur Bahan Baku, Hasil Jadi, Recording Ternak, Biaya Langsung, dan Lain-lain. 4. User klik Draft atau Simpan. 5. Sistem memperbarui produksi, menyimpan recording ternak, menampilkan "Berhasil Update Invoice Produksi Telur", dan kembali ke daftar. |
| Alur negatif | - Jika pakan atau hasil tidak valid, muncul "Form Pakan / Hasil Wajib Diisi". - Jika vaksin tidak valid, muncul "Oops ada yang salah di form Vaksin!". - Jika retur tidak valid, muncul "Oops ada yang salah di form Retur Bahan Baku!". - Jika biaya langsung tidak valid, muncul "Oops ada yang salah di form Biaya Langsung!". - Jika overhead belum dipilih, muncul "Pilih Forecast Overhead atau ubah menjadi Bukan". - Jika total HPP bukan 100, muncul "HPP hasil jadi tidak sama dengan 100! Total HPP Anda X%". - Jika gagal, muncul "Gagal Update Invoice Produksi Telur". |
| Bisnis rule | - Simpan menghasilkan status selesai dan tercetak, Draft mempertahankan status to do.- Tab Biaya Langsung dan Lain-lain hanya tampil jika konfigurasi overhead tidak aktif atau user adalah admin. - Recording ternak mencatat umur hari, rata-rata bobot badan, dan keseragaman. - Bila estimasi overhead dipakai, kuantitas overhead dihitung dari total hasil jadi. |
| Postkondisi | Realisasi produksi telur dan recording ternak tersimpan |
| Trigger | User klik Draft atau Simpan |
| Kode FR | FR-08 FR-09 |
UC-05 : Memfinalkan nota rencana dari daftar
| Aktor | User produksi berulang |
| Deskripsi | User menyelesaikan rencana tanpa membuka form, sesuai isi rencana |
| Prekondisi | Rencana berstatus belum dikerjakan Brand bukan berbahasa sido |
| Alur utama | 1. User memilih Finalize Nota pada menu baris. 2. Sistem menyimpan rencana sebagai selesai dan tercetak. 3. Baris diperbarui di daftar. |
| Alur negatif | - Jika gagal, muncul pesan error dari BE. |
| Bisnis rule | - Finalisasi dikirim dengan penanda peternakan. |
| Postkondisi | Rencana menjadi produksi selesai |
| Trigger | User memilih Finalize Nota |
| Kode FR | FR-10 |
UC-06 : Menghapus rencana produksi telur
| Aktor | Admin brand dengan hak dasar produksi berulang |
| Deskripsi | Admin menghapus rencana yang belum dikerjakan |
| Prekondisi | Rencana berstatus belum dikerjakan |
| Alur utama | 1. Admin memilih Hapus pada menu baris. 2. Sistem menghapus rencana dan memuat ulang daftar. |
| Alur negatif | - Jika gagal, muncul pesan error dari BE. |
| Bisnis rule | - Hapus hanya tampil untuk admin brand dan tidak meminta konfirmasi. |
| Postkondisi | Rencana terhapus |
| Trigger | Admin memilih Hapus |
| Kode FR | FR-11 |
UC-07 : Melihat detail dan membuka kembali produksi telur ke draft
| Aktor | User produksi berulang |
| Deskripsi | User melihat realisasi produksi telur dan dapat membuka kembali yang sudah final |
| Prekondisi | Produksi telur tersedia di daftar |
| Alur utama | 1. User memilih Lihat atau klik baris. 2. Sistem menampilkan informasi dan tab Pakan, Vaksin dan Bahan Pendukung, Hasil Jadi, Biaya Langsung, serta Lain-lain. 3. Untuk produksi tercetak, user memilih Ubah ke Simpan Draft. 4. Sistem membuka kunci dan menampilkan "Berhasil Ubah ke Simpan Draft Invoice ...". |
| Alur negatif | - Jika unlock gagal, muncul pesan error dari BE. |
| Bisnis rule | - Edit hanya untuk produksi belum tercetak. - Unlock hanya untuk user dengan hak unlock produksi berulang. - Produksi tercetak menyediakan tautan Catat Ayam Keluar atau Afkir ke fitur catat afkir. |
| Postkondisi | Detail tampil atau produksi kembali draft |
| Trigger | User membuka halaman lihat |
| Kode FR | FR-12 FR-14 |
UC-08 : Mencetak dokumen produksi telur
| Aktor | User dengan hak cetak ulang produksi berulang |
| Deskripsi | User mencetak laporan realisasi produksi dan penyerahan bahan jadi |
| Prekondisi | Produksi sudah tercetak |
| Alur utama | 1. User memilih Cetak Invoice pada menu baris. 2. Sistem menampilkan pilihan laporan realisasi produksi atau penyerahan bahan jadi. 3. User mencetak. 4. Untuk cetak massal, user klik Print Bulk, mencentang produksi tercetak, lalu klik Print. |
| Alur negatif | - Jika produksi belum tercetak, muncul "Maaf belum tersedia". |
| Bisnis rule | - Cetak massal memakai format continuous form full dan hanya untuk produksi tercetak. |
| Postkondisi | Dokumen tercetak |
| Trigger | User memilih Cetak Invoice atau Print Bulk |
| Kode FR | FR-13 |
5. Data Flow Diagram
DFD-01
6. Sequence Diagram
SD-01 — UC-01 : Melihat rencana produksi telur per tanggal
SD-02 — UC-02 : Menambah rencana produksi telur secara manual
SD-03 — UC-03 : Membuat rencana produksi telur dari program pakan
SD-04 — UC-04 : Mencatat realisasi produksi telur
SD-05 — UC-05 : Memfinalkan nota rencana dari daftar
SD-06 — UC-06 : Menghapus rencana produksi telur
SD-07 — UC-07 : Melihat detail dan membuka kembali produksi telur ke draft
SD-08 — UC-08 : Mencetak dokumen produksi telur
7. Table Schema
8. API Schema
| Endpoint | Status | Perubahan |
|---|---|---|
GET /invoice-spk | existing | - |
GET /invoice-spk/:id | existing | - |
GET /invoice-spk/peternakan/:id | existing | - |
POST /invoice-spk/bulk-invoice-only | existing | - |
POST /invoice-spk/recurring/:id | existing | - |
PUT /invoice-spk/update-all/:id | existing | - |
PUT /invoice-spk/unlock/:id | existing | - |
DELETE /invoice-spk/:id | existing | - |
POST /feeding-program/generate-spk | existing | - |
POST /recording-ternak | existing | - |