'Площадки', 'reclamations' => 'Рекламации', 'mafs' => 'МАФы', 'catalog' => 'Каталог', 'spare_part_orders' => 'Заказы запчастей', 'maf_orders' => 'Заказы МАФ', ]; const STATUS_LABELS = [ 'new' => 'Новый', 'pending' => 'В ожидании', 'in_progress' => 'В процессе', 'completed' => 'Завершён', 'failed' => 'Ошибка', 'DONE' => 'Завершён', 'ERROR' => 'Ошибка', ]; protected $fillable = [ 'type', 'year', 'filename', 'status', 'result', 'user_id', 'file_path', 'original_filename', ]; public function log(string $message, string $level = 'INFO'): string { $d = date('Y-m-d H:i:s', strtotime('now')); $string = "$d\t$level:\t$message\n"; $this->result = $this->result . $string; return $string; } public function getTypeLabelAttribute(): string { return self::TYPE_LABELS[$this->type] ?? $this->type; } public function getStatusLabelAttribute(): string { return self::STATUS_LABELS[$this->status] ?? $this->status; } }