UOM Component
Responsibilities
Section titled “Responsibilities”Mengelola satuan ukur dasar untuk pencatatan kuantitas dan konsistensi data barang.
Interfaces/APIs
Section titled “Interfaces/APIs”Inputs
Section titled “Inputs”- Kode UOM
- Nama satuan
- Deskripsi satuan
- Status aktif
Outputs
Section titled “Outputs”- Referensi UOM standar yang digunakan oleh produk dan transaksi stok.
Error Handling
Section titled “Error Handling”- Menolak kode atau nama satuan duplikat
- Menolak data satuan wajib yang kosong
- Menolak perubahan satuan yang masih dipakai referensi aktif.
Data Structures:
Section titled “Data Structures:”| Field | Data Type | Constraints | Nullable | Description |
|---|---|---|---|---|
| uom_id | ULID | Primary Key | Tidak | Identifier unik satuan ukur |
| code | VARCHAR(50) | Unique, Not Null | Tidak | Kode UOM untuk referensi teknis |
| name | VARCHAR(50) | Unique, Not Null | Tidak | Nama satuan ukur |
| description | TEXT | Ya | Ya | Deskripsi satuan |
| precision_scale | INT | >= 0 | Tidak | Skala pembulatan kuantitas |
| is_reference | BOOLEAN | Default false | Tidak | Penanda satuan referensi dalam kategori |
| is_active | BOOLEAN | Default true | Tidak | Status aktivasi satuan |
| updated_at | TIMESTAMP | Auto update timestamp | Tidak | Waktu pembaruan data terakhir |
Algorithms/Logic
Section titled “Algorithms/Logic”Menjamin definisi satuan referensi tunggal per kategori, memvalidasi konsistensi skala pembulatan, dan mencegah penggunaan satuan nonaktif pada transaksi baru.
State Management
Section titled “State Management”Menyimpan state UOM aktif per kategori agar pemilihan satuan tetap terkendali lintas modul.