/ app / Utils / OracleTokens.php
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  }