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);",
"SELECT code, libelle, libelleCourt, (nbSirene/@sumSirene )*100 AS pourcentage
FROM jo.tabFJur
WHERE code>999 AND libelle <> ''
WHERE code>999 AND libelle!='' AND anneeSuppr<1000
ORDER BY pourcentage DESC;"
),
),

View File

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

View File

@ -2039,6 +2039,7 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
$iTva = new Metier_Partenaires_MTva($this->iDb);
$iTva->setCompanyId($siren);
$iTva->setRemote();
$iTva->getTVA();
$vatNumber = $iTva->vatNumber;
$vatDefined = $iTva->vatDefined;
@ -5277,25 +5278,30 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
} elseif ($ann['JAL']==200) {
$Bodacc_Code='BODB';
}
// 4xxx
if ($ann['CODEVE']<20) {
$rub='creations';
} // 4xxx
}
// 5xxx
elseif ($ann['CODEVE']<=25) {
$rub='ventes';
} // 5xxx
}
// 2xxx
elseif ($ann['CODEVE']<40) {
$rub='mmd';
} // 2xxx
}
// 6xxx
elseif ($ann['CODEVE']<42) {
$rub='radiations';
} // 6xxx
}
// 2xxx
elseif ($ann['CODEVE']<50) {
$rub='mmd';
} // 2xxx
}
// 1xxx
elseif ($ann['CODEVE']<80) {
$rub='procol';
} // 1xxx
}
$tabEvens = array();
$newCodeEven = $this->HistoEvenConvert[$ann['CODEVE']];

View File

@ -28,6 +28,11 @@ class Metier_Partenaires_MTva
*/
protected $remote = false;
/**
*
* @param unknown $db
* @return boolean
*/
public function __construct($db = null)
{
if ($this->siren * 1 < 000001000) {
@ -42,6 +47,27 @@ class Metier_Partenaires_MTva
} else {
$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();
if ($cleAlgo < 10) {
@ -62,18 +88,17 @@ class Metier_Partenaires_MTva
"siren=$this->siren", false, MYSQL_ASSOC);
if (count($tab) > 0) {
$tab = $info[0];
if ($tab['cle'] !== null || ($tab['cle'] === null &&
$tab['DateMAJ'] >= date('Ymd', mktime(0, 0, 0, date('m')-6, date('d'), date('Y'))))) {
$cle = $tab['cle'];
if ($cle == null) {
$attribue = false;
$cle = $this->cle;
} else {
$attribue = true;
}
$dateRef = new DateTime();
$dateRef->sub(new DateInterval('P6M'));
$dateMaj = DateTime::createFromFormat('Ymd', $tab['DateMAJ']);
$this->vatNumber = "FR".$cle.$this->siren;
$this->vatDefined = $attribue;
if ($cle !== null) {
$this->vatDefined = true;
return true;
} elseif ($cle === null && $dateMaj >= $dateRef) {
$cle = $this->cle;
$this->vatDefined = false;
return true;
}
}
@ -81,11 +106,10 @@ class Metier_Partenaires_MTva
if ($this->remote) {
return $this->getRemoteVAT();
} else {
$this->errnum = 999;
$this->errmsg = "Pas d'accès à la base TVA";
$this->vatNumber = "FR".$this->cle.$this->siren;
$this->vatDefined = false;
$this->errnum = 999;
$this->errmsg = "Pas d'accès à la base TVA";
return true;
}
@ -120,13 +144,19 @@ class Metier_Partenaires_MTva
$nbIndispo = 0;
while (true) {
$postData = array(
'ms' => 'FR',
'iso' => 'FR',
'vat' => $this->cle.$this->siren,
'BtnSubmitVat' => 'Verify'
'memberStateCode' => "FR",
'number' => $this->cle.$this->siren,
'traderName' => "",
'traderStreet' => "",
'traderPostalCode' => "",
'traderCity' => "",
'requesterMemberStateCode' => "",
'requesterNumber' => "",
'action' => "check",
'check' => "Vérifier",
);
$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/';
$page = getUrl($url, '', $postData, $referer, false, 'ec.europa.eu', '', 15);
$duree = round(microtime(true)-$tdeb, 3);
@ -141,17 +171,17 @@ class Metier_Partenaires_MTva
$code = $page['code'];// Code réponse Serveur
$body = $page['body'];
$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(
'siren' => $this->siren,
'cle' => $this->cle,
'duree' => $duree
);
if (!$this->iDb->insert('sdv1.siren_tva', $tabInsert)) {
$tabUpdate = array(
'cle' => $this->cle,
'duree' => $duree
);
if (!$this->iDb->insert('sdv1.siren_tva', $tabInsert)) {
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__);
}
@ -192,11 +222,11 @@ class Metier_Partenaires_MTva
'cle' => 'NULL',
'duree' => $duree
);
if (!$this->iDb->insert('sdv1.siren_tva', $tabInsert)) {
$tabUpdate = array(
'cle' => 'NULL',
'duree' => $duree
);
if (!$this->iDb->insert('sdv1.siren_tva', $tabInsert)) {
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__);
}

View File

@ -2203,9 +2203,7 @@ class Metier_Scores_ICotation
$this->reTrtAuto = $retraitementAutomatique;
$this->tabBilan = $tabBilan;
/** Situat° Remarque Notation Equiv. Grades Probabilité de
** financière BDF Moody's Grades S&P défaillance
**/
/* Situation Fiancière Remarque Notation BDF Equiv. Moody's Grades S&P Probabilité dedé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['B+']=array('Excellente', 'Très bonne', '3++', 'A1', 'A+', '0.02');

View File

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