From debe30b5a7d91e79920f4ed22168909def850ad3 Mon Sep 17 00:00:00 2001 From: Aram HARUTYUNYAN Date: Tue, 11 Feb 2014 10:55:23 +0000 Subject: [PATCH] Issue #0001833: --- application/models/Sdv1GreffeCommandesKb.php | 6 + library/WsScore/Pieces/v0.1/Pieces.php | 157 +++++++++++-------- 2 files changed, 97 insertions(+), 66 deletions(-) create mode 100644 application/models/Sdv1GreffeCommandesKb.php diff --git a/application/models/Sdv1GreffeCommandesKb.php b/application/models/Sdv1GreffeCommandesKb.php new file mode 100644 index 00000000..3180daad --- /dev/null +++ b/application/models/Sdv1GreffeCommandesKb.php @@ -0,0 +1,6 @@ +authenticate(); $this->permission('KBIS'); @@ -23,70 +25,93 @@ class Pieces extends WsScore } elseif (strlen($siren)!=9) { $this->sendError('1020'); } - - $hostname = 'http://'.$_SERVER['SERVER_NAME']; - if ($_SERVER['SERVER_PORT']!='80'){ - $hostname.= ':'.$_SERVER['SERVER_PORT']; - } - - $c = Zend_Registry::get('config'); - $path = realpath($c->profil->path->secure).'/kbis/'; - - //Le fichier existe avec une date de validité inférieure à 1 jour - $filepdf = $path.$siren.'.pdf'; - if ( file_exists($filepdf) && date('Ymd', filemtime($filepdf))==date('Ymd') ) { - - $this->wsLog('kbis', $siren, basename($filepdf)); - return $hostname.DOC_WEB_URL.'kbis/'.basename($filepdf); - - } else { - - $file = null; - - //On vérifie quand même si il n'existe pas une commande en html - $dir = $path.date('Ymd'); - if ( file_exists($dir) ) { - foreach ( glob($dir.'/'.$siren.'-*.html') as $file ) { - break; + + switch ( $diffusion ) { + + case 'M': + case 'C': + $refCommande = uniqid(); + + $iInsee = new MInsee(); + $identite = $iInsee->getIdentiteLight($siren); + + $commande = new Application_Model_Sdv1GreffeCommandesKb(); + $id = $commande->insert(array( + 'refCommande' => $refCommande, + 'login' => $this->tabInfoUser['login'], + 'email' => $this->tabInfoUser['email'], + 'refClient' => $reference, + 'mode' => $diffusion, + 'siren' => $siren, + 'raisonSociale' => $identite['Nom'], + 'dateInsert' => date('YmdHis'), + )); + break; + default: + $hostname = 'http://'.$_SERVER['SERVER_NAME']; + if ($_SERVER['SERVER_PORT']!='80'){ + $hostname.= ':'.$_SERVER['SERVER_PORT']; } - } - - if ( empty($file) ) { - //Téléchargement du KBIS - $result = array(); - exec('php '.$c->profil->path->batch.'/getKbis.php --siren '.$siren, $result); - $result = end($result); - if (substr($result,-5)=='.html') - { - $file = $dir.'/'.$result; - $this->wsLog('kbis', $siren, $result); + + $c = Zend_Registry::get('config'); + $path = realpath($c->profil->path->secure).'/kbis/'; + + //Le fichier existe avec une date de validité inférieure à 1 jour + $filepdf = $path.$siren.'.pdf'; + if ( file_exists($filepdf) && date('Ymd', filemtime($filepdf))==date('Ymd') ) { + + $this->wsLog('kbis', $siren, basename($filepdf)); + return $hostname.DOC_WEB_URL.'kbis/'.basename($filepdf); + + } else { + + $file = null; + + //On vérifie quand même si il n'existe pas une commande en html + $dir = $path.date('Ymd'); + if ( file_exists($dir) ) { + foreach ( glob($dir.'/'.$siren.'-*.html') as $file ) { + break; + } + } + + if ( empty($file) ) { + //Téléchargement du KBIS + $result = array(); + exec('php '.$c->profil->path->batch.'/getKbis.php --siren '.$siren, $result); + $result = end($result); + if (substr($result,-5)=='.html') + { + $file = $dir.'/'.$result; + $this->wsLog('kbis', $siren, $result); + } + elseif ( $result!='ERREUR') + { + throw new SoapFault('MSG',$result); + } + else + { + $text = 'La récupération du KBIS a échoué sur le siren : '.$siren; + sendMail( + 'production@scores-decisions.com', + 'supportdev@scores-decisions.com', + '[ERREUR KBIS]', + $text); + throw new SoapFault('0000',"Erreur récupération du kbis"); + } + } else { + $this->wsLog('kbis', $siren, basename($file)); + } + + //Génération du PDF + $pdf = new Scores_Wkhtml_Pdf(); + $fileOut = $pdf->exec($file, $filepdf); + + if ( !file_exists($filepdf) ) { + throw new SoapFault('0000',"Fichier PDF introuvable"); + } + return $hostname.DOC_WEB_URL.'kbis/'.basename($filepdf); } - elseif ( $result!='ERREUR') - { - throw new SoapFault('MSG',$result); - } - else - { - $text = 'La récupération du KBIS a échoué sur le siren : '.$siren; - sendMail( - 'production@scores-decisions.com', - 'supportdev@scores-decisions.com', - '[ERREUR KBIS]', - $text); - throw new SoapFault('0000',"Erreur récupération du kbis"); - } - } else { - $this->wsLog('kbis', $siren, basename($file)); - } - - //Génération du PDF - $pdf = new Scores_Wkhtml_Pdf(); - $fileOut = $pdf->exec($file, $filepdf); - - if ( !file_exists($filepdf) ) { - throw new SoapFault('0000',"Fichier PDF introuvable"); - } - return $hostname.DOC_WEB_URL.'kbis/'.basename($filepdf); } }