# Vendor Pricelist

- Module key: `VendorPricelist`
- Category: `Project/Logistik`
- Path: `app/Modules/VendorPricelist`

## Ringkasan

Vendor Pricelist berada di kategori Project/Logistik. Modul ini memiliki 8 definisi route, 1 controller, 1 model, dan 1 view. Database module terdeteksi pada tabel: `vendor_pricelists`.

## Flowchart

```mermaid
flowchart TD
    A[User / Operator] --> B[Menu Vendor Pricelist]
    B --> C[Routes: 8]
    C --> D[Controllers: 1]
    D --> E[Views: 1]
    D --> F[(Tables: 1<br/>vendor_pricelists)]
    D --> G[Validation / Business Rules]
    G --> F
    F --> H[Report / Export / Audit]
```


## Routes

- `Route::middleware(['auth', 'ip.block', 'menu.access'])`  
  File: `app/Modules/VendorPricelist/routes/web.php`
- `Route::get('/', [VendorPricelistController::class, 'index'])->name('page');`  
  File: `app/Modules/VendorPricelist/routes/web.php`
- `Route::get('/data', [VendorPricelistController::class, 'data'])->name('data');`  
  File: `app/Modules/VendorPricelist/routes/web.php`
- `Route::post('/', [VendorPricelistController::class, 'store'])->name('store');`  
  File: `app/Modules/VendorPricelist/routes/web.php`
- `Route::put('/{id}', [VendorPricelistController::class, 'update'])->name('update');`  
  File: `app/Modules/VendorPricelist/routes/web.php`
- `Route::post('/{id}/toggle', [VendorPricelistController::class, 'toggleActive'])->name('toggle');`  
  File: `app/Modules/VendorPricelist/routes/web.php`
- `Route::get('/vendors/search', [VendorPricelistController::class, 'vendorsSearch'])->name('vendors.search');`  
  File: `app/Modules/VendorPricelist/routes/web.php`
- `Route::get('/items/search', [VendorPricelistController::class, 'itemsSearch'])->name('items.search');`  
  File: `app/Modules/VendorPricelist/routes/web.php`

## Controllers

- `app/Modules/VendorPricelist/Http/Controllers/VendorPricelistController.php`

## Models

- `app/Modules/VendorPricelist/Models/VendorPricelistModel.php`

## Views

- `app/Modules/VendorPricelist/Resources/views/index.blade.php`

## Database / Migration

### `vendor_pricelists`
- Actions: `create`
- Columns: 13
  - `vendor_id:foreignId`
  - `item_id:foreignId`
  - `currency:string`
  - `price:decimal`
  - `min_qty:decimal`
  - `effective_from:date`
  - `effective_to:date`
  - `notes:text`
  - `is_active:boolean`
  - `created_by:unsignedBigInteger`
  - `updated_by:unsignedBigInteger`
  - `vendor_id:index`
  - `is_active:index`
- Migrations:
  - `app/Modules/VendorPricelist/Database/migrations/2026_03_26_130000_create_vendor_pricelist_table.php`
