ultimatepos/app/Modules/Maintenance/Models/PreventiveSchedule.php

75 lines
1.7 KiB
PHP

<?php
namespace App\Modules\Maintenance\Models;
use App\Business;
use App\User;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class PreventiveSchedule extends Model
{
use SoftDeletes;
protected $table = 'maintenance_preventive_schedules';
protected $fillable = [
'business_id',
'equipment_id',
'project_id',
'production_line_id',
'title',
'description',
'frequency_type',
'frequency_value',
'reminder_days_before',
'last_performed_at',
'next_due_at',
'running_hours_trigger',
'cycle_count_trigger',
'production_quantity_trigger',
'assigned_user_id',
'is_active',
];
protected $casts = [
'last_performed_at' => 'datetime',
'next_due_at' => 'datetime',
'running_hours_trigger' => 'decimal:2',
'is_active' => 'boolean',
];
protected static function booted(): void
{ }
public function business()
{
return $this->belongsTo(Business::class);
}
public function equipment()
{
return $this->belongsTo(Equipment::class, 'equipment_id');
}
public function project()
{
return $this->belongsTo(\Modules\Project\Entities\Project::class, 'project_id');
}
public function productionLine()
{
return $this->belongsTo(ProductionLine::class, 'production_line_id');
}
public function assignedUser()
{
return $this->belongsTo(User::class, 'assigned_user_id');
}
public function workOrders()
{
return $this->hasMany(WorkOrder::class, 'preventive_schedule_id');
}
}