Ajout control des actes déjà présent
This commit is contained in:
parent
9b28291dd9
commit
667a032ff9
@ -31,6 +31,7 @@ try {
|
||||
'list' => "Liste les actes en attente disponible sur le FTP et affiche les informations",
|
||||
'get-s' => "Recupère seulement les actes du FTP (un seul document si la référence est spécifier G<NNN> )",
|
||||
'send-s' => "Récupère les actes et envoi un mail à chaque client (un seul acte si la référence est spécifier G<NNN>)",
|
||||
'control' => "Control",
|
||||
)
|
||||
);
|
||||
$opts->parse();
|
||||
@ -95,6 +96,68 @@ set_time_limit(0);
|
||||
$db = Zend_Db::factory($c->profil->db->sdv1);
|
||||
Zend_Db_Table_Abstract::setDefaultAdapter($db);
|
||||
|
||||
/**
|
||||
* List actes files and check if an entry exist in the database
|
||||
* greffes/actes/AAAA/MM
|
||||
* preg_match('/^acte-([0-9]{9})-(ST)-([0-9]{8})-.*\.pdf/', $fichier, $matches)
|
||||
* preg_match('/^acte-([0-9]{9})-([0-9a-zA-Z]{1,})-([0-9]{8})-.*-([0-9]{2})\.pdf/', $fichier, $matches)
|
||||
*/
|
||||
if ($opts->control) {
|
||||
|
||||
$dir = PATH_DATA.'/greffes/actes';
|
||||
if (is_dir($dir)) {
|
||||
if ($dh = opendir($dir)) {
|
||||
//Annee
|
||||
while (($anneeDir = readdir($dh)) !== false) {
|
||||
if ($anneeDir != '.' && $anneeDir != '..') {
|
||||
if ($dhAnneeDir = opendir($dir . DIRECTORY_SEPARATOR . $anneeDir)) {
|
||||
//Mois
|
||||
while (($moisDir = readdir($dhAnneeDir)) !== false) {
|
||||
if ($moisDir != '.' && $moisDir != '..') {
|
||||
//Fichier
|
||||
if ($dhFile = opendir($dir)) {
|
||||
while (($file = readdir($dhFile)) !== false) {
|
||||
if ($file != '.' && $file != '..') {
|
||||
|
||||
if (preg_match('/^acte-([0-9]{9})-([0-9a-zA-Z]{1,})-([0-9]{8})-.*-([0-9]{2})\.pdf/', $fichier, $matches)) {
|
||||
$siren = $matches[1];
|
||||
$type = $matches[2];
|
||||
$date = $matches[3];
|
||||
$num = $matches[4];
|
||||
$actesM = new Application_Model_ActesFiles();
|
||||
$sql = $actesM->select()
|
||||
->where('siren=?', $siren)
|
||||
->where('type=?', $type)
|
||||
->where('date=?', $date)
|
||||
->where('num=?', $num);
|
||||
$result = $actesM->fetchRow($sql);
|
||||
if ( null === $result ) {
|
||||
$actesM->insert(array(
|
||||
'siren' => $siren,
|
||||
'type' => $type,
|
||||
'date' => $date,
|
||||
'num' => $num,
|
||||
'file' => $fichier,
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
closedir($dh);
|
||||
}
|
||||
}
|
||||
}
|
||||
closedir($dhAnneeDir);
|
||||
}
|
||||
}
|
||||
}
|
||||
closedir($dh);
|
||||
}
|
||||
}
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* Liste des commandes non traités depuis la base de données
|
||||
*/
|
||||
@ -137,8 +200,8 @@ $tabFichiersFtp = array();
|
||||
foreach ($contents as $filename){
|
||||
$indice = 0;
|
||||
if (preg_match('/[g|c][0-9]+\.pdf/', $filename)
|
||||
|| preg_match('/[g|c][0-9]+-[0-9]{1,2}\.pdf/', $filename)){
|
||||
|
||||
|| preg_match('/[g|c][0-9]+-[0-9]{1,2}\.pdf/', $filename)){
|
||||
|
||||
list($ref, $indice) = explode('-', str_replace(array('.pdf', 'g', 'c'), array('','',''), $filename));
|
||||
if(empty($indice)) $indice = 0;
|
||||
$tabFichiersFtp[$ref.'-'.$indice] = strtolower($filename);
|
||||
@ -195,7 +258,7 @@ foreach ($tabCommandes as $ref => $commande){
|
||||
|
||||
//Récupération du fichier depuis le FTP (s'il n'existe pas déjà)
|
||||
if (!file_exists(ACTES_IGNUM_LOCAL_DIR.$fichier)){
|
||||
if (ftp_get($conn_id, ACTES_IGNUM_LOCAL_DIR.$fichier, $fichier, FTP_BINARY, 0)) {
|
||||
if (ftp_get($conn_id, ACTES_IGNUM_LOCAL_DIR.$fichier, $fichier, FTP_BINARY, 0)) {
|
||||
echo date ('Y/m/d - H:i:s')." - Fichier $fichier téléchargé depuis le serveur FTP.\n";
|
||||
} else {
|
||||
echo date ('Y/m/d - H:i:s')." - ERREUR : Impossible de télécharger le fichier $fichier !\n";
|
||||
@ -205,7 +268,7 @@ foreach ($tabCommandes as $ref => $commande){
|
||||
//Copie et renommage du fichier suivant la ref infogreffe (s'il n'existe pas déjà)
|
||||
$sirenC = $commande['siren'];
|
||||
$refC = $commande['refDocument'];
|
||||
|
||||
|
||||
require_once 'Infogreffe/Infogreffe.php';
|
||||
$infogreffe = new Infogreffe();
|
||||
if (preg_match('/^([0-9]{4}_).*?$/', $refC, $matches)){
|
||||
@ -217,9 +280,9 @@ foreach ($tabCommandes as $ref => $commande){
|
||||
$nomCible = $infogreffe->acteFilename($sirenC, $refC);
|
||||
$type = 'bilan';
|
||||
}
|
||||
|
||||
if (file_exists(ACTES_IGNUM_LOCAL_DIR.$fichier) &&
|
||||
!file_exists(PATH_DATA.$path.$nomCible)) {
|
||||
|
||||
if (file_exists(ACTES_IGNUM_LOCAL_DIR.$fichier)
|
||||
&& !file_exists(PATH_DATA.$path.$nomCible)) {
|
||||
if (rename(ACTES_IGNUM_LOCAL_DIR.$fichier, PATH_DATA.$path.$nomCible)){
|
||||
if ( $type == 'acte' ){
|
||||
preg_match('/^acte-([0-9]{9})-([0-9a-zA-Z]{1,})-([0-9]{8})-(.*)-(.*)-(.*)-(.*)-(.*)-([0-9]{1,})\.pdf$/', $fichier, $matches);
|
||||
|
Loading…
Reference in New Issue
Block a user