star-cloud/app/Models/Warehouse/TransferOrder.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

86 lines
1.8 KiB
PHP

<?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 TransferOrder extends Model
{
use HasFactory, SoftDeletes, TenantScoped;
protected $fillable = [
'company_id',
'order_no',
'type',
'from_warehouse_id',
'from_machine_id',
'to_warehouse_id',
'status',
'note',
'created_by',
'completed_at',
];
protected $casts = [
'completed_at' => 'datetime',
];
/**
* 調撥類型常數
*/
public const TYPE_W2W = 'warehouse_to_warehouse';
public const TYPE_M2W = 'machine_to_warehouse';
/**
* 狀態常數
*/
public const STATUS_DRAFT = 'draft';
public const STATUS_PENDING = 'pending';
public const STATUS_IN_TRANSIT = 'in_transit';
public const STATUS_COMPLETED = 'completed';
public const STATUS_CANCELLED = 'cancelled';
/**
* 來源倉庫
*/
public function fromWarehouse()
{
return $this->belongsTo(Warehouse::class, 'from_warehouse_id');
}
/**
* 來源機台(機台退回時)
*/
public function fromMachine()
{
return $this->belongsTo(\App\Models\Machine\Machine::class, 'from_machine_id');
}
/**
* 目標倉庫
*/
public function toWarehouse()
{
return $this->belongsTo(Warehouse::class, 'to_warehouse_id');
}
/**
* 調撥單明細
*/
public function items()
{
return $this->hasMany(TransferOrderItem::class);
}
/**
* 建立人
*/
public function creator()
{
return $this->belongsTo(\App\Models\System\User::class, 'created_by');
}
}