CountriesController.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. use Illuminate\Support\Facades\DB;
  5. use Throwable;
  6. class CountriesController extends Controller
  7. {
  8. private $response_controller;
  9. private $encrypt_controller;
  10. public function __construct()
  11. {
  12. $this->response_controller = new ResponseController();
  13. $this->encrypt_controller = new EncryptionController();
  14. }
  15. public function getCountries($line_number)
  16. {
  17. try {
  18. // Busca si el subcontratista existe
  19. $countries = DB::table("S002V01TPAIS")
  20. ->select(
  21. "PAIS_IDPA as COUNTRY_ID",
  22. "PAIS_NOMB as NAME",
  23. "PAIS_LADA as LADA",
  24. "PAIS_NOME AS NOMECLARUTA_ISO2",
  25. "PAIS_NOM2 AS NOMECLARUTA_ISO3"
  26. )
  27. ->where('PAIS_NULI', '=', $line_number)
  28. ->get();
  29. // Verifica si el objeto esta vacio
  30. if (!isset($countries[0]) && empty($countries[0])) {
  31. return $this->response_controller
  32. ->makeResponse(TRUE, "ERR_SUBCONTRATISTA_REG001: No se encontró al subcontratista", $countries, 500);
  33. }
  34. return $this->response_controller->makeResponse(FALSE, 'Consulta exitosa', $countries);
  35. } catch (Throwable $th) {
  36. return $this->response_controller
  37. ->makeResponse(TRUE, 'ERR_SUBCONTRATISTA_REG005: Error inesperado', strtoupper($th->getMessage()), 500);
  38. }
  39. }
  40. }