Création du script pour l'enrichissement
This commit is contained in:
parent
6ec41300d2
commit
db04d8c77e
158
batch/enrichissement.php
Normal file
158
batch/enrichissement.php
Normal file
@ -0,0 +1,158 @@
|
||||
#!/usr/bin/php
|
||||
<?php
|
||||
error_reporting(E_ALL ^ E_NOTICE ^ E_WARNING);
|
||||
|
||||
// Define path to application directory
|
||||
defined('APPLICATION_PATH')
|
||||
|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));
|
||||
|
||||
// Define application environment
|
||||
define('APPLICATION_ENV', 'production');
|
||||
|
||||
// Ensure library/ is on include_path
|
||||
set_include_path(implode(PATH_SEPARATOR, array(
|
||||
realpath(APPLICATION_PATH . '/../library'),
|
||||
get_include_path(),
|
||||
)));
|
||||
|
||||
/** Zend_Application */
|
||||
require_once 'Zend/Application.php';
|
||||
|
||||
// Create application, bootstrap, and run
|
||||
$application = new Zend_Application(
|
||||
APPLICATION_ENV,
|
||||
APPLICATION_PATH . '/configs/application.ini'
|
||||
);
|
||||
|
||||
try {
|
||||
$opts = new Zend_Console_Getopt(
|
||||
//Options
|
||||
array(
|
||||
'help|?' => "Aide.",
|
||||
'id=s' => "Identifiant du traitement",
|
||||
'file=s' => "Traitement manuel avec spécification du fichier"
|
||||
)
|
||||
);
|
||||
$opts->parse();
|
||||
} catch (Zend_Console_Getopt_Exception $e) {
|
||||
echo $e->getUsageMessage();
|
||||
exit;
|
||||
}
|
||||
|
||||
//Usage
|
||||
if(isset($opts->help) || !isset($opts->id) && !isset($opts->file) )
|
||||
{
|
||||
echo $opts->getUsageMessage();
|
||||
exit;
|
||||
}
|
||||
|
||||
//Définition bdd
|
||||
$dbConfig = new Zend_Config_Ini(APPLICATION_PATH . '/configs/configuration.ini', 'databases');
|
||||
try {
|
||||
$db = Zend_Db::factory($dbConfig->db);
|
||||
} catch ( Exception $e ) {
|
||||
exit ( $e->getMessage() );
|
||||
}
|
||||
//Définition bdd metier
|
||||
try {
|
||||
$dbMetier = Zend_Db::factory('Mysqli', $dbConfig->jo);
|
||||
} catch ( Exception $e ) {
|
||||
exit ( $e->getMessage() );
|
||||
}
|
||||
|
||||
if ($opts->id) {
|
||||
$commandesM = new Table_EnrichissementCommandes($db);
|
||||
$commande = $commandesM->find(intval($opts->id))->current();
|
||||
|
||||
|
||||
} else {
|
||||
|
||||
$file = $opts->file;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* == FUNCTION == */
|
||||
|
||||
/**
|
||||
* Verifie si un SIREN est valide
|
||||
* @param Le code SIREN dont on veut vérifier la validité.
|
||||
* @return Un booléen qui vaut 'true' si le code SIREN passé en
|
||||
* paramètre est valide, false sinon.
|
||||
*/
|
||||
function sirenValide($siren) {
|
||||
if ( (strlen($siren) != 9) || (is_nan($siren)) )
|
||||
$estValide = false;
|
||||
else {
|
||||
// Donc le SIREN est un numérique à 9 chiffres
|
||||
$somme = 0;
|
||||
$tmp = 0;
|
||||
for ($cpt = 0; $cpt<strlen($siren); $cpt++) {
|
||||
if (($cpt % 2) == 1) { // Les positions paires : 2ème, 4ème, 6ème et 8ème chiffre
|
||||
$tmp = substr($siren, $cpt, 1) * 2; // On le multiplie par 2
|
||||
if ($tmp > 9)
|
||||
$tmp-= 9; // Si le résultat est supérieur à 9, on lui soustrait 9
|
||||
}
|
||||
else
|
||||
$tmp = substr($siren, $cpt, 1);
|
||||
$somme+= intval($tmp);
|
||||
}
|
||||
if (($somme % 10) == 0)
|
||||
$estValide = true; // Si la somme est un multiple de 10 alors le SIREN est valide
|
||||
else
|
||||
$estValide = false;
|
||||
}
|
||||
return $estValide;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verifie si un SIRET est valide
|
||||
* @param Le code SIRET dont on veut vérifier la validité.
|
||||
* @return Un booléen qui vaut 'true' si le code SIRET passé en
|
||||
* paramètre est valide, false sinon.
|
||||
*/
|
||||
function siretValide($siret) {
|
||||
if ( (strlen($siret) != 14) || (is_nan($siret)) )
|
||||
$estValide = false;
|
||||
else {
|
||||
// Donc le SIRET est un numérique à 14 chiffres
|
||||
// Les 9 premiers chiffres sont ceux du SIREN (ou RCS), les 4 suivants
|
||||
// correspondent au numéro d'établissement
|
||||
// et enfin le dernier chiffre est une clef de LUHN.
|
||||
$somme = 0;
|
||||
$tmp = 0;
|
||||
for ($cpt = 0; $cpt<strlen($siret); $cpt++) {
|
||||
if (($cpt % 2) == 0) { // Les positions impaires : 1er, 3è, 5è, etc...
|
||||
$tmp = substr($siret, $cpt, 1) * 2; // On le multiplie par 2
|
||||
if ($tmp > 9)
|
||||
$tmp-= 9; // Si le résultat est supérieur à 9, on lui soustrait 9
|
||||
}
|
||||
else
|
||||
$tmp = substr($siret, $cpt, 1);
|
||||
$somme+= intval($tmp);
|
||||
}
|
||||
if (($somme % 10) == 0)
|
||||
$estValide = true; // Si la somme est un multiple de 10 alors le SIRET est valide
|
||||
else
|
||||
$estValide = false;
|
||||
}
|
||||
return $estValide;
|
||||
}
|
||||
|
||||
/**
|
||||
* writeCSV
|
||||
* @param array $list
|
||||
* @param array $entete
|
||||
* @param string $filename
|
||||
*/
|
||||
function writeCSV($list, $entete, $filename)
|
||||
{
|
||||
$fp = fopen($filename, 'w');
|
||||
if (count($entete)>0){
|
||||
fputcsv($fp, $entete, ',', '"');
|
||||
}
|
||||
foreach ($list as $fields) {
|
||||
fputcsv($fp, $fields, ',', '"');
|
||||
}
|
||||
fclose($fp);
|
||||
}
|
Loading…
Reference in New Issue
Block a user