src/Services/WebServiceFunciones.php line 49

  1. <?php
  2. namespace App\Services;
  3. use App\Entity\Divisa;
  4. use Doctrine\ORM\EntityManagerInterface;
  5. use App\Entity\User;
  6. use Psr\Log\LoggerInterface;
  7. /**
  8.  * No pilla la libreria con Namespace :'(
  9.  */
  10. require_once('NTLMStream.php');
  11. ini_set("soap.wsdl_cache_enabled"0);
  12. /**
  13.  * ¿Mover esto a parámetros?
  14.  */
  15. if(!defined('USERPWD')){
  16. //     define('USERPWD', 'web:3ur0ch4ng3');
  17.     define('USERPWD','web:RpvGer43,567W12@@');
  18. }
  19. class WebServiceFunciones
  20. {
  21.     /**
  22.      * @var NTLMSoapClient Extension de SOAPClient para poder conectar al WS
  23.      */
  24.     private $ClienteSoap;
  25.     /**
  26.      * @var EntityManager Entity manager default
  27.      */
  28.     private $em;
  29.     /**
  30.      * @var Logger $logger Registra todas las operaciones con el ERP
  31.      */
  32.     private $logger;
  33.     /**
  34.      * Contructor del WEBService
  35.      * @param EntityManager $em Entity manager
  36.      * @param Logger $logger Registra todas las operaciones que realicemos
  37.      */
  38.     public function __construct(EntityManagerInterface $emLoggerInterface $webservicesLogger)
  39.     {
  40.         try{
  41. //             $baseURL = 'http://getems.ddns.net:9047/WEB/WS/Backoffice%20Eurochange/Codeunit/WSFunciones';
  42.             $baseURL 'http://142.132.143.176:9047/WEB/WS/Backoffice%20Eurochange/Codeunit/WSFunciones';
  43.             
  44.             $this->em=$em;
  45.             stream_wrapper_unregister('http');
  46.             stream_wrapper_register('http'NTLMStream::class)/* or die("Failed to register protocol")*/;
  47.             $this->logger=$webservicesLogger;
  48.             //$baseURL=__DIR__.'/WSFunciones.xml';
  49.             $this->ClienteSoap = new NTLMSoapClient($baseURL,array("trace"=>1));
  50.         }catch(\SoapFault $fault){
  51.             $this->logger->critical('[DINAMIC][EXCEPCION][1/1][CONECTAR WSFUNCIONES] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());
  52.         }
  53.     }
  54.     /**
  55.      * @deprecated Esta función solo se llama para sacar el listado de tipos de documentos
  56.      * del ERP. EL carnet de identidad consta en su BBDD pero en la nuestra ha sido eliminado
  57.      * a petición del cliente
  58.      * @return array Listado de tipos de documentos
  59.      */
  60.     public function getTiposDocumento(){
  61.         try{
  62.             $args = array(
  63.                 'setSize' => 100,
  64.                 'filter' => array(
  65.                 array("Field"=>'Key',"Criteria"=>'*')
  66.                 )
  67.             );
  68.            return  $documentos=(array) $this->ClienteSoap->ReadMultiple($args);
  69.         }catch(\SoapFault $faul){
  70.             return $this->redirect($url301);
  71.         }
  72.     }
  73.     /**
  74.      * Busca un cliente por número de identificación
  75.      * @param $id Numero de identificacion del cliente
  76.      * @return bool|string
  77.      */
  78.     public function getClienteporNumId($id){
  79.         $args = array(
  80.             'numId' => $id
  81.         );
  82.         try{
  83.             $clientes=$this->ClienteSoap->GetClientePorNumId($args);
  84.             $this->logger->info('[DINAMIC][INFO][1/2][GET CLIENTE POR ID] ' $this->ClienteSoap->__getLastRequest() . PHP_EOL "\t con los argumentos: " json_encode($args));
  85.             $this->logger->info('[DINAMIC][INFO][2/2][GET CLIENTE POR ID] Respuesta del servidor: ' $this->ClienteSoap->__getLastResponse());
  86.                 if($clientes->return_value!=""){
  87.                 //@deprecated Solo va a devolver 1 cliente
  88.                 if(count((array) $clientes->return_value)>1){
  89.                     foreach ($clientes->return_value->WSListaClientes as $cliente) {
  90.                         $salida=$cliente->key;
  91.                     }
  92.                 }
  93.                 else if (count((array) $clientes->return_value)){
  94. //                    $this->logger->info('[DINAMIC][INFO][1/2][GET CLIENTE POR ID] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  95. //                    $this->logger->info('[DINAMIC][INFO][2/2][GET CLIENTE POR ID] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  96.                     return $clientes->return_value;
  97.                 }
  98.             }
  99.         }catch (\SoapFault $fault){
  100.             $this->logger->critical('[DINAMIC][EXCEPTION][1/3][GET CLIENTE POR ID] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  101.             $this->logger->critical('[DINAMIC][EXCEPTION][2/3][GET CLIENTE POR ID] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  102.             $this->logger->critical('[DINAMIC][EXCEPCION][3/3][GET CLIENTE POR ID] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());
  103.             return false;
  104.         }
  105.         $this->logger->error('[DINAMIC][ERROR][1/2][GET CLIENTE POR ID] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  106.         $this->logger->error('[DINAMIC][ERROR][2/2][GET CLIENTE POR ID] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  107.         return false;
  108.     }
  109.     /**
  110.      * Devuelve los puntos acumulados
  111.      * @param string $key Código del cliente NAV
  112.      * @return bool|mixed Número de puntos o false en caso de que falle
  113.      */
  114.     public function GetPuntosAcumulados($key){
  115.         $args = array(
  116.             'codClienteNAV' => $key
  117.         );
  118.         try {
  119.             //var_dump($this->ClienteSoap->__getFunctions());
  120.             $puntos = (array)$this->ClienteSoap->GetPuntosAcumulados($args);
  121.             if ($puntos != "") {
  122. //                $this->logger->info('[DINAMIC][INFO][1/2][GET PUNTOS] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  123. //                $this->logger->info('[DINAMIC][INFO][2/2][GET PUNTOS] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  124.                 return $puntos['return_value'];
  125.             }
  126.         }catch (\SoapFault $fault){
  127.             $this->logger->critical('[DINAMIC][EXCEPTION][1/3][GET PUNTOS] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  128.             $this->logger->critical('[DINAMIC][EXCEPTION][2/3][GET PUNTOS] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  129.             $this->logger->critical('[DINAMIC][EXCEPCION][3/3][GET PUNTOS] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());
  130.             return false;
  131.         }
  132.         $this->logger->error('[DINAMIC][ERROR][1/2][GET PUNTOS] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  133.         $this->logger->error('[DINAMIC][ERROR][2/2][GET PUNTOS] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  134.         return false;
  135.     }
  136.     /**
  137.      * Carga el historial de un cliente
  138.      * @param string $key Código NAV del cliente
  139.      * @return bool|mixed Historial del cliente|false en caso contrario
  140.      */
  141.     public function getHistorial($key){
  142.         $args = array(
  143.             'codCliente' => $key,
  144.             'wSExpHistorial' =>''
  145.         );
  146.         try{
  147.             $historial=(array) $this->ClienteSoap->ExportarHistorialCompras($args);
  148.             if($historial!=""){
  149. //                $this->logger->info('[DINAMIC][INFO][1/2][GET HISTORIAL] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  150. //                $this->logger->info('[DINAMIC][INFO][2/2][GET HISTORIAL] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  151.                 return $historial['wSExpHistorial'];
  152.             }
  153.         }catch(\SoapFault $fault){
  154.             $this->logger->critical('[DINAMIC][EXCEPTION][1/3][GET HISTORIAL] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  155.             $this->logger->critical('[DINAMIC][EXCEPTION][2/3][GET HISTORIAL] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  156.             $this->logger->critical('[DINAMIC][EXCEPCION][3/3][GET HISTORIAL] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());
  157.             return false;
  158.         }
  159.         $this->logger->error('[DINAMIC][ERROR][1/2][GET HISTORIAL] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  160.         $this->logger->error('[DINAMIC][ERROR][2/2][GET HISTORIAL] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  161.         return false;
  162.     }
  163.     /**
  164.      * Genera un ticket en el FTP del ERP, más tarde hay
  165.      * que descargarlo por FTP.
  166.      * @param string $key Código de la operación
  167.      * @return array|bool $ticket El código del ticket
  168.      */
  169.     public function generarPDFTicket($key){
  170.         $args = array(
  171.             'noTicket' => $key,
  172.             'tipoTicket' => ''
  173.         );
  174.         try {
  175.             $ticket = (array)$this->ClienteSoap->GenerarPDFTicket($args);
  176.             if($ticket){
  177.                 $this->logger->info('[DINAMIC][INFO][1/2][GENERAR PDF TICKET] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  178.                 $this->logger->info('[DINAMIC][INFO][2/2][GENERAR PDF TICKET] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  179.                 return $ticket;
  180.             }
  181.         }
  182.         catch (\SoapFault $fault){
  183.             $this->logger->critical('[DINAMIC][EXCEPTION][1/3][GENERAR PDF TICKET] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  184.             $this->logger->critical('[DINAMIC][EXCEPTION][2/3][GENERAR PDF TICKET] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  185.             $this->logger->critical('[DINAMIC][EXCEPCION][3/3][GENERAR PDF TICKET] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());
  186.             return false;
  187.         }
  188.         $this->logger->error('[DINAMIC][ERROR][1/2][GENERAR PDF TICKET] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  189.         $this->logger->error('[DINAMIC][ERROR][2/2][GENERAR PDF TICKET] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  190.         return false;
  191.     }
  192.     /**
  193.      * @deprecated La función getDatosCliente del ERP no funciona
  194.      * en su lugar usa la función predefinida findBy del WSUsuarios
  195.      * @param string $key Código del cliente
  196.      * @return bool Estado de la consulta
  197.      */
  198.     public function getDatosCliente($key){
  199.         $args = array(
  200.             'codClienteNAV' => $key,
  201.             'tipoCliente' => '',
  202.             'nombre' =>  '',
  203.             'codPostal' => '',
  204.             'poblacion' => '',
  205.             'provincia' => '',
  206.             'pais'      => '',
  207.             'direccion1' => '',
  208.             'direccion2' => '',
  209.             'fechaCadId' => '',
  210.             'email'     => '',
  211.             'telf'      => '',
  212.             'noFidelizacion' => '',
  213.             'tipoId' =>'',
  214.             'numId' => ''
  215.         );
  216.         if($clientes->return_value!=""){
  217.             if(count((array) $clientes->return_value)>1){
  218.                 foreach ($clientes->return_value->WSListaClientes as $cliente) {
  219.                     $salida=$cliente->$key;
  220.                     echo "Encontrado: [$cliente->$salida] </br>";
  221.                 }
  222.             }
  223.             else if (count((array) $clientes->return_value)){
  224.                  return $clientes->return_value;
  225.             }
  226.         }
  227.         return false;
  228.     }
  229.     /**
  230.      * Tras subir la imágen al ftp del ERP le pasamos el ID de la imagen
  231.      * para que la registre en el cliente
  232.      * @param string $key Código NAV del cliente
  233.      * @param string $path Dirección del fichero en el ERP
  234.      * @return bool Estado de la operación
  235.      */
  236.     public function cargarImagen($key,$path){
  237.         $args = array(
  238.             'codClienteNAV' => $key,
  239.             'nombreFichero' => $path
  240.         );
  241.         
  242.         /////ELIMINAR EN PRODUCCION
  243.         return true;
  244.         
  245.         $this->logger->info('[DINAMIC][INFO][1/2][CARGAR IMAGEN] '."\t con los argumentos: ".json_encode($args));
  246.         try{
  247.             $respuesta=(array) $this->ClienteSoap->CargarImagen($args);
  248.             if($respuesta!=""){
  249.                 return true;
  250.             }
  251.             else{
  252.                $this->logger->info('[DINAMIC][INFO][1/2][CARGAR IMAGEN] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  253.                $this->logger->info('[DINAMIC][INFO][2/2][CARGAR IMAGEN] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  254.             }
  255.         }catch(\SoapFault $fault){
  256.             $this->logger->critical('[DINAMIC][EXCEPTION][1/3][CARGAR IMAGEN] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  257.             $this->logger->critical('[DINAMIC][EXCEPTION][2/3][CARGAR IMAGEN] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  258.             $this->logger->critical('[DINAMIC][EXCEPCION][3/3][CARGAR IMAGEN] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());
  259.             return false;
  260.         }
  261.         $this->logger->error('[DINAMIC][ERROR][1/2][CARGAR IMAGEN] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  262.         $this->logger->error('[DINAMIC][ERROR][2/2][CARGAR IMAGEN] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  263.         return false;
  264.     }
  265.     /**
  266.      *  Modifica la dirección1 de envío del correo. Direccio1 y Direccion2
  267.      *  son concatenaciones de la misma dirección
  268.      * @param string $UserId Código NAV del cliente
  269.      * @param string $direccion1 Dirección del cliente
  270.      * @return bool Estado de la operación
  271.      */
  272.     public function modificarDireccion1($UserId,$direccion1){
  273.         $args = array(
  274.             'codClienteNAV' => $UserId,
  275.             'direccion1' => $direccion1
  276.         );
  277.         try{
  278.             $respuesta=(array) $this->ClienteSoap->modificarDireccion1($args);
  279.             if(empty($respuesta)){
  280.                 $this->logger->info('[DINAMIC][INFO][1/2][MODIFICAR DIRECCION1] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  281.                 $this->logger->info('[DINAMIC][INFO][2/2][MODIFICAR DIRECCION1] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  282.                 return true;
  283.             }
  284.         }catch (\SoapFault $fault){
  285.             $this->logger->critical('[DINAMIC][EXCEPTION][1/3][MODIFICAR DIRECCION1] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  286.             $this->logger->critical('[DINAMIC][EXCEPTION][2/3][MODIFICAR DIRECCION1] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  287.             $this->logger->critical('[DINAMIC][EXCEPCION][3/3][MODIFICAR DIRECCION1] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());
  288.             return false;
  289.         }
  290.         $this->logger->error('[DINAMIC][ERROR][1/2][MODIFICAR DIRECCION1] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  291.         $this->logger->error('[DINAMIC][ERROR][2/2][MODIFICAR DIRECCION1] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  292.         return false;
  293.     }
  294.     /**
  295.      * Modifica la dirección2 de envío del correo. Direccio1 y Direccion2
  296.      *  son concatenaciones de la misma dirección
  297.      * @param string $UserId Código NAV del cliente
  298.      * @param string $direccion1 Dirección del cliente
  299.      * @return bool Estado de la operación
  300.      */
  301.     public function modificarDireccion2($UserId,$direccion2){
  302.         $args = array(
  303.             'codClienteNAV' => $UserId,
  304.             'direccion2' => $direccion2
  305.         );
  306.         try {
  307.             $respuesta = (array)$this->ClienteSoap->modificarDireccion2($args);
  308.             if (empty($respuesta)) {
  309.                 $this->logger->info('[DINAMIC][INFO][1/2][MODIFICAR DIRECCION2] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  310.                 $this->logger->info('[DINAMIC][INFO][2/2][MODIFICAR DIRECCION2] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  311.                 return true;
  312.             }
  313.         }
  314.         catch (\SoapFault $fault){
  315.             $this->logger->critical('[DINAMIC][EXCEPTION][1/3][MODIFICAR DIRECCION2] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  316.             $this->logger->critical('[DINAMIC][EXCEPTION][2/3][MODIFICAR DIRECCION2] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  317.             $this->logger->critical('[DINAMIC][EXCEPCION][3/3][MODIFICAR DIRECCION2] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());
  318.             return false;
  319.         }
  320.         $this->logger->error('[DINAMIC][ERROR][1/2][MODIFICAR DIRECCION2] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  321.         $this->logger->error('[DINAMIC][ERROR][2/2][MODIFICAR DIRECCION2] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  322.         return false;
  323.     }
  324.     /**
  325.      * Modifica la fecha de nacimiento
  326.      * @param string $UserId Código NAV del cliente
  327.      * @param string $fechaNac Fecha de nacimiento
  328.      * @return bool Estado de la operación
  329.      */
  330.     public function modificarFechaNacimiento($UserId,$fechaNac){
  331.         $args = array(
  332.             'codClienteNAV' => $UserId,
  333.             'fechaNac' => $fechaNac
  334.         );
  335.         try {
  336.             $respuesta = (array)$this->ClienteSoap->ModificarFechaNac($args);
  337.             if (empty($respuesta)) {
  338.                 $this->logger->info('[DINAMIC][INFO][1/2][MODIFICAR FECHA NACIMIENTO] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  339.                 $this->logger->info('[DINAMIC][INFO][2/2][MODIFICAR FECHA NACIMIENTO] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  340.                 return true;
  341.             }
  342.         }
  343.         catch (\SoapFault $fault){
  344.             $this->logger->critical('[DINAMIC][EXCEPTION][1/3][MODIFICAR FECHA NACIMIENTO] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  345.             $this->logger->critical('[DINAMIC][EXCEPTION][2/3][MODIFICAR FECHA NACIMIENTO] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  346.             $this->logger->critical('[DINAMIC][EXCEPCION][3/3][MODIFICAR FECHA NACIMIENTO] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());
  347.             return false;
  348.         }
  349.         $this->logger->error('[DINAMIC][ERROR][1/2][MODIFICAR FECHA NACIMIENTO] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  350.         $this->logger->error('[DINAMIC][ERROR][2/2][MODIFICAR FECHA NACIMIENTO] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  351.         return false;
  352.     }
  353.     /**
  354.      * Modifica los datos de la provincia de un cliente
  355.      * @param string $UserId Código NAV del cliente
  356.      * @param string $provincia Nombre de la provincia
  357.      * @return bool Estado de la operación
  358.      */
  359.     public function modificarProvincia($UserId,$provincia){
  360.         $args = array(
  361.             'codClienteNAV' => $UserId,
  362.             'provincia' => $provincia
  363.         );
  364.         try {
  365.             $respuesta = (array)$this->ClienteSoap->ModificarProvincia($args);
  366.             if (empty($respuesta)) {
  367.                 $this->logger->info('[DINAMIC][INFO][1/2][MODIFICAR PROVINCIA] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  368.                 $this->logger->info('[DINAMIC][INFO][2/2][MODIFICAR PROVINCIA] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  369.                 return true;
  370.             }
  371.         }catch (\SoapFault $fault){
  372.             $this->logger->critical('[DINAMIC][EXCEPTION][1/3][MODIFICAR PROVINCIA] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  373.             $this->logger->critical('[DINAMIC][EXCEPTION][2/3][MODIFICAR PROVINCIA] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  374.             $this->logger->critical('[DINAMIC][EXCEPCION][3/3][MODIFICAR PROVINCIA] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());
  375.             return false;
  376.         }
  377.         $this->logger->error('[DINAMIC][ERROR][1/2][MODIFICAR PROVINCIA] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  378.         $this->logger->error('[DINAMIC][ERROR][2/2][MODIFICAR PROVINCIA] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  379.         return false;
  380.     }
  381.     /**
  382.      * Modifica el código postal del usuario
  383.      * @param string $UserId Código NAV del cliente
  384.      * @param string $cp Código postal
  385.      * @return bool Estado de la operación
  386.      */
  387.     public function modificarCodPostal($UserId,$cp){
  388.         $args = array(
  389.             'codClienteNAV' => $UserId,
  390.             'codPostal' => $cp
  391.         );
  392.         try {
  393.             $respuesta = (array)$this->ClienteSoap->ModificarCodPostal($args);
  394.             if (empty($respuesta)) {
  395.                 $this->logger->info('[DINAMIC][INFO][1/2][MODIFICAR CODPOSTAL] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  396.                 $this->logger->info('[DINAMIC][INFO][2/2][MODIFICAR CODPOSTAL] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  397.                 return true;
  398.             }
  399.         }
  400.         catch (\SoapFault $fault){
  401.             $this->logger->critical('[DINAMIC][EXCEPTION][1/3][MODIFICAR CODPOSTAL] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  402.             $this->logger->critical('[DINAMIC][EXCEPTION][2/3][MODIFICAR CODPOSTAL] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  403.             $this->logger->critical('[DINAMIC][EXCEPCION][3/3][MODIFICAR CODPOSTAL] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());
  404.             return false;
  405.         }
  406.         $this->logger->error('[DINAMIC][ERROR][1/2][MODIFICAR CODPOSTAL] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  407.         $this->logger->error('[DINAMIC][ERROR][2/2][MODIFICAR CODPOSTAL] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  408.         return false;
  409.     }
  410.     /**
  411.      * Modifica la población de un usuario
  412.      * @param string $UserId Código NAV del cliente
  413.      * @param string $poblacion Población
  414.      * @return bool Estado de la operación
  415.      */
  416.     public function modificarPoblacion($UserId,$poblacion){
  417.         $args = array(
  418.             'codClienteNAV' => $UserId,
  419.             'poblacion' => $poblacion
  420.         );
  421.         try {
  422.             $respuesta = (array)$this->ClienteSoap->ModificarPoblacion($args);
  423.             if (empty($respuesta)) {
  424.                 $this->logger->info('[DINAMIC][INFO][1/2][MODIFICAR POBLACION] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  425.                 $this->logger->info('[DINAMIC][INFO][2/2][MODIFICAR POBLACION] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  426.                 return true;
  427.             }
  428.         }
  429.         catch (\SoapFault $fault){
  430.             $this->logger->critical('[DINAMIC][EXCEPTION][1/3][MODIFICAR POBLACION] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  431.             $this->logger->critical('[DINAMIC][EXCEPTION][2/3][MODIFICAR POBLACION] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  432.             $this->logger->critical('[DINAMIC][EXCEPCION][3/3][MODIFICAR POBLACION] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());
  433.             return false;
  434.         }
  435.         $this->logger->error('[DINAMIC][ERROR][1/2][MODIFICAR POBLACION] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  436.         $this->logger->error('[DINAMIC][ERROR][2/2][MODIFICAR POBLACION] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  437.         return false;
  438.     }
  439.     /**
  440.      * Modifica el email de un usuario
  441.      * @param string $UserId Código NAV del cliente
  442.      * @param string $email Email del usuario
  443.      * @return bool Estado de la operación
  444.      */
  445.     public function modificarEmail($UserId,$email){
  446.         $args = array(
  447.             'codClienteNAV' => $UserId,
  448.             'email' => $email
  449.         );
  450.         try {
  451.             $respuesta = (array)$this->ClienteSoap->ModificarEmail($args);
  452.             if (empty($respuesta)) {
  453.                 $this->logger->info('[DINAMIC][INFO][1/2][MODIFICAR EMAIL] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  454.                 $this->logger->info('[DINAMIC][INFO][2/2][MODIFICAR EMAIL] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  455.                 return true;
  456.             }
  457.         }
  458.         catch (\SoapFault $fault){
  459.             $this->logger->critical('[DINAMIC][EXCEPTION][1/3][MODIFICAR EMAIL] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  460.             $this->logger->critical('[DINAMIC][EXCEPTION][2/3][MODIFICAR EMAIL] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  461.             $this->logger->critical('[DINAMIC][EXCEPCION][3/3][MODIFICAR EMAIL] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());
  462.             return false;
  463.         }
  464.         $this->logger->error('[DINAMIC][ERROR][1/2][MODIFICAR EMAIL] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  465.         $this->logger->error('[DINAMIC][ERROR][2/2][MODIFICAR EMAIL] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  466.         return false;
  467.     }
  468.     /**
  469.      * Modifica el teléfono de un usuario
  470.      * @param string $UserId Código NAV del cliente
  471.      * @param string $telf Teléfono del usuario
  472.      * @return bool Estado de la operación
  473.      */
  474.     public function modificarTelefono($UserId,$telf){
  475.         $args = array(
  476.             'codClienteNAV' => $UserId,
  477.             'telf' => $telf
  478.         );
  479.         try {
  480.             $respuesta = (array)$this->ClienteSoap->ModificarTelf($args);
  481.             if (empty($respuesta)) {
  482.                 $this->logger->info('[DINAMIC][INFO][1/2][MODIFICAR TELEFONO] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  483.                 $this->logger->info('[DINAMIC][INFO][2/2][MODIFICAR TELEFONO] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  484.                 return true;
  485.             }
  486.         }catch (\SoapFault $fault){
  487.             $this->logger->critical('[DINAMIC][EXCEPTION][1/3][MODIFICAR TELEFONO] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  488.             $this->logger->critical('[DINAMIC][EXCEPTION][2/3][MODIFICAR TELEFONO] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  489.             $this->logger->critical('[DINAMIC][EXCEPCION][3/3][MODIFICAR TELEFONO] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());
  490.             return false;
  491.         }
  492.         $this->logger->error('[DINAMIC][ERROR][1/2][MODIFICAR TELEFONO] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  493.         $this->logger->error('[DINAMIC][ERROR][2/2][MODIFICAR TELEFONO] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  494.         return false;
  495.     }
  496.     /**
  497.      * Modificar el país de un usuario
  498.      * @param string $UserId Código NAV del cliente
  499.      * @param string $pais Pais en ISO2 del usuario
  500.      * @return bool Estado de la operación
  501.      */
  502.     public function modificarPais($UserId,$pais){
  503.         $args = array(
  504.             'codClienteNAV' => $UserId,
  505.             'codPais' => $pais->getIso2()
  506.         );
  507.         try {
  508.             $respuesta = (array)$this->ClienteSoap->ModificarCodPais($args);
  509.             if (empty($respuesta)) {
  510.                 $this->logger->info('[DINAMIC][INFO][1/2][MODIFICAR PAIS] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  511.                 $this->logger->info('[DINAMIC][INFO][2/2][MODIFICAR PAIS] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  512.                 return true;
  513.             }
  514.         }catch (\SoapFault $fault){
  515.             $this->logger->critical('[DINAMIC][EXCEPTION][1/3][MODIFICAR PAIS] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  516.             $this->logger->critical('[DINAMIC][EXCEPTION][2/3][MODIFICAR PAIS] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  517.             $this->logger->critical('[DINAMIC][EXCEPCION][3/3][MODIFICAR PAIS] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());
  518.             return false;
  519.         }
  520.         $this->logger->error('[DINAMIC][ERROR][1/2][MODIFICAR PAIS] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  521.         $this->logger->error('[DINAMIC][ERROR][2/2][MODIFICAR PAIS] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  522.         return false;
  523.     }
  524.     /**
  525.      * Modificar el Nombre de un usuario
  526.      * @param string $UserId Código NAV del cliente
  527.      * @param string $nombre1 Nombre del usuario
  528.      * @return bool Estado de la operación
  529.      */
  530.     public function modificarNombre($UserId,$nombre1){
  531.         $args = array(
  532.             'codClienteNAV' => $UserId,
  533.             'nombre' => $nombre1
  534.         );
  535.         try {
  536.             $respuesta = (array)$this->ClienteSoap->ModificarNombre($args);
  537.             if (empty($respuesta)) {
  538.                 $this->logger->info('[DINAMIC][INFO][1/2][MODIFICAR NOMBRE] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  539.                 $this->logger->info('[DINAMIC][INFO][2/2][MODIFICAR NOMBRE] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  540.                 return true;
  541.             }
  542.         }
  543.         catch (\SoapFault $fault){
  544.             $this->logger->critical('[DINAMIC][EXCEPTION][1/3][MODIFICAR NOMBRE] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  545.             $this->logger->critical('[DINAMIC][EXCEPTION][2/3][MODIFICAR NOMBRE] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  546.             $this->logger->critical('[DINAMIC][EXCEPCION][3/3][MODIFICAR NOMBRE] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());
  547.             return false;
  548.         }
  549.         $this->logger->error('[DINAMIC][ERROR][1/2][MODIFICAR NOMBRE] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  550.         $this->logger->error('[DINAMIC][ERROR][2/2][MODIFICAR NOMBRE] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  551.         return false;
  552.     }
  553.     /**
  554.      * Modificar los apellidos de un usuario
  555.      * @param string $UserId Código NAV del cliente
  556.      * @param string $apellidos
  557.      * @return bool Estado de la operación
  558.      */
  559.     public function modificarApellidos($UserId,$apellidos){
  560.         $args = array(
  561.             'codClienteNAV' => $UserId,
  562.             'apellidos' => $apellidos
  563.         );
  564.         try {
  565.             $respuesta = (array)$this->ClienteSoap->ModificarNombre2($args);
  566.             if (empty($respuesta)) {
  567.                 $this->logger->info('[DINAMIC][INFO][1/2][MODIFICAR APELLIDOS] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  568.                 $this->logger->info('[DINAMIC][INFO][2/2][MODIFICAR APELLIDOS] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  569.                 return true;
  570.             }
  571.         }catch (\SoapFault $fault){
  572.             $this->logger->critical('[DINAMIC][EXCEPTION][1/3][MODIFICAR APELLIDOS] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  573.             $this->logger->critical('[DINAMIC][EXCEPTION][2/3][MODIFICAR APELLIDOS] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  574.             $this->logger->critical('[DINAMIC][EXCEPCION][3/3][MODIFICAR APELLIDOS] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());
  575.             return false;
  576.         }
  577.         $this->logger->error('[DINAMIC][ERROR][1/2][MODIFICAR APELLIDOS] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  578.         $this->logger->error('[DINAMIC][ERROR][2/2][MODIFICAR APELLIDOS] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  579.         return false;
  580.     }
  581.     /**
  582.      * Modifica el tipo de documento de identificación
  583.      * @param string $UserId Código NAV del cliente
  584.      * @param string $tipo tipo de documento
  585.      * @return bool Estado de la operación
  586.      */
  587.     public function modificarTipoId($UserId,$tipo){
  588.         $args = array(
  589.             'codClienteNAV' => $UserId,
  590.             'tipoId' => $tipo
  591.         );
  592.         try {
  593.             $respuesta = (array)$this->ClienteSoap->ModificarTipoId($args);
  594.             if (empty($respuesta)) {
  595.                 $this->logger->info('[DINAMIC][INFO][1/2][MODIFICAR TIPOID] ' $this->ClienteSoap->__getLastRequest() . PHP_EOL "\t con los argumentos: " json_encode($args));
  596.                 $this->logger->info('[DINAMIC][INFO][2/2][MODIFICAR TIPOID] Respuesta del servidor: ' $this->ClienteSoap->__getLastResponse());
  597.                 return true;
  598.             }
  599.         }catch (\SoapFault $fault){
  600.             $this->logger->critical('[DINAMIC][EXCEPTION][1/3][MODIFICAR TIPOID] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  601.             $this->logger->critical('[DINAMIC][EXCEPTION][2/3][MODIFICAR TIPOID] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  602.             $this->logger->critical('[DINAMIC][EXCEPCION][3/3][MODIFICAR TIPOID] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());
  603.             return false;
  604.         }
  605.         $this->logger->error('[DINAMIC][ERROR][1/2][MODIFICAR TIPOID] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  606.         $this->logger->error('[DINAMIC][ERROR][2/2][MODIFICAR TIPOID] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  607.         return false;
  608.     }
  609.     /**
  610.      * Modifica el número de identificación de un usuario
  611.      * @param string $UserId Código NAV del cliente
  612.      * @param string $numeroID nuevo número de identificación
  613.      * @return bool Estado de la operación
  614.      */
  615.     public function modificarNumId($UserId,$numeroID){
  616.         $args = array(
  617.             'codClienteNAV' => $UserId,
  618.             'numId' => $numeroID
  619.         );
  620.         try {
  621.             $respuesta = (array)$this->ClienteSoap->ModificarNumId($args);
  622.             if (empty($respuesta)) {
  623.                 $this->logger->info('[DINAMIC][INFO][1/2][MODIFICAR NUMID] ' $this->ClienteSoap->__getLastRequest() . PHP_EOL "\t con los argumentos: " json_encode($args));
  624.                 $this->logger->info('[DINAMIC][INFO][2/2][MODIFICAR NUMID] Respuesta del servidor: ' $this->ClienteSoap->__getLastResponse());
  625.                 return true;
  626.             }
  627.         }
  628.         catch (\SoapFault $fault){
  629.             $this->logger->critical('[DINAMIC][EXCEPTION][1/3][MODIFICAR NUMID] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  630.             $this->logger->critical('[DINAMIC][EXCEPTION][2/3][MODIFICAR NUMID] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  631.             $this->logger->critical('[DINAMIC][EXCEPCION][3/3][MODIFICAR NUMID] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());
  632.             return false;
  633.         }
  634.         $this->logger->error('[DINAMIC][ERROR][1/2][MODIFICAR NUMID] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  635.         $this->logger->error('[DINAMIC][ERROR][2/2][MODIFICAR NUMID] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  636.         return false;
  637.     }
  638.     /**
  639.      * Modifica la fecha de Expiración del documento de un cliente
  640.      * @param string $UserId Código NAV del cliente
  641.      * @param string $fecha Nueva fecha de expiracion
  642.      * @return bool Estado de la operación
  643.      */
  644.     public function modificarFechaExpiracion($UserId,$fecha){
  645.         $args = array(
  646.             'codClienteNAV' => $UserId,
  647.             'fechaCadId' => $fecha
  648.         );
  649.         try {
  650.             $respuesta = (array)$this->ClienteSoap->ModificarFechaCadId($args);
  651.             if (empty($respuesta)) {
  652.                 $this->logger->info('[DINAMIC][INFO][1/2][MODIFICAR FECHA EXPIRACION] ' $this->ClienteSoap->__getLastRequest() . PHP_EOL "\t con los argumentos: " json_encode($args));
  653.                 $this->logger->info('[DINAMIC][INFO][2/2][MODIFICAR FECHA EXPIRACION] Respuesta del servidor: ' $this->ClienteSoap->__getLastResponse());
  654.                 return true;
  655.             }
  656.         }
  657.         catch (\SoapFault $fault){
  658.             $this->logger->critical('[DINAMIC][EXCEPTION][1/3][MODIFICAR FECHA EXPIRACION] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  659.             $this->logger->critical('[DINAMIC][EXCEPTION][2/3][MODIFICAR FECHA EXPIRACION] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  660.             $this->logger->critical('[DINAMIC][EXCEPCION][3/3][MODIFICAR FECHA EXPIRACION] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());
  661.             return false;
  662.         }
  663.         $this->logger->error('[DINAMIC][ERROR][1/2][MODIFICAR FECHA EXPIRACION] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  664.         $this->logger->error('[DINAMIC][ERROR][2/2][MODIFICAR FECHA EXPIRACION] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  665.         return false;
  666.     }
  667.     /**
  668.      * @deprecated Valida un cliente del ERP
  669.      * @param string $UserId Código NAV del cliente
  670.      * @return bool Estado de la operación
  671.      */
  672.     public function validarCliente($UserId){
  673.         $args = array(
  674.             'txtUsuarioId' => $UserId,
  675.         );
  676.         try {
  677.             $respuesta = (array)$this->ClienteSoap->ValidarCliente($args);
  678.             if (empty($respuesta)) {
  679.                 $this->logger->info('[DINAMIC][INFO][1/2][VALIDAR CLIENTE] ' $this->ClienteSoap->__getLastRequest() . PHP_EOL "\t con los argumentos: " json_encode($args));
  680.                 $this->logger->info('[DINAMIC][INFO][2/2][VALIDAR CLIENTE] Respuesta del servidor: ' $this->ClienteSoap->__getLastResponse());
  681.                 return true;
  682.             }
  683.         }catch (\SoapFault $fault){
  684.             $this->logger->critical('[DINAMIC][EXCEPTION][1/3][VALIDAR CLIENTE] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  685.             $this->logger->critical('[DINAMIC][EXCEPTION][2/3][VALIDAR CLIENTE] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  686.             $this->logger->critical('[DINAMIC][EXCEPCION][3/3][VALIDAR CLIENTE] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());
  687.             return false;
  688.         }
  689.         $this->logger->error('[DINAMIC][ERROR][1/2][VALIDAR CLIENTE] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  690.         $this->logger->error('[DINAMIC][ERROR][2/2][VALIDAR CLIENTE] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  691.         return false;
  692.     }
  693.     /**
  694.      * Devuelve si un cliente está activo en el ERP
  695.      * @param string $UserId Código NAV del cliente
  696.      * @return bool Estado de la operación
  697.      */
  698.     public function isCLienteActivo($UserId){
  699.         $args = array(
  700.             'codClienteNAV' => $UserId,
  701.         );
  702.         try{
  703.             $respuesta=(array) $this->ClienteSoap->IsClienteActivo($args);
  704.             if(empty($respuesta)){
  705. //                $this->logger->info('[DINAMIC][INFO][1/2][IS CLIENTE ACTIVO] ' . $this->ClienteSoap->__getLastRequest() . PHP_EOL . "\t con los argumentos: " . json_encode($args));
  706. //                $this->logger->info('[DINAMIC][INFO][2/2][IS CLIENTE ACTIVO] Respuesta del servidor: ' . $this->ClienteSoap->__getLastResponse());
  707.                 return true;
  708.             }
  709.         }catch (\SoapFault $fault){
  710.             $this->logger->critical('[DINAMIC][EXCEPTION][1/3][IS CLIENTE ACTIVO] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  711.             $this->logger->critical('[DINAMIC][EXCEPTION][2/3][IS CLIENTE ACTIVO] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  712.             $this->logger->critical('[DINAMIC][EXCEPCION][3/3][IS CLIENTE ACTIVO] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());
  713.             return false;
  714.         }
  715.         $this->logger->error('[DINAMIC][ERROR][1/2][IS CLIENTE ACTIVO] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  716.         $this->logger->error('[DINAMIC][ERROR][2/2][IS CLIENTE ACTIVO] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  717.         return false;
  718.     }
  719.     /**
  720.      * Devuevel las cotizaciones de una divisa
  721.      * @param string $divisa, Código de la divisa
  722.      * @param string $dia
  723.      *          Dia de la cotización. Si no hay cotizacion de ese dia el ERP
  724.      *          devuelve la última cotización conocida antetior al dia dado
  725.      * @return array|bool Cotización | Falso en caso de que falle
  726.      */
  727.     public function getTarifaDivisa($divisa$dia){
  728.         $xml = new \stdClass;
  729.         $xml->Tarifa=new \stdClass;
  730.         $xml->Tarifa->CodDivisa=$divisa->getTitle();
  731.         $xml->Tarifa->FechaReferencia=$dia;
  732.         $xml->Tarifa->HoraReferencia='';
  733.         $args = array(
  734.             'xMLImportFiltros' => $xml,
  735.             'xMLExportPrecios' => ''
  736.         );
  737.         try{
  738.             $response=(array) $this->ClienteSoap->GetTarifaDivisaALL($args);
  739.             if($response){
  740.                 return( (array) $response['xMLExportPrecios']->Lineas);
  741.             }
  742.         }
  743.         catch(\SoapFault $fault){
  744.             $this->logger->critical('[DINAMIC][EXCEPTION][1/3][GET TARIFA DIVISA] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  745.             $this->logger->critical('[DINAMIC][EXCEPTION][2/3][GET TARIFA DIVISA] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  746.             $this->logger->critical('[DINAMIC][EXCEPCION][3/3][GET TARIFA DIVISA] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());
  747.             return false;
  748.         }
  749.         $this->logger->error('[DINAMIC][ERROR][1/2][GET TARIFA DIVISA] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  750.         $this->logger->error('[DINAMIC][ERROR][2/2][GET TARIFA DIVISA] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  751.         return false;
  752.     }
  753.         /**
  754.      * Devuevel las cotizaciones de una divisa
  755.      * @param string $divisa, Código de la divisa
  756.      * @param string $dia
  757.      *          Dia de la cotización. Si no hay cotizacion de ese dia el ERP
  758.      *          devuelve la última cotización conocida antetior al dia dado
  759.      * @param int $oficina,  id de la oficina
  760.      * @return array|bool Cotización | Falso en caso de que falle
  761.      */
  762.     public function getTarifaDivisaNew($divisa$dia$oficina){
  763.         if($oficina == null){
  764.             return null;
  765.             }
  766.         
  767.         
  768.         
  769.         $xml = new \stdClass;
  770.         $xml->Tarifa=new \stdClass;
  771.         $xml->Tarifa->CodDivisa=$divisa->getTitle();
  772.         $xml->Tarifa->FechaReferencia=$dia;
  773.         $xml->Tarifa->HoraReferencia='';
  774. //         var_dump($oficina->getOficinaErp()->getCodigo());
  775.         if (is_string($oficina))
  776.             $xml->Tarifa->CodTienda=$oficina;
  777.         else
  778.             $xml->Tarifa->CodTienda=$oficina->getOficinaErp()->getCodigo();
  779.         $args = array(
  780.             'xMLImportFiltrosNew' => $xml,
  781.             'xMLExportPreciosNew' => ''
  782.         );
  783.         try{
  784.             $response=(array) $this->ClienteSoap->GetTarifaDivisaALLNEW($args);
  785.             
  786.             /*if ($xml->Tarifa->CodTienda == "OC025" and $xml->Tarifa->CodDivisa == "USD-BILLETE") {
  787.                 var_dump($response); die();
  788.             }*/
  789.             
  790.             if($response){
  791.                 return( (array) $response['xMLExportPreciosNew']->Lineas);
  792.             }
  793.             
  794.             
  795.         }
  796.         catch(\SoapFault $fault){
  797.             $this->logger->critical('[DINAMIC][EXCEPTION][1/3][GET TARIFA DIVISA] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  798.             $this->logger->critical('[DINAMIC][EXCEPTION][2/3][GET TARIFA DIVISA] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  799.             $this->logger->critical('[DINAMIC][EXCEPCION][3/3][GET TARIFA DIVISA] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());
  800.             return false;
  801.         }
  802.         $this->logger->error('[DINAMIC][ERROR][1/2][GET TARIFA DIVISA] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  803.         $this->logger->error('[DINAMIC][ERROR][2/2][GET TARIFA DIVISA] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  804.         return false;
  805.     }
  806.     /**
  807.      * Busca todas las cotizaciones de un dia para todas las divisas
  808.      * @return array|bool Cotizaciónes | Falso en caso de que falle
  809.      */
  810.     public function getTarifasHoy(){
  811.         $hoy= new \DateTime();
  812.         $xml = new \stdClass;
  813.         $xml->Tarifa=new \stdClass;
  814.         $xml->Tarifa->CodDivisa='';
  815.         $xml->Tarifa->FechaReferencia=$hoy->format('m/d/Y');
  816.         $xml->Tarifa->HoraReferencia='';
  817.         $xml->Tarifa->NumCotizaciones=1;
  818.         $args = array(
  819.             'xMLImportFiltros' => $xml,
  820.             'xMLExportPrecios' => ''
  821.         );
  822.         try{
  823.             $respuesta=(array) $this->ClienteSoap->GetTarifaDivisaALLhistorico($args);
  824.             if($respuesta) {
  825. //                $this->logger->info('[DINAMIC][INFO][1/2][GET TARIFA DIVISA ALL] ' . $this->ClienteSoap->__getLastRequest() . PHP_EOL . "\t con los argumentos: " . json_encode($args));
  826. //                $this->logger->info('[DINAMIC][INFO][2/2][GET TARIFA DIVISA ALL] Respuesta del servidor: ' . $this->ClienteSoap->__getLastResponse());
  827.                 return $respuesta;
  828.             }
  829.         }
  830.         catch(\SoapFault $fault){
  831.             $this->logger->critical('[DINAMIC][EXCEPTION][1/3][GET TARIFA DIVISA ALL] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  832.             $this->logger->critical('[DINAMIC][EXCEPTION][2/3][GET TARIFA DIVISA ALL] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  833.             $this->logger->critical('[DINAMIC][EXCEPCION][3/3][GET TARIFA DIVISA ALL] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());
  834.             return false;
  835.         }
  836.         $this->logger->error('[DINAMIC][ERROR][1/2][GET TARIFA DIVISA ALL] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  837.         $this->logger->error('[DINAMIC][ERROR][2/2][GET TARIFA DIVISA ALL] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  838.         return false;
  839.     }
  840.     /**
  841.      * Haciendo uso de la función AltaModifCliente registramos un cliente en la web.
  842.      * En este caso le pasamos el código de cliente vacío para indicar que es un cliente nuevo.
  843.      * Si le pasaramos un código lo que haría es modificar el cliente
  844.      * @param User $user
  845.      * @return bool|mixed  False en caso de que falle y el código de cliente NAV en caso de que funcione
  846.      */
  847.     public function RegistrarCliente(User $user){
  848.         $xml=new \stdClass;
  849.         $xml->Cliente=new \stdClass;
  850.         $xml->Cliente->TipoId=$user->getTipoDocumento()->getCodigo();
  851.         $xml->Cliente->NumId=$user->getUserName();
  852.         $xml->Cliente->FechaCadId=$user->getFechaCaducidad()->format('m/d/Y');
  853.         $xml->Cliente->Nombre=$user->getName();
  854.         $xml->Cliente->TipoCliente=1;
  855.         $xml->Cliente->CodPais=$user->getPais()->getIso2();
  856.         $xml->Cliente->FechaNacimiento=$user->getFechaNacimiento()->format('m/d/Y');
  857.         $xml->Cliente->Email=$user->getEmail();
  858.         $xml->Cliente->Telf=$user->getTelefono();
  859.         
  860.         $xml->Cliente->CodPostal=$user->getCp();
  861.         $xml->Cliente->Poblacion=$user->getCiudad();
  862.         $xml->Cliente->Provincia=$user->getCounty();
  863.         $xml->Cliente->Dir1=$user->getDireccion1();
  864.         $args = array(
  865.             'xMLImportCliente' => $xml,
  866.             'codClienteNAV' => ''
  867.         );
  868.         /////ELIMINAR EN PRODUCCION
  869.         //return 'C0000/00000000006989';
  870.         try{
  871.             $respuesta=(array) $this->ClienteSoap->AltaModifCliente($args);
  872.             if(isset($respuesta['return_value'])){
  873.                 $this->logger->info('[DINAMIC][INFO][1/2][REGISTRAR CLIENTE] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  874.                 $this->logger->info('[DINAMIC][INFO][2/2][REGISTRAR CLIENTE] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  875.                 return $respuesta['return_value'];
  876.             }
  877.             else{
  878.                 $this->logger->error('[DINAMIC][ERROR][1/2][REGISTRAR CLIENTE] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  879.                 $this->logger->error('[DINAMIC][ERROR][2/2][REGISTRAR CLIENTE] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  880.                 return false;
  881.             }
  882.         }catch (\SoapFault $fault){
  883.             $this->logger->critical('[DINAMIC][EXCEPTION][1/3][REGISTRAR CLIENTE] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  884.             $this->logger->critical('[DINAMIC][EXCEPTION][2/3][REGISTRAR CLIENTE] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  885.             $this->logger->critical('[DINAMIC][EXCEPCION][3/3][REGISTRAR CLIENTE] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());
  886.             return false;
  887.         }
  888.     }
  889.     /**
  890.      * Registra una reserva en el ERP
  891.      * @param CARRO $carro Carro de compra del usuario
  892.      * @param mixed $linea Linea de la reserva
  893.      * @param string $erpUser Código ERP
  894.      * @param string $tipoC Tipo de usuario (USUARIO|INVITADO)
  895.      * @return bool|mixed
  896.      */
  897. //     public function RegistrarReserva($carro,$linea,$erpUser,$tipoC){
  898. //
  899. //         //TODO
  900. //         return true;
  901. //
  902. //         $xml= new \stdClass;
  903. //         //CLIENTE USUARIO
  904. //         if($tipoC=='USUARIO'){
  905. //             if($carro->getDireccion()){
  906. //                 $direccion=$erpUser->Address;
  907. //                 if(isset($erpUser->Address_2)){
  908. //                     $direccion.=' '.$erpUser->Address_2;
  909. //                 }
  910. //             }
  911. //             $nombre=$erpUser->Name;
  912. //             if(isset($erpUser->Name_2)){
  913. //                 $nombre.=' '.$erpUser->Name2;
  914. //             }
  915. //             if(isset($erpUser->E_Mail)){
  916. //                 $xml->Email=$erpUser->E_Mail;
  917. //             }
  918. //             else{
  919. //                 $xml->Email='SinSalidaDeEmailEnErp@email.es';
  920. //             }
  921. //             $xml->CodCliente=$erpUser->No;
  922. //             $xml->NombreCliente=$nombre;
  923. //             $xml->DocId=$carro->getUsuario()->getUserName();
  924. //             if(isset($erpUser->Phone_No)){
  925. //                 $xml->Telf=$erpUser->Phone_No;
  926. //             }
  927. //             else{
  928. //                 $xml->Telf='SinSalidaTLfErp';
  929. //             }
  930. //             if(isset($direccion))
  931. //                 $xml->Direccion=$direccion;
  932. //
  933. //         }
  934. //         //CLIENTE INVITADO
  935. //         else{
  936. //             $xml->NombreCliente=$erpUser->getNombre().' '.$erpUser->getApellidos();
  937. //             $xml->Email=$erpUser->getEmail();
  938. //             $xml->Telf=$erpUser->getTelefono();
  939. //         }
  940. //         $xml->Observaciones=$carro->getComentario();
  941. //
  942. //         if ($carro->getCodigoPromo())
  943. //             $xml->Observaciones .= " \nCUPÓN: ".$carro->getCodigoPromo();
  944. //
  945. //         $xml->FechaRecogida=$carro->getFechaEntrega()->format('m/d/Y');
  946. //         if($carro->getHoraEntrega()){
  947. //             $xml->HoraRecogida=$carro->getHoraEntrega()->format('H:i');
  948. //         }
  949. //         else{
  950. //             $xml->HoraRecogida='';
  951. //         }
  952. //
  953. //         $xml->Cantidad=$linea->getCantidadFinal();
  954. //         $xml->DivisaEntrada=$linea->getDivisaOrigen()->getTitle();
  955. //         $xml->DivisaSalida=$linea->getDivisaFinal()->getTitle();
  956. //         $xml->Oficina=$carro->getOficina()->getOficinaErp()->getCodigo();
  957. //         $args = array(
  958. //             'xMLImportDocumentos' => $xml,
  959. //         );
  960. //
  961. //         try{
  962. //             $respuesta=(array) $this->ClienteSoap->RegistrarReserva($args);
  963. //             if(!isset($respuesta['return_value'])){
  964. //                 $this->logger->error('[DINAMIC][ERROR][1/2][REGISTRAR RESERVA] '.json_encode($args));
  965. //                 $this->logger->error('[DINAMIC][ERROR][2/2][REGISTRAR RESERVA] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  966. //                 return false;
  967. //             }
  968. //             else{
  969. //                 $this->logger->info('[DINAMIC][INFO][1/2][REGISTRAR RESERVA] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  970. //                 $this->logger->info('[DINAMIC][INFO][2/2][REGISTRAR RESERVA] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  971. //                 return $respuesta['return_value'];
  972. //             }
  973. //         }catch (\SoapFault $fault){
  974. //             $this->logger->critical('[DINAMIC][EXCEPTION][1/3][REGISTRAR RESERVA] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  975. //             $this->logger->critical('[DINAMIC][EXCEPCION][2/3][REGISTRAR RESERVA] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  976. //             $this->logger->critical('[DINAMIC][EXCEPCION][3/3][REGISTRAR RESERVA] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());
  977. //             return false;
  978. //         }
  979. //     }
  980.     public function RegistrarReserva($reserva$linea) {
  981.         return 'codigo_erp_línea';
  982.         $xml = new \stdClass;
  983.         $xml->NombreCliente $reserva->getNombre().' '.$reserva->getApellido();
  984.         $xml->Email $reserva->getEmail();
  985.         $xml->Telf $reserva->getTelefono();
  986.         $xml->FechaRecogida $reserva->getFechaRecogida()->format('m/d/Y');
  987.         if($reserva->getHoraRecogida()) {
  988.             $xml->HoraRecogida $reserva->getHoraRecogida()->format('H:i');
  989.         }
  990.         else {
  991.             $xml->HoraRecogida '';
  992.         }
  993.         $xml->Cantidad $linea->getCantidad();
  994.         $xml->DivisaEntrada $linea->getDivisaOrigen()->getTitle();
  995.         $xml->DivisaSalida $linea->getDivisaDestino()->getTitle();
  996.         $xml->Oficina $reserva->getOficina()->getOficinaErp()->getCodigo();
  997.         $args = array(
  998.             'xMLImportDocumentos' => $xml,
  999.         );
  1000.         try {
  1001.             $respuesta = (array) $this->ClienteSoap->RegistrarReserva($args);
  1002.             if(!isset($respuesta['return_value'])){
  1003.                 $this->logger->error('[DINAMIC][ERROR][1/2][REGISTRAR RESERVA] '.json_encode($args));
  1004.                 $this->logger->error('[DINAMIC][ERROR][2/2][REGISTRAR RESERVA] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  1005.                 return false;
  1006.             }
  1007.             else{
  1008.                 $this->logger->info('[DINAMIC][INFO][1/2][REGISTRAR RESERVA] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  1009.                 $this->logger->info('[DINAMIC][INFO][2/2][REGISTRAR RESERVA] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  1010.                 return $respuesta['return_value'];
  1011.             }
  1012.         } catch (\SoapFault $fault) {
  1013.             $this->logger->critical('[DINAMIC][EXCEPTION][1/3][REGISTRAR RESERVA] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  1014.             $this->logger->critical('[DINAMIC][EXCEPCION][2/3][REGISTRAR RESERVA] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  1015.             $this->logger->critical('[DINAMIC][EXCEPCION][3/3][REGISTRAR RESERVA] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());
  1016.             return false;
  1017.         }
  1018.     }
  1019.     /**
  1020.      * Cancela una reserva
  1021.      * @param $idReserva Código ERP De la reseva
  1022.      * @return bool|mixed Estado de la operación
  1023.      */
  1024.     public function CancelarReserva($idReserva){
  1025.         $args = array(
  1026.             'codReserva' => $idReserva,
  1027.         );
  1028.         try{
  1029.             $respuesta=(array) $this->ClienteSoap->CancelarReserva($args);
  1030.             if(!isset($respuesta['return_value'])){
  1031.                 $this->logger->error('[DINAMIC][ERROR][1/2][CANCELAR RESERVA] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  1032.                 $this->logger->error('[DINAMIC][ERROR][2/2][CANCELAR RESERVA] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  1033.                 return false;
  1034.             }
  1035.             $this->logger->info('[DINAMIC][INFO][1/2][CANCELAR RESERVA] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  1036.             $this->logger->info('[DINAMIC][INFO][2/2][CANCELAR RESERVA] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  1037.             return $respuesta['return_value'];
  1038.         }catch (\SoapFault $fault){
  1039.             $this->logger->critical('[DINAMIC][EXCEPTION][1/3][CANCELAR RESERVA] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  1040.             $this->logger->critical('[DINAMIC][EXCEPCION][2/3][CANCELAR RESERVA] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  1041.             $this->logger->critical('[DINAMIC][EXCEPCION][3/3][CANCELAR RESERVA] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());
  1042.             return false;
  1043.         }
  1044.     }
  1045.     
  1046.     /**
  1047.      * Comprobar codigo promocion
  1048.      * @param string $codigo
  1049.      * @return [valido = bool, error = string, importeMinimoEuros = float, importeDescuentoEuros = float]
  1050.      */
  1051.     public function ComprobarCodigoPromocion($codigo){
  1052.         $args = array(
  1053.             'codigoDescuento' => $codigo,
  1054.             'importeMinimoEuros' => 0,
  1055.             'importeDescuentoEuros' => 0,
  1056.             'valido' => 'false',
  1057.             'error' => ''
  1058.         );
  1059.         try{
  1060.             $respuesta=(array) $this->ClienteSoap->ComprobarCodigoPromocion($args);
  1061. //             var_dump($respuesta); die();
  1062.             if(is_array($respuesta)){
  1063.                 $this->logger->info('[DINAMIC][INFO][1/2][COMPROBAR CODIGO PROMOCION] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  1064.                 $this->logger->info('[DINAMIC][INFO][2/2][COMPROBAR CODIGO PROMOCION] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  1065.                 return $respuesta;
  1066.             }
  1067.             else{
  1068.                 $this->logger->error('[DINAMIC][ERROR][1/2][COMPROBAR CODIGO PROMOCION] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  1069.                 $this->logger->error('[DINAMIC][ERROR][2/2][COMPROBAR CODIGO PROMOCION] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  1070.                 return false;
  1071.             }
  1072.         }catch (\SoapFault $fault){
  1073.             $this->logger->critical('[DINAMIC][EXCEPTION][1/3][COMPROBAR CODIGO PROMOCION] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  1074.             $this->logger->critical('[DINAMIC][EXCEPTION][2/3][COMPROBAR CODIGO PROMOCION] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  1075.             $this->logger->critical('[DINAMIC][EXCEPCION][3/3][COMPROBAR CODIGO PROMOCION] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());
  1076.             return false;
  1077.         }
  1078.     }
  1079.     /**
  1080.      * Comprobar codigo promocion
  1081.      * @param string $codigo
  1082.      * @return [valido = bool, error = string, importeMinimoEuros = float, importeDescuentoEuros = float]
  1083.      */
  1084.     public function ComprobarImporteMinimoPromocion($codigo$importe){
  1085.         $args = array(
  1086.             'codigoDescuento' => $codigo,
  1087.             'importeTicket' => $importe,
  1088.             'importeMinimoEuros' => 0,
  1089.             'importeDescuentoEuros' => 0,
  1090.             'valido' => 'false',
  1091.             'error' => ''
  1092.         );
  1093.         try{
  1094.             $respuesta=(array) $this->ClienteSoap->ComprobarImporteMinimoPromocion($args);
  1095. //             var_dump($respuesta); die();
  1096.             if(is_array($respuesta)){
  1097.                 $this->logger->info('[DINAMIC][INFO][1/2][COMPROBAR IMPORTE MINIMO PROMOCION] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  1098.                 $this->logger->info('[DINAMIC][INFO][2/2][COMPROBAR IMPORTE MINIMO PROMOCION] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  1099.                 return $respuesta;
  1100.             }
  1101.             else{
  1102.                 $this->logger->error('[DINAMIC][ERROR][1/2][COMPROBAR IMPORTE MINIMO PROMOCION] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  1103.                 $this->logger->error('[DINAMIC][ERROR][2/2][COMPROBAR IMPORTE MINIMO PROMOCION] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  1104.                 return false;
  1105.             }
  1106.         }catch (\SoapFault $fault){
  1107.             $this->logger->critical('[DINAMIC][EXCEPTION][1/3][COMPROBAR IMPORTE MINIMO PROMOCION] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));
  1108.             $this->logger->critical('[DINAMIC][EXCEPTION][2/3][COMPROBAR IMPORTE MINIMO PROMOCION] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());
  1109.             $this->logger->critical('[DINAMIC][EXCEPCION][3/3][COMPROBAR IMPORTE MINIMO PROMOCION] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());
  1110.             return false;
  1111.         }
  1112.     }
  1113. }