public function AutorizaDocumento($result, $ids, $i, $DirDocAutorizado, $DirDocFirmado, $DBTabDoc, $DocErr, $CampoID) { $firmaDig = new VSFirmaDigital(); $errAuto = new VSexception(); //echo $result['nomDoc']; $firma = $firmaDig->firmaXAdES_BES($result['nomDoc'], $DirDocFirmado); //Verifica Errores del Firmado if ($firma['status'] == 'OK') { //Validad COmprobante $valComp = $firmaDig->validarComprobanteWS($result['nomDoc'], $DirDocFirmado); //Envio NOmbre Documento if ($valComp['status'] == 'OK') { //Retorna Datos del Comprobacion //Verifica si el Doc Fue Recibido Correctamente... $Rac = $valComp['data']['RespuestaRecepcionComprobante']; $estadoRac = $Rac['estado']; if ($estadoRac == 'RECIBIDA') { //Continua con el Proceso //Autorizacion de Comprobantes return $this->autorizaComprobante($result, $ids, $i, $DirDocAutorizado, $DirDocFirmado, $DBTabDoc, $DocErr, $CampoID); } else { //Verifica si la Clave esta en Proceso de Validacion if ($estadoRac == 'DEVUELTA') { //Actualiza Errores de Documento Devuelto... $AdrSri = $this->recibeDocSriDevuelto($Rac, $ids[$i], $result['nomDoc'], $DirDocFirmado, $DBTabDoc, $CampoID); if (count($ids) == 1) { //Sale directamente si solo tiene un Domento para validadr return $AdrSri; //Si la autorizacion es uno a uno. } } } } else { //Si Existe un error al realizar la peticion al Web Servicies return $errAuto->messageSystem('NO_OK', $valComp["error"], 4, null, null); } } else { //Sin No hay firma Automaticamente Hay que Parar el Envio //break; return $errAuto->messageSystem('NO_OK', $firma["error"], 3, null, null); } return $errAuto->messageSystem('OK', null, 40, null, null); //Si nunka tuvo un Error Devuelve OK }
//$response=$obj->validarComprobante('FACTURA-001-001-000117078.xml'); //$response=$obj->validarComprobante('FACTURA-001-001-000117134.xml'); //$response=$obj->validarComprobante('FACTURA-001-001-000117002.xml');//XML=1 //$response=$obj->validarComprobante('FACTURA-001-001-000117001.xml');//XML=2 //$response=$obj->autorizacionComprobante('1711201401099236253700110010010001169769089035214'); //$response=$obj->autorizacionComprobante('1711201401099236253700110010010001169769089035214');//Ojo error de diferencias //$response=$obj->autorizacionComprobante('1711201401099236253700110010010001169779089112915');//Autorizado Normal //$response=$obj->autorizacionComprobante('1711201401099236253700110010010001170029091055410');//XML=1 //$response=$obj->autorizacionComprobante('1711201401099236253700110010010001170019090977718');//XML=2 //$response=$obj->autorizacionComprobante('1711201401099236253700110010010001170059091288519');//Esta OK //$response=$obj->autorizacionComprobante('1811201401099236253700110010010001170729096494419');//CLAVE EN PROCESO //$response=$obj->autorizacionComprobante('1811201401099236253700110010010001170859097504516');//pROBLEMA CON LA Ñ //$response=$obj->autorizacionComprobante('1811201401099236253700110010010001171009098670010');//pROBLEMA CON EL "/" //$response=$obj->autorizacionComprobante('1811201401099236253700110010010001170789096960617'); /***************2015**********/ $response = $obj->validarComprobanteWS('FACTURA-001-001-000127586.xml', Yii::app()->params['seaDocFact']); //$response=$obj->autorizacionComprobanteWS('2408201501099236253700110010010001276019914597718'); print_r($response); //[status] => OK [error] => [message] => Respuesta Ok WebService: autorizacionComprobante [data] //if($response['status']=='OK'){ // //[estado] => DEVUELTA // $Rac=$response['data']['RespuestaRecepcionComprobante']; // $estadoRac=$Rac['estado']; // if($estadoRac=='RECIBIDA'){ // //Continua con el Proceso // }else{ // //Verifica si la Clave esta en Proceso de Validacion // if($estadoRac=='DEVUELTA'){ // $obj->recibeDocSriDevuelto($Rac,'219','FACTURA-001-001-000117080.xml',Yii::app()->params['seaDocFact']); // } //