OracleTokens.php
1 <?php 2 3 namespace App\Utils; 4 5 use App\Http\Services\SettingService; 6 use App\Models\Dossier; 7 8 class OracleTokens 9 { 10 11 private ?\Illuminate\Database\Eloquent\Model $settings; 12 13 public function __construct(public Dossier $dossier) 14 { 15 $this->settings = SettingService::getAll(); 16 } 17 18 public function declaracion_seguridad() 19 { 20 return $this->dossier->st_name ?? ''; 21 } 22 23 public function expediente_descripcion() 24 { 25 return $this->dossier->description ?? ''; 26 } 27 28 public function expediente_numero() 29 { 30 return $this->dossier->code ?? ''; 31 } 32 33 public function laboratorio() 34 { 35 return $this->dossier?->laboratory?->name ?? ''; 36 } 37 38 public function nivel_evaluacion() 39 { 40 return $this->dossier?->normScope?->name ?? ''; 41 } 42 43 public function norma() 44 { 45 return $this->dossier?->norm?->name ?? ''; 46 } 47 48 public function perfil_proteccion() 49 { 50 return $this->dossier?->ppNames ?? ''; 51 } 52 53 public function resolucion_anio() 54 { 55 return $this->dossier?->resolution?->date_year ?? ''; 56 } 57 58 public function resolucion_codInformeCertificacion() 59 { 60 return $this->dossier?->resolution?->inforCert?->document?->name; 61 } 62 63 public function resolucion_fecha() 64 { 65 if ($this->dossier->resolution) 66 return $this->dossier->resolution->certification_date ? $this->dossier->resolution->certification_date->format('d/m/Y') : ''; 67 68 return ''; 69 } 70 71 public function resolucion_fecha_ingles() 72 { 73 if ($this->dossier->resolution) 74 return $this->dossier->resolution->certification_date ? $this->dossier->resolution->certification_date->format('Y/m/d') : ''; 75 76 return ''; 77 } 78 79 public function resolucion_numero() 80 { 81 return $this->dossier?->resolution?->resolution_number ?? ''; 82 } 83 84 public function sed() 85 { 86 //TODO: Needs mapping while taking date of the file in account 87 return $this->settings->head ?? ''; 88 } 89 90 public function solicitante() 91 { 92 return $this->dossier?->applicant?->name ?? ''; 93 } 94 95 public function solicitante_direccion() 96 { 97 return $this->dossier?->applicant?->contactInfo?->full_address ?? ''; 98 } 99 100 public function toe_tipo() 101 { 102 $types = $this->dossier?->toe?->types; 103 104 if (!$types) 105 return $types; 106 107 return implode(', ', $types); 108 } 109 110 111 }