Files
sam-manage/app/Models/Equipment/EquipmentInspectionDetail.php

64 lines
1.5 KiB
PHP

<?php
namespace App\Models\Equipment;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
class EquipmentInspectionDetail extends Model
{
protected $connection = 'codebridge';
protected $fillable = [
'inspection_id',
'template_item_id',
'check_date',
'result',
'note',
];
protected $casts = [
'check_date' => 'date',
];
public function inspection(): BelongsTo
{
return $this->belongsTo(EquipmentInspection::class, 'inspection_id');
}
public function templateItem(): BelongsTo
{
return $this->belongsTo(EquipmentInspectionTemplate::class, 'template_item_id');
}
public function getResultSymbolAttribute(): string
{
return match ($this->result) {
'good' => '○',
'bad' => 'X',
'repaired' => '△',
default => '',
};
}
public function getResultColorAttribute(): string
{
return match ($this->result) {
'good' => 'text-green-600',
'bad' => 'text-red-600',
'repaired' => 'text-yellow-600',
default => 'text-gray-400',
};
}
public static function getNextResult(?string $current): ?string
{
return match ($current) {
null, '' => 'good',
'good' => 'bad',
'bad' => 'repaired',
'repaired' => null,
default => 'good',
};
}
}