Merge branch 'fix-tva'
This commit is contained in:
commit
1c2e9004f3
@ -228,7 +228,7 @@ return array(
|
||||
array( 'var' => 'Situation', 'op' => 'SET', 'value' => ''),
|
||||
),
|
||||
),
|
||||
// --- Absorbé
|
||||
// --- Absorbé ?? ICI uniquement lorsque Situation = ''
|
||||
array(
|
||||
'name' => 'ABSORPTION',
|
||||
'value' => 'CONTINUE',
|
||||
|
@ -5207,13 +5207,13 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
|
||||
}
|
||||
} else {
|
||||
switch ($ann['Rubrique']) {
|
||||
case 'mmd': $codeEven='2313'; $libEven = "Modification(s) diverse(s)"; break;
|
||||
case 'comptes': $codeEven='3999'; $libEven = "Dépôt des comptes"; break;
|
||||
case 'creations': $codeEven='4999'; $libEven = "Création d'entreprise"; break;
|
||||
case 'procol': $codeEven='1999'; $libEven = "Procédure collective"; break;
|
||||
case 'radiations': $codeEven='6700'; $libEven = "Radiation"; break;
|
||||
case 'ventes': $codeEven='5999'; $libEven = "Vente/Cession"; break;
|
||||
default: $codeEven='0000'; $libEven = $ann['Rubrique']; break;
|
||||
case 'mmd': $codeEven='2313'; $libEven = "Modification(s) diverse(s)"; break;
|
||||
case 'comptes': $codeEven='3999'; $libEven = "Dépôt des comptes"; break;
|
||||
case 'creations': $codeEven='4999'; $libEven = "Création d'entreprise"; break;
|
||||
case 'procol': $codeEven='1999'; $libEven = "Procédure collective"; break;
|
||||
case 'radiations': $codeEven='6700'; $libEven = "Radiation"; break;
|
||||
case 'ventes': $codeEven='5999'; $libEven = "Vente/Cession"; break;
|
||||
default: $codeEven='0000'; $libEven = $ann['Rubrique']; break;
|
||||
}
|
||||
$tabRetEven[] = array(
|
||||
'CodeEven' => $codeEven,
|
||||
@ -5278,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']];
|
||||
@ -5509,20 +5514,20 @@ class Metier_Insee_MInsee extends Metier_Insee_Table
|
||||
'LibEven' => $this->iBodacc->getEvenement($even)
|
||||
);
|
||||
if ($even>=1000 && $even<2000) {
|
||||
$rubriqueRet='procol';
|
||||
$rubriqueRet = 'procol';
|
||||
} elseif ($even>=2000 && $even<3000) {
|
||||
$rubriqueRet='mmd';
|
||||
} elseif ($even>=3000 && $even<4000) {
|
||||
$rubriqueRet='comptes';
|
||||
$rubriqueRet = 'comptes';
|
||||
} elseif ($even>=4000 && $even<5000) {
|
||||
$rubriqueRet='creations';
|
||||
$rubriqueRet = 'creations';
|
||||
} elseif ($even>=5000 && $even<6000) {
|
||||
$rubriqueRet='ventes';
|
||||
$rubriqueRet = 'ventes';
|
||||
} elseif ($even>=6000 && $even<7000) {
|
||||
$rubriqueRet='radiations';
|
||||
$rubriqueRet = 'radiations';
|
||||
}
|
||||
if ($even==2102 || $even==2100) {
|
||||
$capital=true;
|
||||
$capital = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -88,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;
|
||||
}
|
||||
$this->vatNumber = "FR".$cle.$this->siren;
|
||||
$this->vatDefined = $attribue;
|
||||
|
||||
$cle = $tab['cle'];
|
||||
$dateRef = new DateTime();
|
||||
$dateRef->sub(new DateInterval('P6M'));
|
||||
$dateMaj = DateTime::createFromFormat('Ymd', $tab['DateMAJ']);
|
||||
$this->vatNumber = "FR".$cle.$this->siren;
|
||||
if ($cle !== null) {
|
||||
$this->vatDefined = true;
|
||||
return true;
|
||||
} elseif ($cle === null && $dateMaj >= $dateRef) {
|
||||
$cle = $this->cle;
|
||||
$this->vatDefined = false;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@ -107,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;
|
||||
}
|
||||
|
||||
@ -146,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);
|
||||
@ -167,24 +171,24 @@ 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
|
||||
);
|
||||
$tabUpdate = array(
|
||||
'cle' => $this->cle,
|
||||
'duree' => $duree
|
||||
);
|
||||
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")) {
|
||||
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__);
|
||||
$this->vatNumber = "FR".$this->cle.$this->siren;
|
||||
$this->vatDefined=true;
|
||||
$this->vatDefined = true;
|
||||
return true;
|
||||
} elseif (strpos($body, 'Service non disponible') > 0 || strpos($body, 'ponse trop long.') > 0) {
|
||||
$nbIndispo++;
|
||||
@ -209,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__);
|
||||
$this->vatNumber = "FR".$this->cle.$this->siren;
|
||||
$this->vatDefined=false;
|
||||
$this->vatDefined = false;
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
$tabInsert = array(
|
||||
'siren' => $this->siren,
|
||||
'cle' => 'NULL',
|
||||
'duree' => $duree
|
||||
);
|
||||
$tabUpdate = array(
|
||||
'cle' => 'NULL',
|
||||
'cle' => 'NULL',
|
||||
'duree' => $duree
|
||||
);
|
||||
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")) {
|
||||
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__);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user