Skip to main content

Versi 1

FieldIsi
Dokumen IDVBS-PJL-009
DeskripsiMengelola alur pengiriman barang penjualan lewat papan kanban: dari belum diproses, picking, packing, siap kirim (wajib pemeriksa), terkirim, hingga selesai diterima
Nomor Revisi1
Tanggal2026-10-04
KeteranganDokumentasi baseline dari dokumentasi fitur demo dan kode FE

1. Ringkasan​

a. In scope​

  • User melihat daftar invoice pengiriman dalam papan kanban berstatus To-Do / Belum diproses, On Picking, On Packing, Ready to Send, dan Terkirim.
  • User memproses picking dan packing barang per kelompok petugas.
  • User memindahkan pengiriman ke Ready to Send hanya setelah memilih pemeriksa (checked_by).
  • User memilih kurir saat memindahkan ke Terkirim.
  • User mengisi penerima saat menandai pengiriman Selesai.
  • User melihat detail invoice pengiriman dan mencetak surat jalan.

b. Catatan​

c. Kesimpulan​

  • [FE] -
  • [BE] -

2. Functional Requirement​

KodeDeskripsi
FR-01Sistem menampilkan invoice pengiriman dalam kolom kanban sesuai status
FR-02User dapat memfilter daftar berdasarkan nomor invoice, nomor bukti, dan rentang tanggal
FR-03User dapat memproses picking barang menuju status On Picking / On Packing
FR-04User dapat memproses packing barang menuju status On Packing / Ready to Send
FR-05Pemindahan ke Ready to Send wajib memilih pemeriksa (checked_by)
FR-06Pemindahan ke Terkirim wajib memilih kurir / pengirim
FR-07Penandaan Selesai wajib mengisi nama penerima
FR-08User dapat melihat detail invoice pengiriman
FR-09User dapat mencetak surat jalan setelah siap kirim
FR-10Hak akses memakai permission #pengiriman pada kanban (view, basic, reprint, all); dropdown kartu memakai #pengiriman-barang

3. Use Case List​

KodeDeskripsi
UC-01Melihat kanban pengiriman barang
UC-02Memproses picking barang
UC-03Memproses packing barang
UC-04Memindahkan ke Ready to Send dengan pemeriksa
UC-05Mengirim barang dengan kurir
UC-06Menandai pengiriman selesai
UC-07Melihat detail invoice pengiriman

4. Use Case Scenario​

UC-01 : Melihat kanban pengiriman barang​

AktorUser gudang / pengiriman dengan hak lihat
DeskripsiUser membuka papan kanban dan melihat invoice pengiriman per status
PrekondisiUser sudah login
Brand aktif terpilih
Halaman pengiriman barang dapat diakses
Alur utama1. User membuka halaman Pengiriman Barang (route ada; entri menu default dikomentari).
2. Sistem memuat invoice dengan status selain Selesai.
3. Sistem menampilkan kolom To-Do, On Picking, On Packing, Ready to Send, dan Terkirim.
4. User dapat mencari nomor invoice atau filter nomor bukti / tanggal.
Alur negatif- Jika gagal memuat, daftar tampil kosong.
- Jika user tanpa permission all, daftar dibatasi ke invoice milik user tersebut.
Bisnis rule- Kolom pertama di FE berlabel To-Do (setara Belum diproses di demo).
- Kartu berstatus Selesai tidak ditampilkan di kanban (bukan kolom ke-6).
- On Picking dikelompokkan per picked_by; On Packing per packed_by.
- Perpindahan mundur antar kolom ditolak.
- Pick/pack baris memakai PUT /pengiriman-barang/bulk; transisi status invoice memakai PUT /invoice-pengiriman-barang/bulk.
PostkondisiKanban pengiriman tampil
TriggerUser membuka /brand/:id/pengiriman-barang
Kode FRFR-01
FR-02
FR-10

UC-02 : Memproses picking barang​

AktorUser gudang dengan hak dasar
DeskripsiUser memindahkan invoice dari To-Do ke On Picking dan mencatat barang yang dipick
PrekondisiAda kartu di kolom To-Do
Alur utama1. User menyeret kartu ke On Picking atau menekan aksi pindah / Lakukan Picking.
2. Sistem membuka modal picking bila qty belum penuh, atau langsung memproses jika sudah pick penuh.
3. Sistem menyimpan status On Picking lewat update bulk (pick).
Alur negatif- Jika urutan status mundur, muncul "Tidak dapat melakukan perpindahan karena urutan status".
- Jika modal picking dibatalkan setelah drag, kartu dikembalikan dan muncul peringatan gagal pindah.
Bisnis rule- Progress pick dibanding history.total_all_status vs total_picked.
- Tombol Packing Sekarang hanya muncul jika seluruh qty sudah dipick.
PostkondisiInvoice berstatus On Picking
TriggerUser drag atau tekan Lakukan Picking / Packing Sekarang
Kode FRFR-03

UC-03 : Memproses packing barang​

AktorUser gudang dengan hak dasar
DeskripsiUser memindahkan invoice dari On Picking ke On Packing dan mencatat barang yang dipack
PrekondisiAda kartu di On Picking dengan pick lengkap (untuk lanjut penuh)
Alur utama1. User menyeret ke On Packing atau menekan Lakukan Packing / Packing Sekarang.
2. Sistem membuka modal packing bila qty belum penuh.
3. Sistem menyimpan status On Packing lewat update bulk (pack).
Alur negatif- Jika barang belum dipick penuh, pemindahan ditahan / dikembalikan dengan peringatan.
- Jika server menolak, muncul pesan error.
Bisnis rule- Progress pack dibanding history.total_all_status vs total_packed.
- Tombol Ready To Send hanya muncul jika seluruh qty sudah dipack.
PostkondisiInvoice berstatus On Packing
TriggerUser drag atau tekan Lakukan Packing
Kode FRFR-04

