star-cloud/app/Models/Warehouse/Warehouse.php
sky121113 315c226560 [FEAT] 倉儲管理系統模組實作與全站 UI/UX 標準化優化
1. 實作倉儲管理系統 (Warehouse Management):包含總覽、庫存、調撥、機台庫存與補貨模組。
2. 建立倉儲相關資料結構:新增 warehouses, warehouse_stocks, stock_in_orders, stock_movements, transfer_orders, replenishment_orders 等資料表。
3. 優化商品管理 (Product Management) 介面:調整商品與類別管理的分頁、搜尋與編輯邏輯,並導入極簡奢華風 UI。
4. 增強遠端機台管理 (Remote Machine Management):優化機台清單、庫存監控與遠端出貨介面,提升載入效能。
5. 更新全站導覽選單 (Sidebar):整合倉儲管理入口,並修復側邊欄語法錯誤。
6. 標準化分頁組件 (Pagination):套用 luxury 奢華風分頁樣式。
7. 補齊多語系語系檔 (i18n):更新 zh_TW.json,包含倉儲與商品模組相關詞彙。
2026-04-23 11:51:08 +08:00

83 lines
1.5 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace App\Models\Warehouse;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use App\Traits\TenantScoped;
class Warehouse extends Model
{
use HasFactory, SoftDeletes, TenantScoped;
protected $fillable = [
'company_id',
'name',
'type',
'address',
'manager_user_id',
'is_active',
];
protected $casts = [
'is_active' => 'boolean',
];
/**
* Scope僅篩選啟用的倉庫
*/
public function scopeActive($query)
{
return $query->where('is_active', true);
}
/**
* Scope僅篩選總倉
*/
public function scopeMain($query)
{
return $query->where('type', 'main');
}
/**
* Scope僅篩選分倉
*/
public function scopeBranch($query)
{
return $query->where('type', 'branch');
}
/**
* 倉庫負責人
*/
public function manager()
{
return $this->belongsTo(\App\Models\System\User::class, 'manager_user_id');
}
/**
* 倉庫庫存(各商品)
*/
public function stocks()
{
return $this->hasMany(WarehouseStock::class);
}
/**
* 庫存異動紀錄
*/
public function movements()
{
return $this->hasMany(StockMovement::class);
}
/**
* 入庫單
*/
public function stockInOrders()
{
return $this->hasMany(StockInOrder::class);
}
}