95 lines
2.5 KiB
PHP
95 lines
2.5 KiB
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
|
|
class OrdemServico extends Model
|
|
{
|
|
use HasFactory;
|
|
|
|
protected $fillable = [
|
|
'descricao', 'cliente_id', 'usuario_id', 'empresa_id', 'valor', 'data_inicio', 'data_entrega', 'funcionario_id',
|
|
'forma_pagamento', 'codigo_sequencial', 'caixa_id', 'local_id', 'adiantamento', 'veiculo_id', 'hash_link',
|
|
'tipo_servico', 'diagnostico_cliente', 'diagnostico_tecnico', 'defeito_encontrado', 'equipamento', 'numero_serie',
|
|
'cor', 'marca', 'modelo'
|
|
];
|
|
|
|
public function servicos(){
|
|
return $this->hasMany(ServicoOs::class, 'ordem_servico_id', 'id');
|
|
}
|
|
|
|
public function empresa(){
|
|
return $this->belongsTo(Empresa::class, 'empresa_id');
|
|
}
|
|
|
|
public function itens(){
|
|
return $this->hasMany(ProdutoOs::class, 'ordem_servico_id', 'id');
|
|
}
|
|
|
|
public function fatura(){
|
|
return $this->hasMany(FaturaOrdemServico::class, 'ordem_servico_id', 'id');
|
|
}
|
|
|
|
public function relatorios(){
|
|
return $this->hasMany(RelatorioOs::class, 'ordem_servico_id', 'id');
|
|
}
|
|
|
|
public function funcionarios(){
|
|
return $this->hasMany(FuncionarioOs::class, 'ordem_servico_id', 'id');
|
|
}
|
|
|
|
public function funcionario(){
|
|
return $this->belongsTo(Funcionario::class, 'funcionario_id');
|
|
}
|
|
|
|
public function oticaOs(){
|
|
return $this->hasOne(OticaOs::class, 'ordem_servico_id');
|
|
}
|
|
|
|
public function medicaoReceitaOs(){
|
|
return $this->hasOne(MedicaoReceitaOs::class, 'ordem_servico_id');
|
|
}
|
|
|
|
public function cliente(){
|
|
return $this->belongsTo(Cliente::class, 'cliente_id');
|
|
}
|
|
|
|
public function veiculo(){
|
|
return $this->belongsTo(Veiculo::class, 'veiculo_id');
|
|
}
|
|
|
|
public function usuario(){
|
|
return $this->belongsTo(User::class, 'usuario_id');
|
|
}
|
|
|
|
public static function estados(){
|
|
return [
|
|
'pd' => 'Pedente',
|
|
'ap' => 'Aprovado',
|
|
'rp' => 'Reprovado',
|
|
'fz' => 'Finalizado',
|
|
];
|
|
}
|
|
|
|
|
|
public static function tiposDeOrdemServico(){
|
|
return [
|
|
'normal' => 'Normal',
|
|
'assistencia técinica' => 'Assistência técnica',
|
|
'oficina' => 'Oficina',
|
|
];
|
|
}
|
|
|
|
public static function tiposDeServico(){
|
|
return [
|
|
'' => 'Selecione',
|
|
'reparo' => 'Reparo',
|
|
'manutenção' => 'Manutenção',
|
|
'instalação' => 'Instalação',
|
|
];
|
|
}
|
|
|
|
}
|