#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini 1) { for ($i=1; isset($argv[$i]); $i++) { if (substr($argv[$i],0,1)=='-') { switch (substr($argv[$i],1,1)) { case 'b': $all=false; $baseBodacc=true; break; case 'n': $all=false; $baseInpi=true; break; case 'h': $all=false; $baseBodaccHisto=true; break; case '-': case '?': die($strInfoScript); break; default: die('Option '. $argv[$i] . " inconnue !\n"); break; } } } } if (file_exists(REP_TEMP.'stockInsee.lock')) { $message='Stock en cours de chargement "'.file_get_contents(REP_TEMP.'stockInsee.lock').'"'; sendMail('webmaster@scores-decisions.com', 'ylenaour@scores-decisions.com', 'Consolidation des dirigeants non traitée car trimestriel en cours', $message); die(); } /** Par défaut, on consolide toutes les sources **/ if ($all) { $baseInpi=$baseBodacc=$baseBodaccHisto=true; } $iDb=new WDB('jo'); echo date ('Y/m/d - H:i:s')." - Création de la nouvelle table dirigeants.".EOL; if (!$iDb->query("DROP TABLE IF EXISTS jo.dirigeants_tmp;")) die($iDb->getLastError()); if (!$iDb->query("CREATE TABLE jo.dirigeants_tmp ( `id` int(11) NOT NULL AUTO_INCREMENT, `source` tinyint(3) unsigned zerofill NOT NULL, `source_id` bigint(20) unsigned NOT NULL, `siren` int(9) unsigned zerofill NOT NULL, `adr_dep` smallint(3) unsigned NOT NULL, `typeDir` enum('PP','PM') NOT NULL, `dirSiren` int(9) unsigned zerofill NOT NULL, `dirRS` varchar( 60 ) NOT NULL, `civilite` enum('M','MME','MLLE') DEFAULT NULL, `nom` char(60) NOT NULL, `prenom` char(40) NOT NULL, `naissance_nom` char(60) NOT NULL, `naissance_date` date NOT NULL, `naissance_lieu` char(35) NOT NULL, `fonction_code` smallint(4) unsigned zerofill NOT NULL, `actif` tinyint(1) unsigned NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `source` (`source`,`source_id`), UNIQUE KEY `idxUnique` (`siren`,`typeDir`,`dirSiren`,`dirRS`,`nom`,`prenom`,`naissance_nom`,`naissance_date`,`naissance_lieu`,`fonction_code`), KEY `idxSiren` (`siren`), KEY `idxDirSiren` (`dirSiren`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Index des Dirigeants';", true)) die($iDb->getLastError()); $strMailInfo=date ('Y/m/d - H:i:s')." - Consolidation des dirigeants.".EOL; if ($baseInpi) { echo date ('Y/m/d - H:i:s')." - Mise à jour de la nouvelle table dirigeants depuis le RNCS.".EOL; $retTmp=$iDb->select('jo.rncs_dirigeants', 'COUNT(*) AS nbEtab', '1', false,MYSQL_ASSOC); $nbEtab=$retTmp[0]['nbEtab']; echo date ('Y/m/d - H:i:s')." - Il y a $nbEtab dirigeants à consolider depuis le RNCS...".EOL; if(!$iDb->query("INSERT IGNORE INTO jo.dirigeants_tmp SELECT 0 AS id, 5 AS source, id AS source_id, siren, adr_dep, typeDir, dirSiren, dirRS, civilite, nom, prenom, naissance_nom, naissance_date, naissance_lieu, fonction_code, actif%10 as actif FROM jo.rncs_dirigeants")) die($iDb->getLastError()); $retTmp=$iDb->select('jo.dirigeants_tmp', 'COUNT(*) AS nbEtab', '1', false,MYSQL_ASSOC); $nbEtab=$retTmp[0]['nbEtab']; echo date ('Y/m/d - H:i:s')." - Il y a $nbEtab dirigeants RNCS consolidés.".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbEtab dirigeants RNCS consolidés.".EOL; } if ($baseBodacc) { $retTmp=$iDb->select('jo.bodacc_dirigeants', 'COUNT(*) AS nbEtab', '1', false,MYSQL_ASSOC); $nbEtab=$retTmp[0]['nbEtab']; echo date ('Y/m/d - H:i:s')." - Il y a $nbEtab dirigeants à consolider depuis le Bodacc...".EOL; if(!$iDb->query("INSERT IGNORE INTO dirigeants_tmp SELECT NULL AS id, 1 AS source, id AS source_id, siren, NULL AS dep, IF(prenom<>'','PP','PM') AS typeDir, 0 AS dirSiren, rs AS dirRS, NULL AS civilite, nom, prenom, nomUsage AS naissance_nom, 0 AS naissance_date, NULL AS naissance_lieu, fonction AS fonction_code, IF(depart=1,0,1) AS actif FROM bodacc_dirigeants;")) die($iDb->getLastError()); $retTmp=$iDb->select('jo.dirigeants_tmp', 'COUNT(*) AS nbEtab', 'source=1', false,MYSQL_ASSOC); $nbEtab=$retTmp[0]['nbEtab']; echo date ('Y/m/d - H:i:s')." - Il y a $nbEtab dirigeants BODACC consolidés.".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbEtab dirigeants BODACC consolidés.".EOL; } if ($baseBodaccHisto) { $retTmp=$iDb->select('jo.bodacc_dirigeants_histo', 'COUNT(*) AS nbEtab', '1', false,MYSQL_ASSOC); $nbEtab=$retTmp[0]['nbEtab']; echo date ('Y/m/d - H:i:s')." - Il y a $nbEtab dirigeants à consolider depuis le Bodacc Histo...".EOL; if(!$iDb->query("INSERT IGNORE INTO dirigeants_tmp SELECT NULL AS id, 6 AS source, id AS source_id, siren, NULL AS dep, IF(prenom<>'','PP','PM') AS typeDir, 0 AS dirSiren, rs AS dirRS, NULL AS civilite, nom, prenom, nomUsage AS naissance_nom, 0 AS naissance_date, NULL AS naissance_lieu, fonction AS fonction_code, IF(depart=1,0,1) AS actif FROM bodacc_dirigeants_histo;")) die($iDb->getLastError()); $retTmp=$iDb->select('jo.dirigeants_tmp', 'COUNT(*) AS nbEtab', 'source=6', false,MYSQL_ASSOC); $nbEtab=$retTmp[0]['nbEtab']; echo date ('Y/m/d - H:i:s')." - Il y a $nbEtab dirigeants BODACC Histo consolidés.".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - Il y a $nbEtab dirigeants BODACC Histo consolidés.".EOL; } echo date ('Y/m/d - H:i:s')." - FIN de la consolidation de la base Dirigeants".EOL; $strMailInfo.=date ('Y/m/d - H:i:s')." - FIN de la consolidation de la base Dirigeants".EOL; sendMail('production@scores-decisions.com', 'support@scores-decisions.com', 'Consolidation des dirigeants', $strMailInfo); die(); ?>