Picking Order Component
Responsibilities
Section titled “Responsibilities”Mengelola task picking dari assignment operator sampai konfirmasi hasil pick sebelum dispatch.
Interfaces/APIs
Section titled “Interfaces/APIs”Inputs
Section titled “Inputs”- Nomor picking task
- Outbound Order ID
- Assignment operator
- Lokasi sumber dan produk
- Kuantitas target pick
Outputs
Section titled “Outputs”- Task picking tervalidasi dengan progres pick untuk proses packing dan dispatch.
Error Handling
Section titled “Error Handling”- Menolak outbound order tidak valid
- Menolak assignment operator tidak sah
- Menolak kuantitas picked melebihi kuantitas yang dialokasikan.
Data Structures:
Section titled “Data Structures:”| Field | Data Type | Constraints | Nullable | Description |
|---|---|---|---|---|
| picking_order_id | ULID | Primary Key | Tidak | Identifier unik picking task |
| task_number | VARCHAR(50) | Unique, Not Null | Tidak | Nomor task picking |
| outbound_order_id | ULID | Foreign Key -> outbound_order.outbound_order_id | Tidak | Relasi task ke outbound order |
| assigned_to | ULID | Foreign Key -> user.user_id | Ya | Operator yang ditugaskan |
| status | ENUM(‘DRAFT’,‘ASSIGNED’,‘IN_PROGRESS’,‘COMPLETED’,‘CANCELLED’) | Not Null | Tidak | Status task picking |
| started_at | TIMESTAMP | Ya | Ya | Waktu mulai eksekusi picking |
| completed_at | TIMESTAMP | Ya | Ya | Waktu selesai picking |
| picked_qty_total | DECIMAL(15,2) | >= 0 | Tidak | Total kuantitas hasil pick |
Algorithms/Logic
Section titled “Algorithms/Logic”Menentukan assignment dan urutan eksekusi pick, memvalidasi progres kuantitas, serta mengubah status task berdasarkan penyelesaian line picking.
State Management
Section titled “State Management”Menyimpan state task picking secara real-time untuk memantau workload operator dan kesiapan dispatch.