Exemple #1
0
 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
 }
Exemple #2
0
//$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']);
//        }
//