src/Services/WebServiceFunciones.php line 49
<?phpnamespace App\Services;use App\Entity\Divisa;use Doctrine\ORM\EntityManagerInterface;use App\Entity\User;use Psr\Log\LoggerInterface;/*** No pilla la libreria con Namespace :'(*/require_once('NTLMStream.php');ini_set("soap.wsdl_cache_enabled", 0);/*** ¿Mover esto a parámetros?*/if(!defined('USERPWD')){// define('USERPWD', 'web:3ur0ch4ng3');define('USERPWD','web:RpvGer43,567W12@@');}class WebServiceFunciones{/*** @var NTLMSoapClient Extension de SOAPClient para poder conectar al WS*/private $ClienteSoap;/*** @var EntityManager Entity manager default*/private $em;/*** @var Logger $logger Registra todas las operaciones con el ERP*/private $logger;/*** Contructor del WEBService* @param EntityManager $em Entity manager* @param Logger $logger Registra todas las operaciones que realicemos*/public function __construct(EntityManagerInterface $em, LoggerInterface $webservicesLogger){try{// $baseURL = 'http://getems.ddns.net:9047/WEB/WS/Backoffice%20Eurochange/Codeunit/WSFunciones';$baseURL = 'http://142.132.143.176:9047/WEB/WS/Backoffice%20Eurochange/Codeunit/WSFunciones';$this->em=$em;stream_wrapper_unregister('http');stream_wrapper_register('http', NTLMStream::class)/* or die("Failed to register protocol")*/;$this->logger=$webservicesLogger;//$baseURL=__DIR__.'/WSFunciones.xml';$this->ClienteSoap = new NTLMSoapClient($baseURL,array("trace"=>1));}catch(\SoapFault $fault){$this->logger->critical('[DINAMIC][EXCEPCION][1/1][CONECTAR WSFUNCIONES] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());}}/*** @deprecated Esta función solo se llama para sacar el listado de tipos de documentos* del ERP. EL carnet de identidad consta en su BBDD pero en la nuestra ha sido eliminado* a petición del cliente* @return array Listado de tipos de documentos*/public function getTiposDocumento(){try{$args = array('setSize' => 100,'filter' => array(array("Field"=>'Key',"Criteria"=>'*')));return $documentos=(array) $this->ClienteSoap->ReadMultiple($args);}catch(\SoapFault $faul){return $this->redirect($url, 301);}}/*** Busca un cliente por número de identificación* @param $id Numero de identificacion del cliente* @return bool|string*/public function getClienteporNumId($id){$args = array('numId' => $id);try{$clientes=$this->ClienteSoap->GetClientePorNumId($args);$this->logger->info('[DINAMIC][INFO][1/2][GET CLIENTE POR ID] ' . $this->ClienteSoap->__getLastRequest() . PHP_EOL . "\t con los argumentos: " . json_encode($args));$this->logger->info('[DINAMIC][INFO][2/2][GET CLIENTE POR ID] Respuesta del servidor: ' . $this->ClienteSoap->__getLastResponse());if($clientes->return_value!=""){//@deprecated Solo va a devolver 1 clienteif(count((array) $clientes->return_value)>1){foreach ($clientes->return_value->WSListaClientes as $cliente) {$salida=$cliente->key;}}else if (count((array) $clientes->return_value)){// $this->logger->info('[DINAMIC][INFO][1/2][GET CLIENTE POR ID] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));// $this->logger->info('[DINAMIC][INFO][2/2][GET CLIENTE POR ID] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return $clientes->return_value;}}}catch (\SoapFault $fault){$this->logger->critical('[DINAMIC][EXCEPTION][1/3][GET CLIENTE POR ID] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->critical('[DINAMIC][EXCEPTION][2/3][GET CLIENTE POR ID] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());$this->logger->critical('[DINAMIC][EXCEPCION][3/3][GET CLIENTE POR ID] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());return false;}$this->logger->error('[DINAMIC][ERROR][1/2][GET CLIENTE POR ID] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->error('[DINAMIC][ERROR][2/2][GET CLIENTE POR ID] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return false;}/*** Devuelve los puntos acumulados* @param string $key Código del cliente NAV* @return bool|mixed Número de puntos o false en caso de que falle*/public function GetPuntosAcumulados($key){$args = array('codClienteNAV' => $key);try {//var_dump($this->ClienteSoap->__getFunctions());$puntos = (array)$this->ClienteSoap->GetPuntosAcumulados($args);if ($puntos != "") {// $this->logger->info('[DINAMIC][INFO][1/2][GET PUNTOS] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));// $this->logger->info('[DINAMIC][INFO][2/2][GET PUNTOS] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return $puntos['return_value'];}}catch (\SoapFault $fault){$this->logger->critical('[DINAMIC][EXCEPTION][1/3][GET PUNTOS] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->critical('[DINAMIC][EXCEPTION][2/3][GET PUNTOS] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());$this->logger->critical('[DINAMIC][EXCEPCION][3/3][GET PUNTOS] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());return false;}$this->logger->error('[DINAMIC][ERROR][1/2][GET PUNTOS] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->error('[DINAMIC][ERROR][2/2][GET PUNTOS] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return false;}/*** Carga el historial de un cliente* @param string $key Código NAV del cliente* @return bool|mixed Historial del cliente|false en caso contrario*/public function getHistorial($key){$args = array('codCliente' => $key,'wSExpHistorial' =>'');try{$historial=(array) $this->ClienteSoap->ExportarHistorialCompras($args);if($historial!=""){// $this->logger->info('[DINAMIC][INFO][1/2][GET HISTORIAL] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));// $this->logger->info('[DINAMIC][INFO][2/2][GET HISTORIAL] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return $historial['wSExpHistorial'];}}catch(\SoapFault $fault){$this->logger->critical('[DINAMIC][EXCEPTION][1/3][GET HISTORIAL] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->critical('[DINAMIC][EXCEPTION][2/3][GET HISTORIAL] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());$this->logger->critical('[DINAMIC][EXCEPCION][3/3][GET HISTORIAL] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());return false;}$this->logger->error('[DINAMIC][ERROR][1/2][GET HISTORIAL] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->error('[DINAMIC][ERROR][2/2][GET HISTORIAL] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return false;}/*** Genera un ticket en el FTP del ERP, más tarde hay* que descargarlo por FTP.* @param string $key Código de la operación* @return array|bool $ticket El código del ticket*/public function generarPDFTicket($key){$args = array('noTicket' => $key,'tipoTicket' => '');try {$ticket = (array)$this->ClienteSoap->GenerarPDFTicket($args);if($ticket){$this->logger->info('[DINAMIC][INFO][1/2][GENERAR PDF TICKET] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->info('[DINAMIC][INFO][2/2][GENERAR PDF TICKET] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return $ticket;}}catch (\SoapFault $fault){$this->logger->critical('[DINAMIC][EXCEPTION][1/3][GENERAR PDF TICKET] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->critical('[DINAMIC][EXCEPTION][2/3][GENERAR PDF TICKET] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());$this->logger->critical('[DINAMIC][EXCEPCION][3/3][GENERAR PDF TICKET] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());return false;}$this->logger->error('[DINAMIC][ERROR][1/2][GENERAR PDF TICKET] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->error('[DINAMIC][ERROR][2/2][GENERAR PDF TICKET] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return false;}/*** @deprecated La función getDatosCliente del ERP no funciona* en su lugar usa la función predefinida findBy del WSUsuarios* @param string $key Código del cliente* @return bool Estado de la consulta*/public function getDatosCliente($key){$args = array('codClienteNAV' => $key,'tipoCliente' => '','nombre' => '','codPostal' => '','poblacion' => '','provincia' => '','pais' => '','direccion1' => '','direccion2' => '','fechaCadId' => '','email' => '','telf' => '','noFidelizacion' => '','tipoId' =>'','numId' => '');if($clientes->return_value!=""){if(count((array) $clientes->return_value)>1){foreach ($clientes->return_value->WSListaClientes as $cliente) {$salida=$cliente->$key;echo "Encontrado: [$cliente->$salida] </br>";}}else if (count((array) $clientes->return_value)){return $clientes->return_value;}}return false;}/*** Tras subir la imágen al ftp del ERP le pasamos el ID de la imagen* para que la registre en el cliente* @param string $key Código NAV del cliente* @param string $path Dirección del fichero en el ERP* @return bool Estado de la operación*/public function cargarImagen($key,$path){$args = array('codClienteNAV' => $key,'nombreFichero' => $path);/////ELIMINAR EN PRODUCCIONreturn true;$this->logger->info('[DINAMIC][INFO][1/2][CARGAR IMAGEN] '."\t con los argumentos: ".json_encode($args));try{$respuesta=(array) $this->ClienteSoap->CargarImagen($args);if($respuesta!=""){return true;}else{$this->logger->info('[DINAMIC][INFO][1/2][CARGAR IMAGEN] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->info('[DINAMIC][INFO][2/2][CARGAR IMAGEN] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());}}catch(\SoapFault $fault){$this->logger->critical('[DINAMIC][EXCEPTION][1/3][CARGAR IMAGEN] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->critical('[DINAMIC][EXCEPTION][2/3][CARGAR IMAGEN] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());$this->logger->critical('[DINAMIC][EXCEPCION][3/3][CARGAR IMAGEN] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());return false;}$this->logger->error('[DINAMIC][ERROR][1/2][CARGAR IMAGEN] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->error('[DINAMIC][ERROR][2/2][CARGAR IMAGEN] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return false;}/*** Modifica la dirección1 de envío del correo. Direccio1 y Direccion2* son concatenaciones de la misma dirección* @param string $UserId Código NAV del cliente* @param string $direccion1 Dirección del cliente* @return bool Estado de la operación*/public function modificarDireccion1($UserId,$direccion1){$args = array('codClienteNAV' => $UserId,'direccion1' => $direccion1);try{$respuesta=(array) $this->ClienteSoap->modificarDireccion1($args);if(empty($respuesta)){$this->logger->info('[DINAMIC][INFO][1/2][MODIFICAR DIRECCION1] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->info('[DINAMIC][INFO][2/2][MODIFICAR DIRECCION1] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return true;}}catch (\SoapFault $fault){$this->logger->critical('[DINAMIC][EXCEPTION][1/3][MODIFICAR DIRECCION1] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->critical('[DINAMIC][EXCEPTION][2/3][MODIFICAR DIRECCION1] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());$this->logger->critical('[DINAMIC][EXCEPCION][3/3][MODIFICAR DIRECCION1] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());return false;}$this->logger->error('[DINAMIC][ERROR][1/2][MODIFICAR DIRECCION1] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->error('[DINAMIC][ERROR][2/2][MODIFICAR DIRECCION1] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return false;}/*** Modifica la dirección2 de envío del correo. Direccio1 y Direccion2* son concatenaciones de la misma dirección* @param string $UserId Código NAV del cliente* @param string $direccion1 Dirección del cliente* @return bool Estado de la operación*/public function modificarDireccion2($UserId,$direccion2){$args = array('codClienteNAV' => $UserId,'direccion2' => $direccion2);try {$respuesta = (array)$this->ClienteSoap->modificarDireccion2($args);if (empty($respuesta)) {$this->logger->info('[DINAMIC][INFO][1/2][MODIFICAR DIRECCION2] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->info('[DINAMIC][INFO][2/2][MODIFICAR DIRECCION2] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return true;}}catch (\SoapFault $fault){$this->logger->critical('[DINAMIC][EXCEPTION][1/3][MODIFICAR DIRECCION2] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->critical('[DINAMIC][EXCEPTION][2/3][MODIFICAR DIRECCION2] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());$this->logger->critical('[DINAMIC][EXCEPCION][3/3][MODIFICAR DIRECCION2] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());return false;}$this->logger->error('[DINAMIC][ERROR][1/2][MODIFICAR DIRECCION2] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->error('[DINAMIC][ERROR][2/2][MODIFICAR DIRECCION2] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return false;}/*** Modifica la fecha de nacimiento* @param string $UserId Código NAV del cliente* @param string $fechaNac Fecha de nacimiento* @return bool Estado de la operación*/public function modificarFechaNacimiento($UserId,$fechaNac){$args = array('codClienteNAV' => $UserId,'fechaNac' => $fechaNac);try {$respuesta = (array)$this->ClienteSoap->ModificarFechaNac($args);if (empty($respuesta)) {$this->logger->info('[DINAMIC][INFO][1/2][MODIFICAR FECHA NACIMIENTO] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->info('[DINAMIC][INFO][2/2][MODIFICAR FECHA NACIMIENTO] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return true;}}catch (\SoapFault $fault){$this->logger->critical('[DINAMIC][EXCEPTION][1/3][MODIFICAR FECHA NACIMIENTO] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->critical('[DINAMIC][EXCEPTION][2/3][MODIFICAR FECHA NACIMIENTO] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());$this->logger->critical('[DINAMIC][EXCEPCION][3/3][MODIFICAR FECHA NACIMIENTO] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());return false;}$this->logger->error('[DINAMIC][ERROR][1/2][MODIFICAR FECHA NACIMIENTO] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->error('[DINAMIC][ERROR][2/2][MODIFICAR FECHA NACIMIENTO] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return false;}/*** Modifica los datos de la provincia de un cliente* @param string $UserId Código NAV del cliente* @param string $provincia Nombre de la provincia* @return bool Estado de la operación*/public function modificarProvincia($UserId,$provincia){$args = array('codClienteNAV' => $UserId,'provincia' => $provincia);try {$respuesta = (array)$this->ClienteSoap->ModificarProvincia($args);if (empty($respuesta)) {$this->logger->info('[DINAMIC][INFO][1/2][MODIFICAR PROVINCIA] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->info('[DINAMIC][INFO][2/2][MODIFICAR PROVINCIA] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return true;}}catch (\SoapFault $fault){$this->logger->critical('[DINAMIC][EXCEPTION][1/3][MODIFICAR PROVINCIA] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->critical('[DINAMIC][EXCEPTION][2/3][MODIFICAR PROVINCIA] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());$this->logger->critical('[DINAMIC][EXCEPCION][3/3][MODIFICAR PROVINCIA] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());return false;}$this->logger->error('[DINAMIC][ERROR][1/2][MODIFICAR PROVINCIA] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->error('[DINAMIC][ERROR][2/2][MODIFICAR PROVINCIA] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return false;}/*** Modifica el código postal del usuario* @param string $UserId Código NAV del cliente* @param string $cp Código postal* @return bool Estado de la operación*/public function modificarCodPostal($UserId,$cp){$args = array('codClienteNAV' => $UserId,'codPostal' => $cp);try {$respuesta = (array)$this->ClienteSoap->ModificarCodPostal($args);if (empty($respuesta)) {$this->logger->info('[DINAMIC][INFO][1/2][MODIFICAR CODPOSTAL] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->info('[DINAMIC][INFO][2/2][MODIFICAR CODPOSTAL] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return true;}}catch (\SoapFault $fault){$this->logger->critical('[DINAMIC][EXCEPTION][1/3][MODIFICAR CODPOSTAL] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->critical('[DINAMIC][EXCEPTION][2/3][MODIFICAR CODPOSTAL] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());$this->logger->critical('[DINAMIC][EXCEPCION][3/3][MODIFICAR CODPOSTAL] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());return false;}$this->logger->error('[DINAMIC][ERROR][1/2][MODIFICAR CODPOSTAL] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->error('[DINAMIC][ERROR][2/2][MODIFICAR CODPOSTAL] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return false;}/*** Modifica la población de un usuario* @param string $UserId Código NAV del cliente* @param string $poblacion Población* @return bool Estado de la operación*/public function modificarPoblacion($UserId,$poblacion){$args = array('codClienteNAV' => $UserId,'poblacion' => $poblacion);try {$respuesta = (array)$this->ClienteSoap->ModificarPoblacion($args);if (empty($respuesta)) {$this->logger->info('[DINAMIC][INFO][1/2][MODIFICAR POBLACION] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->info('[DINAMIC][INFO][2/2][MODIFICAR POBLACION] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return true;}}catch (\SoapFault $fault){$this->logger->critical('[DINAMIC][EXCEPTION][1/3][MODIFICAR POBLACION] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->critical('[DINAMIC][EXCEPTION][2/3][MODIFICAR POBLACION] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());$this->logger->critical('[DINAMIC][EXCEPCION][3/3][MODIFICAR POBLACION] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());return false;}$this->logger->error('[DINAMIC][ERROR][1/2][MODIFICAR POBLACION] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->error('[DINAMIC][ERROR][2/2][MODIFICAR POBLACION] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return false;}/*** Modifica el email de un usuario* @param string $UserId Código NAV del cliente* @param string $email Email del usuario* @return bool Estado de la operación*/public function modificarEmail($UserId,$email){$args = array('codClienteNAV' => $UserId,'email' => $email);try {$respuesta = (array)$this->ClienteSoap->ModificarEmail($args);if (empty($respuesta)) {$this->logger->info('[DINAMIC][INFO][1/2][MODIFICAR EMAIL] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->info('[DINAMIC][INFO][2/2][MODIFICAR EMAIL] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return true;}}catch (\SoapFault $fault){$this->logger->critical('[DINAMIC][EXCEPTION][1/3][MODIFICAR EMAIL] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->critical('[DINAMIC][EXCEPTION][2/3][MODIFICAR EMAIL] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());$this->logger->critical('[DINAMIC][EXCEPCION][3/3][MODIFICAR EMAIL] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());return false;}$this->logger->error('[DINAMIC][ERROR][1/2][MODIFICAR EMAIL] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->error('[DINAMIC][ERROR][2/2][MODIFICAR EMAIL] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return false;}/*** Modifica el teléfono de un usuario* @param string $UserId Código NAV del cliente* @param string $telf Teléfono del usuario* @return bool Estado de la operación*/public function modificarTelefono($UserId,$telf){$args = array('codClienteNAV' => $UserId,'telf' => $telf);try {$respuesta = (array)$this->ClienteSoap->ModificarTelf($args);if (empty($respuesta)) {$this->logger->info('[DINAMIC][INFO][1/2][MODIFICAR TELEFONO] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->info('[DINAMIC][INFO][2/2][MODIFICAR TELEFONO] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return true;}}catch (\SoapFault $fault){$this->logger->critical('[DINAMIC][EXCEPTION][1/3][MODIFICAR TELEFONO] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->critical('[DINAMIC][EXCEPTION][2/3][MODIFICAR TELEFONO] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());$this->logger->critical('[DINAMIC][EXCEPCION][3/3][MODIFICAR TELEFONO] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());return false;}$this->logger->error('[DINAMIC][ERROR][1/2][MODIFICAR TELEFONO] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->error('[DINAMIC][ERROR][2/2][MODIFICAR TELEFONO] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return false;}/*** Modificar el país de un usuario* @param string $UserId Código NAV del cliente* @param string $pais Pais en ISO2 del usuario* @return bool Estado de la operación*/public function modificarPais($UserId,$pais){$args = array('codClienteNAV' => $UserId,'codPais' => $pais->getIso2());try {$respuesta = (array)$this->ClienteSoap->ModificarCodPais($args);if (empty($respuesta)) {$this->logger->info('[DINAMIC][INFO][1/2][MODIFICAR PAIS] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->info('[DINAMIC][INFO][2/2][MODIFICAR PAIS] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return true;}}catch (\SoapFault $fault){$this->logger->critical('[DINAMIC][EXCEPTION][1/3][MODIFICAR PAIS] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->critical('[DINAMIC][EXCEPTION][2/3][MODIFICAR PAIS] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());$this->logger->critical('[DINAMIC][EXCEPCION][3/3][MODIFICAR PAIS] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());return false;}$this->logger->error('[DINAMIC][ERROR][1/2][MODIFICAR PAIS] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->error('[DINAMIC][ERROR][2/2][MODIFICAR PAIS] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return false;}/*** Modificar el Nombre de un usuario* @param string $UserId Código NAV del cliente* @param string $nombre1 Nombre del usuario* @return bool Estado de la operación*/public function modificarNombre($UserId,$nombre1){$args = array('codClienteNAV' => $UserId,'nombre' => $nombre1);try {$respuesta = (array)$this->ClienteSoap->ModificarNombre($args);if (empty($respuesta)) {$this->logger->info('[DINAMIC][INFO][1/2][MODIFICAR NOMBRE] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->info('[DINAMIC][INFO][2/2][MODIFICAR NOMBRE] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return true;}}catch (\SoapFault $fault){$this->logger->critical('[DINAMIC][EXCEPTION][1/3][MODIFICAR NOMBRE] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->critical('[DINAMIC][EXCEPTION][2/3][MODIFICAR NOMBRE] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());$this->logger->critical('[DINAMIC][EXCEPCION][3/3][MODIFICAR NOMBRE] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());return false;}$this->logger->error('[DINAMIC][ERROR][1/2][MODIFICAR NOMBRE] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->error('[DINAMIC][ERROR][2/2][MODIFICAR NOMBRE] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return false;}/*** Modificar los apellidos de un usuario* @param string $UserId Código NAV del cliente* @param string $apellidos* @return bool Estado de la operación*/public function modificarApellidos($UserId,$apellidos){$args = array('codClienteNAV' => $UserId,'apellidos' => $apellidos);try {$respuesta = (array)$this->ClienteSoap->ModificarNombre2($args);if (empty($respuesta)) {$this->logger->info('[DINAMIC][INFO][1/2][MODIFICAR APELLIDOS] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->info('[DINAMIC][INFO][2/2][MODIFICAR APELLIDOS] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return true;}}catch (\SoapFault $fault){$this->logger->critical('[DINAMIC][EXCEPTION][1/3][MODIFICAR APELLIDOS] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->critical('[DINAMIC][EXCEPTION][2/3][MODIFICAR APELLIDOS] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());$this->logger->critical('[DINAMIC][EXCEPCION][3/3][MODIFICAR APELLIDOS] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());return false;}$this->logger->error('[DINAMIC][ERROR][1/2][MODIFICAR APELLIDOS] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->error('[DINAMIC][ERROR][2/2][MODIFICAR APELLIDOS] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return false;}/*** Modifica el tipo de documento de identificación* @param string $UserId Código NAV del cliente* @param string $tipo tipo de documento* @return bool Estado de la operación*/public function modificarTipoId($UserId,$tipo){$args = array('codClienteNAV' => $UserId,'tipoId' => $tipo);try {$respuesta = (array)$this->ClienteSoap->ModificarTipoId($args);if (empty($respuesta)) {$this->logger->info('[DINAMIC][INFO][1/2][MODIFICAR TIPOID] ' . $this->ClienteSoap->__getLastRequest() . PHP_EOL . "\t con los argumentos: " . json_encode($args));$this->logger->info('[DINAMIC][INFO][2/2][MODIFICAR TIPOID] Respuesta del servidor: ' . $this->ClienteSoap->__getLastResponse());return true;}}catch (\SoapFault $fault){$this->logger->critical('[DINAMIC][EXCEPTION][1/3][MODIFICAR TIPOID] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->critical('[DINAMIC][EXCEPTION][2/3][MODIFICAR TIPOID] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());$this->logger->critical('[DINAMIC][EXCEPCION][3/3][MODIFICAR TIPOID] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());return false;}$this->logger->error('[DINAMIC][ERROR][1/2][MODIFICAR TIPOID] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->error('[DINAMIC][ERROR][2/2][MODIFICAR TIPOID] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return false;}/*** Modifica el número de identificación de un usuario* @param string $UserId Código NAV del cliente* @param string $numeroID nuevo número de identificación* @return bool Estado de la operación*/public function modificarNumId($UserId,$numeroID){$args = array('codClienteNAV' => $UserId,'numId' => $numeroID);try {$respuesta = (array)$this->ClienteSoap->ModificarNumId($args);if (empty($respuesta)) {$this->logger->info('[DINAMIC][INFO][1/2][MODIFICAR NUMID] ' . $this->ClienteSoap->__getLastRequest() . PHP_EOL . "\t con los argumentos: " . json_encode($args));$this->logger->info('[DINAMIC][INFO][2/2][MODIFICAR NUMID] Respuesta del servidor: ' . $this->ClienteSoap->__getLastResponse());return true;}}catch (\SoapFault $fault){$this->logger->critical('[DINAMIC][EXCEPTION][1/3][MODIFICAR NUMID] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->critical('[DINAMIC][EXCEPTION][2/3][MODIFICAR NUMID] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());$this->logger->critical('[DINAMIC][EXCEPCION][3/3][MODIFICAR NUMID] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());return false;}$this->logger->error('[DINAMIC][ERROR][1/2][MODIFICAR NUMID] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->error('[DINAMIC][ERROR][2/2][MODIFICAR NUMID] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return false;}/*** Modifica la fecha de Expiración del documento de un cliente* @param string $UserId Código NAV del cliente* @param string $fecha Nueva fecha de expiracion* @return bool Estado de la operación*/public function modificarFechaExpiracion($UserId,$fecha){$args = array('codClienteNAV' => $UserId,'fechaCadId' => $fecha);try {$respuesta = (array)$this->ClienteSoap->ModificarFechaCadId($args);if (empty($respuesta)) {$this->logger->info('[DINAMIC][INFO][1/2][MODIFICAR FECHA EXPIRACION] ' . $this->ClienteSoap->__getLastRequest() . PHP_EOL . "\t con los argumentos: " . json_encode($args));$this->logger->info('[DINAMIC][INFO][2/2][MODIFICAR FECHA EXPIRACION] Respuesta del servidor: ' . $this->ClienteSoap->__getLastResponse());return true;}}catch (\SoapFault $fault){$this->logger->critical('[DINAMIC][EXCEPTION][1/3][MODIFICAR FECHA EXPIRACION] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->critical('[DINAMIC][EXCEPTION][2/3][MODIFICAR FECHA EXPIRACION] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());$this->logger->critical('[DINAMIC][EXCEPCION][3/3][MODIFICAR FECHA EXPIRACION] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());return false;}$this->logger->error('[DINAMIC][ERROR][1/2][MODIFICAR FECHA EXPIRACION] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->error('[DINAMIC][ERROR][2/2][MODIFICAR FECHA EXPIRACION] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return false;}/*** @deprecated Valida un cliente del ERP* @param string $UserId Código NAV del cliente* @return bool Estado de la operación*/public function validarCliente($UserId){$args = array('txtUsuarioId' => $UserId,);try {$respuesta = (array)$this->ClienteSoap->ValidarCliente($args);if (empty($respuesta)) {$this->logger->info('[DINAMIC][INFO][1/2][VALIDAR CLIENTE] ' . $this->ClienteSoap->__getLastRequest() . PHP_EOL . "\t con los argumentos: " . json_encode($args));$this->logger->info('[DINAMIC][INFO][2/2][VALIDAR CLIENTE] Respuesta del servidor: ' . $this->ClienteSoap->__getLastResponse());return true;}}catch (\SoapFault $fault){$this->logger->critical('[DINAMIC][EXCEPTION][1/3][VALIDAR CLIENTE] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->critical('[DINAMIC][EXCEPTION][2/3][VALIDAR CLIENTE] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());$this->logger->critical('[DINAMIC][EXCEPCION][3/3][VALIDAR CLIENTE] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());return false;}$this->logger->error('[DINAMIC][ERROR][1/2][VALIDAR CLIENTE] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->error('[DINAMIC][ERROR][2/2][VALIDAR CLIENTE] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return false;}/*** Devuelve si un cliente está activo en el ERP* @param string $UserId Código NAV del cliente* @return bool Estado de la operación*/public function isCLienteActivo($UserId){$args = array('codClienteNAV' => $UserId,);try{$respuesta=(array) $this->ClienteSoap->IsClienteActivo($args);if(empty($respuesta)){// $this->logger->info('[DINAMIC][INFO][1/2][IS CLIENTE ACTIVO] ' . $this->ClienteSoap->__getLastRequest() . PHP_EOL . "\t con los argumentos: " . json_encode($args));// $this->logger->info('[DINAMIC][INFO][2/2][IS CLIENTE ACTIVO] Respuesta del servidor: ' . $this->ClienteSoap->__getLastResponse());return true;}}catch (\SoapFault $fault){$this->logger->critical('[DINAMIC][EXCEPTION][1/3][IS CLIENTE ACTIVO] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->critical('[DINAMIC][EXCEPTION][2/3][IS CLIENTE ACTIVO] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());$this->logger->critical('[DINAMIC][EXCEPCION][3/3][IS CLIENTE ACTIVO] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());return false;}$this->logger->error('[DINAMIC][ERROR][1/2][IS CLIENTE ACTIVO] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->error('[DINAMIC][ERROR][2/2][IS CLIENTE ACTIVO] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return false;}/*** Devuevel las cotizaciones de una divisa* @param string $divisa, Código de la divisa* @param string $dia* Dia de la cotización. Si no hay cotizacion de ese dia el ERP* devuelve la última cotización conocida antetior al dia dado* @return array|bool Cotización | Falso en caso de que falle*/public function getTarifaDivisa($divisa, $dia){$xml = new \stdClass;$xml->Tarifa=new \stdClass;$xml->Tarifa->CodDivisa=$divisa->getTitle();$xml->Tarifa->FechaReferencia=$dia;$xml->Tarifa->HoraReferencia='';$args = array('xMLImportFiltros' => $xml,'xMLExportPrecios' => '');try{$response=(array) $this->ClienteSoap->GetTarifaDivisaALL($args);if($response){return( (array) $response['xMLExportPrecios']->Lineas);}}catch(\SoapFault $fault){$this->logger->critical('[DINAMIC][EXCEPTION][1/3][GET TARIFA DIVISA] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->critical('[DINAMIC][EXCEPTION][2/3][GET TARIFA DIVISA] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());$this->logger->critical('[DINAMIC][EXCEPCION][3/3][GET TARIFA DIVISA] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());return false;}$this->logger->error('[DINAMIC][ERROR][1/2][GET TARIFA DIVISA] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->error('[DINAMIC][ERROR][2/2][GET TARIFA DIVISA] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return false;}/*** Devuevel las cotizaciones de una divisa* @param string $divisa, Código de la divisa* @param string $dia* Dia de la cotización. Si no hay cotizacion de ese dia el ERP* devuelve la última cotización conocida antetior al dia dado* @param int $oficina, id de la oficina* @return array|bool Cotización | Falso en caso de que falle*/public function getTarifaDivisaNew($divisa, $dia, $oficina){if($oficina == null){return null;}$xml = new \stdClass;$xml->Tarifa=new \stdClass;$xml->Tarifa->CodDivisa=$divisa->getTitle();$xml->Tarifa->FechaReferencia=$dia;$xml->Tarifa->HoraReferencia='';// var_dump($oficina->getOficinaErp()->getCodigo());if (is_string($oficina))$xml->Tarifa->CodTienda=$oficina;else$xml->Tarifa->CodTienda=$oficina->getOficinaErp()->getCodigo();$args = array('xMLImportFiltrosNew' => $xml,'xMLExportPreciosNew' => '');try{$response=(array) $this->ClienteSoap->GetTarifaDivisaALLNEW($args);/*if ($xml->Tarifa->CodTienda == "OC025" and $xml->Tarifa->CodDivisa == "USD-BILLETE") {var_dump($response); die();}*/if($response){return( (array) $response['xMLExportPreciosNew']->Lineas);}}catch(\SoapFault $fault){$this->logger->critical('[DINAMIC][EXCEPTION][1/3][GET TARIFA DIVISA] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->critical('[DINAMIC][EXCEPTION][2/3][GET TARIFA DIVISA] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());$this->logger->critical('[DINAMIC][EXCEPCION][3/3][GET TARIFA DIVISA] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());return false;}$this->logger->error('[DINAMIC][ERROR][1/2][GET TARIFA DIVISA] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->error('[DINAMIC][ERROR][2/2][GET TARIFA DIVISA] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return false;}/*** Busca todas las cotizaciones de un dia para todas las divisas* @return array|bool Cotizaciónes | Falso en caso de que falle*/public function getTarifasHoy(){$hoy= new \DateTime();$xml = new \stdClass;$xml->Tarifa=new \stdClass;$xml->Tarifa->CodDivisa='';$xml->Tarifa->FechaReferencia=$hoy->format('m/d/Y');$xml->Tarifa->HoraReferencia='';$xml->Tarifa->NumCotizaciones=1;$args = array('xMLImportFiltros' => $xml,'xMLExportPrecios' => '');try{$respuesta=(array) $this->ClienteSoap->GetTarifaDivisaALLhistorico($args);if($respuesta) {// $this->logger->info('[DINAMIC][INFO][1/2][GET TARIFA DIVISA ALL] ' . $this->ClienteSoap->__getLastRequest() . PHP_EOL . "\t con los argumentos: " . json_encode($args));// $this->logger->info('[DINAMIC][INFO][2/2][GET TARIFA DIVISA ALL] Respuesta del servidor: ' . $this->ClienteSoap->__getLastResponse());return $respuesta;}}catch(\SoapFault $fault){$this->logger->critical('[DINAMIC][EXCEPTION][1/3][GET TARIFA DIVISA ALL] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->critical('[DINAMIC][EXCEPTION][2/3][GET TARIFA DIVISA ALL] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());$this->logger->critical('[DINAMIC][EXCEPCION][3/3][GET TARIFA DIVISA ALL] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());return false;}$this->logger->error('[DINAMIC][ERROR][1/2][GET TARIFA DIVISA ALL] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->error('[DINAMIC][ERROR][2/2][GET TARIFA DIVISA ALL] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return false;}/*** Haciendo uso de la función AltaModifCliente registramos un cliente en la web.* En este caso le pasamos el código de cliente vacío para indicar que es un cliente nuevo.* Si le pasaramos un código lo que haría es modificar el cliente* @param User $user* @return bool|mixed False en caso de que falle y el código de cliente NAV en caso de que funcione*/public function RegistrarCliente(User $user){$xml=new \stdClass;$xml->Cliente=new \stdClass;$xml->Cliente->TipoId=$user->getTipoDocumento()->getCodigo();$xml->Cliente->NumId=$user->getUserName();$xml->Cliente->FechaCadId=$user->getFechaCaducidad()->format('m/d/Y');$xml->Cliente->Nombre=$user->getName();$xml->Cliente->TipoCliente=1;$xml->Cliente->CodPais=$user->getPais()->getIso2();$xml->Cliente->FechaNacimiento=$user->getFechaNacimiento()->format('m/d/Y');$xml->Cliente->Email=$user->getEmail();$xml->Cliente->Telf=$user->getTelefono();$xml->Cliente->CodPostal=$user->getCp();$xml->Cliente->Poblacion=$user->getCiudad();$xml->Cliente->Provincia=$user->getCounty();$xml->Cliente->Dir1=$user->getDireccion1();$args = array('xMLImportCliente' => $xml,'codClienteNAV' => '');/////ELIMINAR EN PRODUCCION//return 'C0000/00000000006989';try{$respuesta=(array) $this->ClienteSoap->AltaModifCliente($args);if(isset($respuesta['return_value'])){$this->logger->info('[DINAMIC][INFO][1/2][REGISTRAR CLIENTE] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->info('[DINAMIC][INFO][2/2][REGISTRAR CLIENTE] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return $respuesta['return_value'];}else{$this->logger->error('[DINAMIC][ERROR][1/2][REGISTRAR CLIENTE] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->error('[DINAMIC][ERROR][2/2][REGISTRAR CLIENTE] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return false;}}catch (\SoapFault $fault){$this->logger->critical('[DINAMIC][EXCEPTION][1/3][REGISTRAR CLIENTE] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->critical('[DINAMIC][EXCEPTION][2/3][REGISTRAR CLIENTE] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());$this->logger->critical('[DINAMIC][EXCEPCION][3/3][REGISTRAR CLIENTE] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());return false;}}/*** Registra una reserva en el ERP* @param CARRO $carro Carro de compra del usuario* @param mixed $linea Linea de la reserva* @param string $erpUser Código ERP* @param string $tipoC Tipo de usuario (USUARIO|INVITADO)* @return bool|mixed*/// public function RegistrarReserva($carro,$linea,$erpUser,$tipoC){//// //TODO// return true;//// $xml= new \stdClass;// //CLIENTE USUARIO// if($tipoC=='USUARIO'){// if($carro->getDireccion()){// $direccion=$erpUser->Address;// if(isset($erpUser->Address_2)){// $direccion.=' '.$erpUser->Address_2;// }// }// $nombre=$erpUser->Name;// if(isset($erpUser->Name_2)){// $nombre.=' '.$erpUser->Name2;// }// if(isset($erpUser->E_Mail)){// $xml->Email=$erpUser->E_Mail;// }// else{// $xml->Email='SinSalidaDeEmailEnErp@email.es';// }// $xml->CodCliente=$erpUser->No;// $xml->NombreCliente=$nombre;// $xml->DocId=$carro->getUsuario()->getUserName();// if(isset($erpUser->Phone_No)){// $xml->Telf=$erpUser->Phone_No;// }// else{// $xml->Telf='SinSalidaTLfErp';// }// if(isset($direccion))// $xml->Direccion=$direccion;//// }// //CLIENTE INVITADO// else{// $xml->NombreCliente=$erpUser->getNombre().' '.$erpUser->getApellidos();// $xml->Email=$erpUser->getEmail();// $xml->Telf=$erpUser->getTelefono();// }// $xml->Observaciones=$carro->getComentario();//// if ($carro->getCodigoPromo())// $xml->Observaciones .= " \nCUPÓN: ".$carro->getCodigoPromo();//// $xml->FechaRecogida=$carro->getFechaEntrega()->format('m/d/Y');// if($carro->getHoraEntrega()){// $xml->HoraRecogida=$carro->getHoraEntrega()->format('H:i');// }// else{// $xml->HoraRecogida='';// }//// $xml->Cantidad=$linea->getCantidadFinal();// $xml->DivisaEntrada=$linea->getDivisaOrigen()->getTitle();// $xml->DivisaSalida=$linea->getDivisaFinal()->getTitle();// $xml->Oficina=$carro->getOficina()->getOficinaErp()->getCodigo();// $args = array(// 'xMLImportDocumentos' => $xml,// );//// try{// $respuesta=(array) $this->ClienteSoap->RegistrarReserva($args);// if(!isset($respuesta['return_value'])){// $this->logger->error('[DINAMIC][ERROR][1/2][REGISTRAR RESERVA] '.json_encode($args));// $this->logger->error('[DINAMIC][ERROR][2/2][REGISTRAR RESERVA] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());// return false;// }// else{// $this->logger->info('[DINAMIC][INFO][1/2][REGISTRAR RESERVA] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));// $this->logger->info('[DINAMIC][INFO][2/2][REGISTRAR RESERVA] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());// return $respuesta['return_value'];// }// }catch (\SoapFault $fault){// $this->logger->critical('[DINAMIC][EXCEPTION][1/3][REGISTRAR RESERVA] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));// $this->logger->critical('[DINAMIC][EXCEPCION][2/3][REGISTRAR RESERVA] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());// $this->logger->critical('[DINAMIC][EXCEPCION][3/3][REGISTRAR RESERVA] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());// return false;// }// }public function RegistrarReserva($reserva, $linea) {return 'codigo_erp_línea';$xml = new \stdClass;$xml->NombreCliente = $reserva->getNombre().' '.$reserva->getApellido();$xml->Email = $reserva->getEmail();$xml->Telf = $reserva->getTelefono();$xml->FechaRecogida = $reserva->getFechaRecogida()->format('m/d/Y');if($reserva->getHoraRecogida()) {$xml->HoraRecogida = $reserva->getHoraRecogida()->format('H:i');}else {$xml->HoraRecogida = '';}$xml->Cantidad = $linea->getCantidad();$xml->DivisaEntrada = $linea->getDivisaOrigen()->getTitle();$xml->DivisaSalida = $linea->getDivisaDestino()->getTitle();$xml->Oficina = $reserva->getOficina()->getOficinaErp()->getCodigo();$args = array('xMLImportDocumentos' => $xml,);try {$respuesta = (array) $this->ClienteSoap->RegistrarReserva($args);if(!isset($respuesta['return_value'])){$this->logger->error('[DINAMIC][ERROR][1/2][REGISTRAR RESERVA] '.json_encode($args));$this->logger->error('[DINAMIC][ERROR][2/2][REGISTRAR RESERVA] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return false;}else{$this->logger->info('[DINAMIC][INFO][1/2][REGISTRAR RESERVA] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->info('[DINAMIC][INFO][2/2][REGISTRAR RESERVA] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return $respuesta['return_value'];}} catch (\SoapFault $fault) {$this->logger->critical('[DINAMIC][EXCEPTION][1/3][REGISTRAR RESERVA] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->critical('[DINAMIC][EXCEPCION][2/3][REGISTRAR RESERVA] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());$this->logger->critical('[DINAMIC][EXCEPCION][3/3][REGISTRAR RESERVA] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());return false;}}/*** Cancela una reserva* @param $idReserva Código ERP De la reseva* @return bool|mixed Estado de la operación*/public function CancelarReserva($idReserva){$args = array('codReserva' => $idReserva,);try{$respuesta=(array) $this->ClienteSoap->CancelarReserva($args);if(!isset($respuesta['return_value'])){$this->logger->error('[DINAMIC][ERROR][1/2][CANCELAR RESERVA] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->error('[DINAMIC][ERROR][2/2][CANCELAR RESERVA] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return false;}$this->logger->info('[DINAMIC][INFO][1/2][CANCELAR RESERVA] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->info('[DINAMIC][INFO][2/2][CANCELAR RESERVA] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return $respuesta['return_value'];}catch (\SoapFault $fault){$this->logger->critical('[DINAMIC][EXCEPTION][1/3][CANCELAR RESERVA] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->critical('[DINAMIC][EXCEPCION][2/3][CANCELAR RESERVA] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());$this->logger->critical('[DINAMIC][EXCEPCION][3/3][CANCELAR RESERVA] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());return false;}}/*** Comprobar codigo promocion* @param string $codigo* @return [valido = bool, error = string, importeMinimoEuros = float, importeDescuentoEuros = float]*/public function ComprobarCodigoPromocion($codigo){$args = array('codigoDescuento' => $codigo,'importeMinimoEuros' => 0,'importeDescuentoEuros' => 0,'valido' => 'false','error' => '');try{$respuesta=(array) $this->ClienteSoap->ComprobarCodigoPromocion($args);// var_dump($respuesta); die();if(is_array($respuesta)){$this->logger->info('[DINAMIC][INFO][1/2][COMPROBAR CODIGO PROMOCION] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->info('[DINAMIC][INFO][2/2][COMPROBAR CODIGO PROMOCION] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return $respuesta;}else{$this->logger->error('[DINAMIC][ERROR][1/2][COMPROBAR CODIGO PROMOCION] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->error('[DINAMIC][ERROR][2/2][COMPROBAR CODIGO PROMOCION] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return false;}}catch (\SoapFault $fault){$this->logger->critical('[DINAMIC][EXCEPTION][1/3][COMPROBAR CODIGO PROMOCION] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->critical('[DINAMIC][EXCEPTION][2/3][COMPROBAR CODIGO PROMOCION] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());$this->logger->critical('[DINAMIC][EXCEPCION][3/3][COMPROBAR CODIGO PROMOCION] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());return false;}}/*** Comprobar codigo promocion* @param string $codigo* @return [valido = bool, error = string, importeMinimoEuros = float, importeDescuentoEuros = float]*/public function ComprobarImporteMinimoPromocion($codigo, $importe){$args = array('codigoDescuento' => $codigo,'importeTicket' => $importe,'importeMinimoEuros' => 0,'importeDescuentoEuros' => 0,'valido' => 'false','error' => '');try{$respuesta=(array) $this->ClienteSoap->ComprobarImporteMinimoPromocion($args);// var_dump($respuesta); die();if(is_array($respuesta)){$this->logger->info('[DINAMIC][INFO][1/2][COMPROBAR IMPORTE MINIMO PROMOCION] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->info('[DINAMIC][INFO][2/2][COMPROBAR IMPORTE MINIMO PROMOCION] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return $respuesta;}else{$this->logger->error('[DINAMIC][ERROR][1/2][COMPROBAR IMPORTE MINIMO PROMOCION] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->error('[DINAMIC][ERROR][2/2][COMPROBAR IMPORTE MINIMO PROMOCION] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return false;}}catch (\SoapFault $fault){$this->logger->critical('[DINAMIC][EXCEPTION][1/3][COMPROBAR IMPORTE MINIMO PROMOCION] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->critical('[DINAMIC][EXCEPTION][2/3][COMPROBAR IMPORTE MINIMO PROMOCION] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());$this->logger->critical('[DINAMIC][EXCEPCION][3/3][COMPROBAR IMPORTE MINIMO PROMOCION] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());return false;}}}