UC-04 : Memindahkan ke Ready to Send dengan pemeriksa​

AktorUser gudang dengan hak dasar
DeskripsiUser memindahkan invoice yang sudah dipack ke Ready to Send setelah check ulang
PrekondisiQty packing sudah lengkap (total_all_status === total_packed)
Alur utama1. User menekan Ready To Send atau menyeret ke kolom Ready to Send setelah packing selesai.
2. Sistem membuka modal Check Ulang Barang.
3. User memilih user pemeriksa aktif brand.
4. User konfirmasi.
5. Sistem mengirim update bulk to_send beserta daftar check (invoice_pengiriman_id, checked_by).
6. Opsional: sistem menanya apakah ingin cetak surat jalan.
Alur negatif- Jika pemeriksa belum dipilih, muncul "Barang yg akan dikirim belum di check!" atau "Form Belum Dipilih".
- Jika masih ada barang belum packing, muncul "Barang masih ada yg belum di Packing".
- Jika modal check ditutup tanpa proses setelah drag, kartu dikembalikan dengan peringatan belum check ulang.
Bisnis rule- Tanpa checked_by, pemindahan ke Ready to Send ditolak.
- Hanya invoice dengan packing lengkap yang diproses.
PostkondisiInvoice berstatus Ready to Send dan punya pemeriksa
TriggerUser menekan Ready To Send atau menyelesaikan packing menuju Ready to Send
Kode FRFR-05
FR-09

UC-05 : Mengirim barang dengan kurir​

AktorUser gudang dengan hak dasar
DeskripsiUser memindahkan invoice dari Ready to Send ke Terkirim dengan memilih kurir
PrekondisiAda kartu di Ready to Send
Alur utama1. User menyeret ke Terkirim atau menekan aksi kirim pada kartu.
2. Sistem membuka modal pilih kurir (karyawan).
3. User memilih kurir lalu konfirmasi.
4. Sistem mengirim update bulk sent berisi invoice_pengiriman_id dan pengirim.
Alur negatif- Jika kurir belum dipilih, muncul "Kurir belum dipilih!".
- Jika modal kurir dibatalkan setelah drag, kartu dikembalikan dengan peringatan kurir belum dipilih.
Bisnis rule- Nama pengirim diambil dari nama karyawan terpilih.
PostkondisiInvoice berstatus Terkirim
TriggerUser drag ke Terkirim atau aksi kirim pada kartu
Kode FRFR-06

UC-06 : Menandai pengiriman selesai​

AktorUser gudang dengan hak dasar
DeskripsiUser menandai invoice terkirim sebagai Selesai dengan mengisi penerima
PrekondisiAda kartu di kolom Terkirim
Alur utama1. User menekan aksi selesai pada kartu atau Tandai Sebagai Selesai (jika lebih dari satu).
2. Sistem membuka modal penerima.
3. User mengisi penerima lalu konfirmasi.
4. Sistem mengirim update bulk selesai berisi invoice_pengiriman_id dan penerima.
5. Kartu hilang dari kanban.
Alur negatif- Jika penerima kosong, muncul "Penerima belum diisi!".
- Jika server menolak, muncul pesan error.
Bisnis rule- Status Selesai tidak punya kolom kanban; kartu difilter keluar dari daftar.
PostkondisiInvoice berstatus Selesai
TriggerUser menandai selesai pada kartu Terkirim
Kode FRFR-07

UC-07 : Melihat detail invoice pengiriman​

AktorUser gudang dengan hak lihat
DeskripsiUser membuka halaman detail satu invoice pengiriman
PrekondisiInvoice pengiriman ada
Alur utama1. User membuka /brand/:id/pengiriman-barang/lihat/:idx.
2. Sistem memuat detail invoice beserta baris barang, gudang, dan pengirim.
3. Sistem menampilkan informasi dan rincian.
Alur negatif- Jika gagal memuat, detail tidak lengkap / kosong.
Bisnis rule-
PostkondisiDetail invoice tampil
TriggerUser membuka halaman lihat
Kode FRFR-08

5. Data Flow Diagram​

DFD-01 — Alur status pengiriman barang​

6. Sequence Diagram​

SD-01 — UC-01 : Melihat kanban pengiriman barang​

SD-02 — UC-02 : Memproses picking barang​

SD-03 — UC-03 : Memproses packing barang​

SD-04 — UC-04 : Memindahkan ke Ready to Send dengan pemeriksa​

SD-05 — UC-05 : Mengirim barang dengan kurir​

SD-06 — UC-06 : Menandai pengiriman selesai​

SD-07 — UC-07 : Melihat detail invoice pengiriman​

7. Table Schema​

8. API Schema​

EndpointStatusPerubahan
GET /invoice-pengiriman-barangexisting-
GET /invoice-pengiriman-barang/:idexisting-
POST /invoice-pengiriman-barangexisting-
PUT /invoice-pengiriman-barang/:idexisting-
PUT /invoice-pengiriman-barang/invoice-only/:idexisting-
PUT /invoice-pengiriman-barang/bulkexisting-
DELETE /invoice-pengiriman-barang/by-modul/:idexisting-
GET /pengiriman-barangexisting-
PUT /pengiriman-barang/bulkexisting-