Merge branch 'develop'

This commit is contained in:
Michael RICOIS 2016-12-21 10:56:51 +01:00
commit eabed655f0
6 changed files with 108 additions and 74 deletions

View File

@ -79,7 +79,7 @@ $requests = array(
"SET @sumSirene := (SELECT SUM(nbSirene) FROM jo.tabFJur);", "SET @sumSirene := (SELECT SUM(nbSirene) FROM jo.tabFJur);",
"SELECT code, libelle, libelleCourt, (nbSirene/@sumSirene )*100 AS pourcentage "SELECT code, libelle, libelleCourt, (nbSirene/@sumSirene )*100 AS pourcentage
FROM jo.tabFJur FROM jo.tabFJur
WHERE code>999 AND libelle <> '' WHERE code>999 AND libelle!='' AND anneeSuppr<1000
ORDER BY pourcentage DESC;" ORDER BY pourcentage DESC;"
), ),
), ),

View File

@ -228,7 +228,7 @@ return array(
array( 'var' => 'Situation', 'op' => 'SET', 'value' => ''), array( 'var' => 'Situation', 'op' => 'SET', 'value' => ''),
), ),
), ),
// --- Absorbé // --- Absorbé ?? ICI uniquement lorsque Situation = ''
array( array(
'name' => 'ABSORPTION', 'name' => 'ABSORPTION',
'value' => 'CONTINUE', 'value' => 'CONTINUE',

View File

@ -2039,6 +2039,7 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
$iTva = new Metier_Partenaires_MTva($this->iDb); $iTva = new Metier_Partenaires_MTva($this->iDb);
$iTva->setCompanyId($siren); $iTva->setCompanyId($siren);
$iTva->setRemote(); $iTva->setRemote();
$iTva->getTVA();
$vatNumber = $iTva->vatNumber; $vatNumber = $iTva->vatNumber;
$vatDefined = $iTva->vatDefined; $vatDefined = $iTva->vatDefined;
@ -5206,13 +5207,13 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
} }
} else { } else {
switch ($ann['Rubrique']) { switch ($ann['Rubrique']) {
case 'mmd': $codeEven='2313'; $libEven = "Modification(s) diverse(s)"; break; case 'mmd': $codeEven='2313'; $libEven = "Modification(s) diverse(s)"; break;
case 'comptes': $codeEven='3999'; $libEven = "Dépôt des comptes"; break; case 'comptes': $codeEven='3999'; $libEven = "Dépôt des comptes"; break;
case 'creations': $codeEven='4999'; $libEven = "Création d'entreprise"; break; case 'creations': $codeEven='4999'; $libEven = "Création d'entreprise"; break;
case 'procol': $codeEven='1999'; $libEven = "Procédure collective"; break; case 'procol': $codeEven='1999'; $libEven = "Procédure collective"; break;
case 'radiations': $codeEven='6700'; $libEven = "Radiation"; break; case 'radiations': $codeEven='6700'; $libEven = "Radiation"; break;
case 'ventes': $codeEven='5999'; $libEven = "Vente/Cession"; break; case 'ventes': $codeEven='5999'; $libEven = "Vente/Cession"; break;
default: $codeEven='0000'; $libEven = $ann['Rubrique']; break; default: $codeEven='0000'; $libEven = $ann['Rubrique']; break;
} }
$tabRetEven[] = array( $tabRetEven[] = array(
'CodeEven' => $codeEven, 'CodeEven' => $codeEven,
@ -5277,25 +5278,30 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
} elseif ($ann['JAL']==200) { } elseif ($ann['JAL']==200) {
$Bodacc_Code='BODB'; $Bodacc_Code='BODB';
} }
// 4xxx
if ($ann['CODEVE']<20) { if ($ann['CODEVE']<20) {
$rub='creations'; $rub='creations';
} // 4xxx }
// 5xxx
elseif ($ann['CODEVE']<=25) { elseif ($ann['CODEVE']<=25) {
$rub='ventes'; $rub='ventes';
} // 5xxx }
// 2xxx
elseif ($ann['CODEVE']<40) { elseif ($ann['CODEVE']<40) {
$rub='mmd'; $rub='mmd';
} // 2xxx }
// 6xxx
elseif ($ann['CODEVE']<42) { elseif ($ann['CODEVE']<42) {
$rub='radiations'; $rub='radiations';
} // 6xxx }
// 2xxx
elseif ($ann['CODEVE']<50) { elseif ($ann['CODEVE']<50) {
$rub='mmd'; $rub='mmd';
} // 2xxx }
// 1xxx
elseif ($ann['CODEVE']<80) { elseif ($ann['CODEVE']<80) {
$rub='procol'; $rub='procol';
} // 1xxx }
$tabEvens = array(); $tabEvens = array();
$newCodeEven = $this->HistoEvenConvert[$ann['CODEVE']]; $newCodeEven = $this->HistoEvenConvert[$ann['CODEVE']];
@ -5508,20 +5514,20 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
'LibEven' => $this->iBodacc->getEvenement($even) 'LibEven' => $this->iBodacc->getEvenement($even)
); );
if ($even>=1000 && $even<2000) { if ($even>=1000 && $even<2000) {
$rubriqueRet='procol'; $rubriqueRet = 'procol';
} elseif ($even>=2000 && $even<3000) { } elseif ($even>=2000 && $even<3000) {
$rubriqueRet='mmd'; $rubriqueRet='mmd';
} elseif ($even>=3000 && $even<4000) { } elseif ($even>=3000 && $even<4000) {
$rubriqueRet='comptes'; $rubriqueRet = 'comptes';
} elseif ($even>=4000 && $even<5000) { } elseif ($even>=4000 && $even<5000) {
$rubriqueRet='creations'; $rubriqueRet = 'creations';
} elseif ($even>=5000 && $even<6000) { } elseif ($even>=5000 && $even<6000) {
$rubriqueRet='ventes'; $rubriqueRet = 'ventes';
} elseif ($even>=6000 && $even<7000) { } elseif ($even>=6000 && $even<7000) {
$rubriqueRet='radiations'; $rubriqueRet = 'radiations';
} }
if ($even==2102 || $even==2100) { if ($even==2102 || $even==2100) {
$capital=true; $capital = true;
} }
} }
} }

View File

@ -28,6 +28,11 @@ class Metier_Partenaires_MTva
*/ */
protected $remote = false; protected $remote = false;
/**
*
* @param unknown $db
* @return boolean
*/
public function __construct($db = null) public function __construct($db = null)
{ {
if ($this->siren * 1 < 000001000) { if ($this->siren * 1 < 000001000) {
@ -42,6 +47,27 @@ class Metier_Partenaires_MTva
} else { } else {
$this->iDb = $db; $this->iDb = $db;
} }
}
/**
* Return TVA Struct
* @param unknown $db
* @return boolean
*/
public function getTVA()
{
if ($this->siren * 1 < 000001000) {
$this->vatNumber = 'FR00000000000';
$this->vatDefined = false;
return false;
}
if ($db === null) {
$this->iDb = new Metier_Util_Db();
} else {
$this->iDb = $db;
}
$cleAlgo = $this->genereCleFr(); $cleAlgo = $this->genereCleFr();
if ($cleAlgo < 10) { if ($cleAlgo < 10) {
@ -62,18 +88,17 @@ class Metier_Partenaires_MTva
"siren=$this->siren", false, MYSQL_ASSOC); "siren=$this->siren", false, MYSQL_ASSOC);
if (count($tab) > 0) { if (count($tab) > 0) {
$tab = $info[0]; $tab = $info[0];
if ($tab['cle'] !== null || ($tab['cle'] === null && $cle = $tab['cle'];
$tab['DateMAJ'] >= date('Ymd', mktime(0, 0, 0, date('m')-6, date('d'), date('Y'))))) { $dateRef = new DateTime();
$cle = $tab['cle']; $dateRef->sub(new DateInterval('P6M'));
if ($cle == null) { $dateMaj = DateTime::createFromFormat('Ymd', $tab['DateMAJ']);
$attribue = false; $this->vatNumber = "FR".$cle.$this->siren;
$cle = $this->cle; if ($cle !== null) {
} else { $this->vatDefined = true;
$attribue = true; return true;
} } elseif ($cle === null && $dateMaj >= $dateRef) {
$this->vatNumber = "FR".$cle.$this->siren; $cle = $this->cle;
$this->vatDefined = $attribue; $this->vatDefined = false;
return true; return true;
} }
} }
@ -81,11 +106,10 @@ class Metier_Partenaires_MTva
if ($this->remote) { if ($this->remote) {
return $this->getRemoteVAT(); return $this->getRemoteVAT();
} else { } else {
$this->errnum = 999;
$this->errmsg = "Pas d'accès à la base TVA";
$this->vatNumber = "FR".$this->cle.$this->siren; $this->vatNumber = "FR".$this->cle.$this->siren;
$this->vatDefined = false; $this->vatDefined = false;
$this->errnum = 999;
$this->errmsg = "Pas d'accès à la base TVA";
return true; return true;
} }
@ -120,13 +144,19 @@ class Metier_Partenaires_MTva
$nbIndispo = 0; $nbIndispo = 0;
while (true) { while (true) {
$postData = array( $postData = array(
'ms' => 'FR', 'memberStateCode' => "FR",
'iso' => 'FR', 'number' => $this->cle.$this->siren,
'vat' => $this->cle.$this->siren, 'traderName' => "",
'BtnSubmitVat' => 'Verify' 'traderStreet' => "",
'traderPostalCode' => "",
'traderCity' => "",
'requesterMemberStateCode' => "",
'requesterNumber' => "",
'action' => "check",
'check' => "Vérifier",
); );
$tdeb = microtime(true); $tdeb = microtime(true);
$url = 'http://ec.europa.eu/taxation_customs/vies/viesquer.do'; $url = 'http://ec.europa.eu/taxation_customs/vies/vatRequest.html';
$referer = 'http://ec.europa.eu/taxation_customs/vies/'; $referer = 'http://ec.europa.eu/taxation_customs/vies/';
$page = getUrl($url, '', $postData, $referer, false, 'ec.europa.eu', '', 15); $page = getUrl($url, '', $postData, $referer, false, 'ec.europa.eu', '', 15);
$duree = round(microtime(true)-$tdeb, 3); $duree = round(microtime(true)-$tdeb, 3);
@ -141,24 +171,24 @@ class Metier_Partenaires_MTva
$code = $page['code'];// Code réponse Serveur $code = $page['code'];// Code réponse Serveur
$body = $page['body']; $body = $page['body'];
$header = $page['header']; $header = $page['header'];
if (preg_match('/Yes, valid VAT number/i', $body)) { if (preg_match('/Yes, valid VAT number/i', $body) || preg_match('/Oui, numéro de TVA valide/i', $body)) {
$tabInsert = array( $tabInsert = array(
'siren' => $this->siren, 'siren' => $this->siren,
'cle' => $this->cle, 'cle' => $this->cle,
'duree' => $duree 'duree' => $duree
); );
$tabUpdate = array(
'cle' => $this->cle,
'duree' => $duree
);
if (!$this->iDb->insert('sdv1.siren_tva', $tabInsert)) { if (!$this->iDb->insert('sdv1.siren_tva', $tabInsert)) {
$tabUpdate = array(
'cle' => $this->cle,
'duree' => $duree
);
if (!$this->iDb->update('sdv1.siren_tva', $tabUpdate, "siren=$this->siren")) { if (!$this->iDb->update('sdv1.siren_tva', $tabUpdate, "siren=$this->siren")) {
Metier_Util_Log::write('W', "Siren $this->siren, numéro de TVA = FR $this->cle $this->siren, impossible de MAJ la clef ($duree s) - ERREUR MySql n°". mysql_errno() .' : '. mysql_error(), __LINE__, __FILE__, __FUNCTION__, __CLASS__); Metier_Util_Log::write('W', "Siren $this->siren, numéro de TVA = FR $this->cle $this->siren, impossible de MAJ la clef ($duree s) - ERREUR MySql n°". mysql_errno() .' : '. mysql_error(), __LINE__, __FILE__, __FUNCTION__, __CLASS__);
} }
} }
Metier_Util_Log::write('I', "Siren $this->siren, numéro de TVA = FR $$this->cle $siren ($duree s)", __LINE__, __FILE__, __FUNCTION__, __CLASS__); Metier_Util_Log::write('I', "Siren $this->siren, numéro de TVA = FR $$this->cle $siren ($duree s)", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
$this->vatNumber = "FR".$this->cle.$this->siren; $this->vatNumber = "FR".$this->cle.$this->siren;
$this->vatDefined=true; $this->vatDefined = true;
return true; return true;
} elseif (strpos($body, 'Service non disponible') > 0 || strpos($body, 'ponse trop long.') > 0) { } elseif (strpos($body, 'Service non disponible') > 0 || strpos($body, 'ponse trop long.') > 0) {
$nbIndispo++; $nbIndispo++;
@ -183,20 +213,20 @@ class Metier_Partenaires_MTva
} }
Metier_Util_Log::write('I', "Siren $this->siren, numéro de TVA = FR $this->cle $this->siren vérification non disponible ($duree s)", __LINE__, __FILE__, __FUNCTION__, __CLASS__); Metier_Util_Log::write('I', "Siren $this->siren, numéro de TVA = FR $this->cle $this->siren vérification non disponible ($duree s)", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
$this->vatNumber = "FR".$this->cle.$this->siren; $this->vatNumber = "FR".$this->cle.$this->siren;
$this->vatDefined=false; $this->vatDefined = false;
return true; return true;
} }
} else { } else {
$tabInsert = array( $tabInsert = array(
'siren' => $this->siren, 'siren' => $this->siren,
'cle' => 'NULL', 'cle' => 'NULL',
'duree' => $duree
);
$tabUpdate = array(
'cle' => 'NULL',
'duree' => $duree 'duree' => $duree
); );
if (!$this->iDb->insert('sdv1.siren_tva', $tabInsert)) { if (!$this->iDb->insert('sdv1.siren_tva', $tabInsert)) {
$tabUpdate = array(
'cle' => 'NULL',
'duree' => $duree
);
if (!$this->iDb->update('sdv1.siren_tva', $tabUpdate, "siren=$this->siren")) { if (!$this->iDb->update('sdv1.siren_tva', $tabUpdate, "siren=$this->siren")) {
Metier_Util_Log::write('W', "Siren $this->siren, numéro de TVA = FR $this->cle $this->siren, impossible de MAJ la clef ($duree s) - ERREUR MySql n°". mysql_errno() .' : '. mysql_error(), __LINE__, __FILE__, __FUNCTION__, __CLASS__); Metier_Util_Log::write('W', "Siren $this->siren, numéro de TVA = FR $this->cle $this->siren, impossible de MAJ la clef ($duree s) - ERREUR MySql n°". mysql_errno() .' : '. mysql_error(), __LINE__, __FILE__, __FUNCTION__, __CLASS__);
} }

View File

@ -2203,24 +2203,22 @@ class Metier_Scores_ICotation
$this->reTrtAuto = $retraitementAutomatique; $this->reTrtAuto = $retraitementAutomatique;
$this->tabBilan = $tabBilan; $this->tabBilan = $tabBilan;
/** Situat° Remarque Notation Equiv. Grades Probabilité de /* Situation Fiancière Remarque Notation BDF Equiv. Moody's Grades S&P Probabilité dedéfaillance */
** financière BDF Moody's Grades S&P défaillance $this->tabNotation['A+']=array('Excellente', 'Exceptionnelle', 'A3++', 'Aaa', 'AAA', '0.001');
**/ $this->tabNotation['A'] =array('Excellente', 'Excellente', 'A3+', 'Aa1 Aa2 Aa3', 'AA+ AA AA-', '0.01');
$this->tabNotation['A+']=array('Excellente', 'Exceptionnelle', 'A3++', 'Aaa', 'AAA' ,'0.001'); $this->tabNotation['B+']=array('Excellente', 'Très bonne', '3++', 'A1', 'A+', '0.02');
$this->tabNotation['A'] =array('Excellente', 'Excellente', 'A3+', 'Aa1 Aa2 Aa3', 'AA+ AA AA-','0.01'); $this->tabNotation['B'] =array('Bonne', 'Bonne', '3+', 'A2 A3', 'A A-', '0.04');
$this->tabNotation['B+']=array('Excellente', 'Très bonne', '3++', 'A1', 'A+' ,'0.02'); $this->tabNotation['C+']=array('Bonne', 'Relativement correcte', '3', 'Baa1', 'BBB+', '0.15');
$this->tabNotation['B'] =array('Bonne', 'Bonne', '3+', 'A2 A3', 'A A-' ,'0.04'); $this->tabNotation['C'] =array('Bonne', 'Correcte', '3', 'Baa2', 'BBB', '0.30');
$this->tabNotation['C+']=array('Bonne', 'Relativement correcte', '3', 'Baa1', 'BBB+' ,'0.15'); $this->tabNotation['C-']=array('Bonne', 'Moyenne', '3', 'Baa3', 'BBB-', '0.60');
$this->tabNotation['C'] =array('Bonne', 'Correcte', '3', 'Baa2', 'BBB' ,'0.30'); $this->tabNotation['D+']=array('Moyenne', 'Passable', '4+', 'Ba1', 'BB+', '0.90');
$this->tabNotation['C-']=array('Bonne', 'Moyenne', '3', 'Baa3', 'BBB-' ,'0.60'); $this->tabNotation['D'] =array('Moyenne', 'Médiocre', '4', 'Ba2', 'BB', '1.25');
$this->tabNotation['D+']=array('Moyenne', 'Passable', '4+', 'Ba1', 'BB+' ,'0.90'); $this->tabNotation['D-']=array('Moyenne', 'Très médiocre', '4', 'Ba3', 'BB-', '1.60');
$this->tabNotation['D'] =array('Moyenne', 'Médiocre', '4', 'Ba2', 'BB' ,'1.25'); $this->tabNotation['E+']=array('Mauvaise', 'Assez mauvaise', '5', 'B1 B2 B3', 'B+ B B-', '5.00');
$this->tabNotation['D-']=array('Moyenne', 'Très médiocre', '4', 'Ba3', 'BB-' ,'1.60'); $this->tabNotation['E'] =array('Mauvaise', 'Mauvaise', '6', 'Caa', 'CCC', '14.00');
$this->tabNotation['E+']=array('Mauvaise', 'Assez mauvaise', '5', 'B1 B2 B3', 'B+ B B-', '5.00'); $this->tabNotation['E-']=array('Mauvaise', 'Très mauvais', '8', 'Ca C', 'CC C', '17.00');
$this->tabNotation['E'] =array('Mauvaise', 'Mauvaise', '6', 'Caa', 'CCC', '14.00'); $this->tabNotation['F'] =array('Mauvaise', 'Signe de défaut', '8 9', 'D', 'D', 'En défaut');
$this->tabNotation['E-']=array('Mauvaise', 'Très mauvais', '8', 'Ca C', 'CC C', '17.00'); $this->tabNotation['Z'] =array('Mauvaise', 'Signe de défaut', 'P', '', '', 'En défaut');
$this->tabNotation['F'] =array('Mauvaise', 'Signe de défaut', '8 9', 'D', 'D', 'En défaut');
$this->tabNotation['Z'] =array('Mauvaise', 'Signe de défaut', 'P', '', '', 'En défaut');
$this->tabLibActivite[0]=''; $this->tabLibActivite[0]='';
$this->tabLibActivite[15]='Industries Alimentaires : Collecte Appro'; $this->tabLibActivite[15]='Industries Alimentaires : Collecte Appro';

View File

@ -213,8 +213,8 @@ class Scores_Ws_Server
public $listError = array( public $listError = array(
'0000' => "Erreur indeterminé", '0000' => "Erreur indeterminé",
'0900' => "Identifiant ou mot de passe incorrect", '0900' => "Identifiant ou mot de passe incorrect",
'0901' => "Accès WS non authorisé pour cet utilisateur", '0901' => "Accès WS non autorisé pour cet utilisateur",
'0902' => "Méthode non authorisée dans votre profil", '0902' => "Méthode non autorisée dans votre profil",
'0903' => "Période d'accès au service invalide", '0903' => "Période d'accès au service invalide",
'0904' => "Adresse IP Invalide", '0904' => "Adresse IP Invalide",
'0905' => "Accès environnement de test non autorisé", '0905' => "Accès environnement de test non autorisé",