parfum/docs/WAREHOUSE_AUDIT_FEATURE.md

58 lines
2.3 KiB
Markdown

# Fitur Audit Gudang
## Deskripsi
Fitur audit gudang memungkinkan pengguna untuk melihat riwayat perubahan stok untuk setiap item (parfum, produk, botol) di gudang tertentu. Fitur ini mirip dengan fitur audit stock di outlet, tetapi disesuaikan untuk konteks gudang.
## File yang Dibuat
### 1. Livewire Components
- `app/Livewire/Studio/Master/Warehouse/Audit/Perfume.php` - Component untuk audit parfum di gudang
- `app/Livewire/Studio/Master/Warehouse/Audit/Product.php` - Component untuk audit produk di gudang
- `app/Livewire/Studio/Master/Warehouse/Audit/Bottle.php` - Component untuk audit botol di gudang
### 2. View Template
- `resources/views/components/sections/ui/warehouse-audit.blade.php` - Template view untuk menampilkan audit log
## File yang Dimodifikasi
### 1. Routes
- `routes/pages/studio.php`
- Menambahkan import untuk 3 audit components
- Menambahkan 3 route baru untuk audit:
- `studio.master.warehouse.perfume.audit`
- `studio.master.warehouse.product.audit`
- `studio.master.warehouse.bottle.audit`
### 2. Warehouse Show Component
- `app/Livewire/Studio/Master/Warehouse/Show.php`
- Mengupdate method `getItemsProperty()` untuk menambahkan `hash_id` dan `type_key` pada setiap item
### 3. Warehouse Show View
- `resources/views/livewire/studio/master/warehouse/show.blade.php`
- Menambahkan kolom "Aksi" pada tabel
- Menambahkan tombol "Audit" untuk setiap item yang mengarah ke halaman audit
## Cara Penggunaan
1. Buka halaman detail gudang (`/studio/master/warehouses/{warehouse}/show`)
2. Pada tabel daftar item, klik tombol "Audit" pada item yang ingin dilihat riwayatnya
3. Halaman audit akan menampilkan:
- Log aktivitas stok (increase, decrease, updated, deleted)
- Informasi lokasi dan tipe lokasi
- Stok awal, perubahan, dan stok akhir
- User yang melakukan perubahan
- Deskripsi aktivitas
- Timestamp
## Permissions
Fitur ini menggunakan permission yang sama dengan audit outlet:
- `can:audit perfume`
- `can:audit product`
- `can:audit bottle`
## Catatan Teknis
- Activity log menggunakan Spatie Activity Log package
- Filter berdasarkan `properties->warehouse_id` untuk memastikan hanya menampilkan log yang relevan dengan gudang tertentu
- Menggunakan `AuditStockStatus` enum untuk status perubahan stok
- View menggunakan Flux UI components