300 lines
9.2 KiB
PHP
300 lines
9.2 KiB
PHP
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
|
<?php
|
|
|
|
$tabSecteur=array(
|
|
1=>'Agencement',
|
|
2=>'Amiante',
|
|
122=>'Appareil production eau chaude sanitaire',
|
|
3=>'Arrosage',
|
|
4=>'Assainissement',
|
|
123=>'Assèchement des murs',
|
|
124=>'Bardage',
|
|
125=>'Bassin de piscine',
|
|
5=>'Bâtiments à ossature bois',
|
|
6=>'Béton armé et béton précontraint',
|
|
126=>'Brùleur',
|
|
7=>'Calfeutrement de joints de construction',
|
|
127=>'Calorifugeage',
|
|
8=>'Canalisations',
|
|
9=>'Carrelages-revêtements-mosaïques',
|
|
10=>'Champignons lignivores',
|
|
11=>'Chapes',
|
|
129=>'Charpente bois lamellé collé',
|
|
128=>'Charpente bois (réparation, renforcement)',
|
|
12=>'Charpente et structures en bois',
|
|
13=>'Charpente et structures industrialisées en bois',
|
|
14=>'Charpente patrimoine ancien et monuments historiques',
|
|
15=>'Chaudières entretien et dépannage',
|
|
16=>'Chauffage',
|
|
17=>'Chauffe-eau entretien et dépannage',
|
|
130=>'Chaufferie (rénovation)',
|
|
18=>'Chaussées',
|
|
20=>'Cheminées domestiques',
|
|
21=>'Cheminées industrielles',
|
|
19=>'Chemisage',
|
|
22=>'Climatisation',
|
|
23=>'Cloison bois',
|
|
24=>'Cloisons métalliques',
|
|
25=>'Clôtures et treillages bois',
|
|
26=>'Clôtures et treillages fer',
|
|
165=>'Combles',
|
|
28=>'Construction métallique',
|
|
131=>'Construction modulaire et sur système',
|
|
27=>'Constructions industrialisées',
|
|
29=>'Couverture',
|
|
30=>'Couverture patrimoine ancien et monuments historiques',
|
|
132=>'Cuvelages',
|
|
31=>'Cuvelages, réservoirs et piscines (étanchéité et imperméabilisation)',
|
|
32=>'Dallages',
|
|
133=>'Déchets',
|
|
33=>'Décoration',
|
|
34=>'Démolition',
|
|
35=>'Désenfumage',
|
|
36=>'Echafaudages',
|
|
37=>'Enduits',
|
|
164=>'Energies renouvelables',
|
|
38=>'Enseignes',
|
|
39=>'Espaces verts',
|
|
40=>'Etaiements',
|
|
41=>'Etanchéité',
|
|
42=>'Exploitation',
|
|
43=>'Expositions',
|
|
135=>'Façades en bardages',
|
|
44=>'Façades en bardages',
|
|
134=>'Façades (imperméabilité)',
|
|
45=>'Façades-rideaux',
|
|
136=>'Facading',
|
|
46=>'Fermetures et protections solaires',
|
|
47=>'Ferronnerie',
|
|
48=>'Ferronnerie patrimoine ancien et monuments historiques',
|
|
49=>'Fluides médicaux',
|
|
50=>'Fluides spéciaux',
|
|
51=>'Fondations',
|
|
156=>'Fouilles',
|
|
52=>'Fours industriels',
|
|
53=>'Fumisterie',
|
|
54=>'Gypserie',
|
|
55=>'Hygiène des réseaux aérauliques',
|
|
137=>'Incendie (encoffrement, matériaux isolants)',
|
|
138=>'Incendie (protection à base de plâtre)',
|
|
139=>'Incinération',
|
|
56=>'Insectes xylophages',
|
|
140=>'Installation eau (maintenance)',
|
|
141=>'Installation sanitaire',
|
|
142=>'Installation thermique',
|
|
57=>'Isolation (acoustique-frigorifique-thermique)',
|
|
58=>'Isolation par planchers surélevés',
|
|
143=>'Maçonnerie',
|
|
59=>'Maçonnerie et béton armé courant',
|
|
60=>'Maçonnerie patrimoine ancien et monuments historiques',
|
|
144=>'Maçonnerie (réparation, transformation)',
|
|
61=>'Mains courantes',
|
|
62=>'Maintenance',
|
|
64=>'Maquettes',
|
|
63=>'Marbrerie',
|
|
68=>'Menuiseries des monuments historiques',
|
|
65=>'Menuiseries en bois',
|
|
66=>'Menuiseries en P.V.C.',
|
|
67=>'Menuiseries métalliques',
|
|
69=>'Métallerie',
|
|
145=>'Métallerie résistant au feu',
|
|
70=>'Miroiterie',
|
|
71=>'Montage-levage',
|
|
146=>'Ordures ménagères',
|
|
160=>'Organes de retenue d eau',
|
|
73=>'Organes de stockage',
|
|
161=>'Ossatures d appareils de levage',
|
|
75=>'Ouvrages étanches',
|
|
76=>'Paratonnerres',
|
|
77=>'Parquets',
|
|
78=>'Pavage',
|
|
79=>'Peinture',
|
|
147=>'Peinture industrielle',
|
|
80=>'Pierre (taille et pose)',
|
|
163=>'Piscine',
|
|
148=>'Plafonds tendus',
|
|
81=>'Plaques de plâtre',
|
|
82=>'Plâtrerie',
|
|
72=>'Plomberie',
|
|
83=>'Plomberie - Installations sanitaires',
|
|
149=>'Plomb (peinture)',
|
|
84=>'Ponts métalliques',
|
|
85=>'Poteaux et clôtures',
|
|
86=>'Préfabrication béton armé et précontraint',
|
|
87=>'Protection contre l\'incendie',
|
|
88=>'Protection des façades',
|
|
89=>'Protections solaires',
|
|
90=>'Pylônes et tours de transmission',
|
|
91=>'Ramonage',
|
|
92=>'Ravalement maçonnerie',
|
|
93=>'Ravalement peinture',
|
|
150=>'Régulation',
|
|
155=>'Remontée capillaire',
|
|
110=>'Renforcement et réparation d ouvrages d art',
|
|
95=>'Rénovation de chaufferies',
|
|
96=>'Réparation en béton armé',
|
|
97=>'Réparation en maçonnerie',
|
|
151=>'Reprise en sous-oeuvre',
|
|
100=>'Réseaux aérauliques',
|
|
152=>'Réseaux (chaleur, froid)',
|
|
98=>'Restauration patrimoine ancien et monuments historiques',
|
|
99=>'Revêtements (sols et murs)',
|
|
157=>'RIA (Robinet Incendie Armé)',
|
|
101=>'Sculpture',
|
|
162=>'Serrurerie',
|
|
102=>'Staff',
|
|
103=>'Structures évènementielles',
|
|
104=>'Structures textiles',
|
|
105=>'Stuc',
|
|
158=>'Tapisserie',
|
|
106=>'Téléalarme - Télésurveillance - Télégestion',
|
|
108=>'Termites',
|
|
159=>'Terrassements',
|
|
107=>'Terrassements - Fouilles',
|
|
109=>'Thermique industrielle',
|
|
94=>'Traitement de l amiante en place',
|
|
111=>'Traitement des bois et constructions',
|
|
112=>'Transformations en maçonnerie',
|
|
113=>'Translucides (planchers et panneaux)',
|
|
153=>'Tribune',
|
|
114=>'Trottoirs',
|
|
115=>'Tubage',
|
|
74=>'Tuyauterie',
|
|
154=>'V.E.A. - V.E.C.',
|
|
116=>'Ventilation',
|
|
117=>'Vérandas',
|
|
121=>'Vidoir ordures ménagères',
|
|
118=>'Vitrail',
|
|
119=>'Vitrerie',
|
|
120=>'Voirie réseaux divers',
|
|
);
|
|
include_once(FWK_PATH.'common/chiffres.php');
|
|
include_once(FWK_PATH.'common/dates.php');
|
|
include_once(FWK_PATH.'common/ftp.php');
|
|
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
|
include_once(INCLUDE_PATH.'partenaires/classMQualibat.php');
|
|
include_once(FWK_PATH.'mail/sendMail.php');
|
|
|
|
$strInfoScript='Usage : '.basename($argv[0]). " [OPTIONS] [numero Orias]
|
|
Téléchargement et mise à jour de la base Qualibat.
|
|
|
|
Options:
|
|
-v Mode verbose ou debug
|
|
-f Forcer la mise à jour depuis Qualibat
|
|
-m Retourne le dernier numéro Qualibat en base
|
|
-l Recherche uniquement les Qualibat non encore en base
|
|
|
|
(*): Valeur par défaut !
|
|
";
|
|
$iQualibat=new MQualibat();
|
|
|
|
$modeDebug=$force=$max=$annee=$manquants=false;
|
|
$tMin=7;//70;
|
|
$tMax=21;//210;
|
|
|
|
$tabQualibat=array();
|
|
|
|
$argv=$_SERVER['argv'];
|
|
if ($_SERVER['argc']>1)
|
|
{
|
|
for ($i=1; isset($argv[$i]); $i++) {
|
|
if (substr($argv[$i],0,1)=='-') {
|
|
switch (substr($argv[$i],1,1)) {
|
|
case 'v': $modeDebug=true; $tMin=1; $tMax=2; break;
|
|
case 'f': $force=true; break;
|
|
case 'm': $max=true;
|
|
$annee=substr($argv[$i],3); break;
|
|
case 'l': $manquants=true; break;
|
|
case '-':
|
|
case '?': die($strInfoScript); break;
|
|
default: die('Option '. $argv[$i] . " inconnue !\n");
|
|
break;
|
|
}
|
|
} else {
|
|
$tabQualibat[]=$argv[$i]*1;
|
|
}
|
|
}
|
|
}
|
|
|
|
if ($max) {
|
|
$idQualibat=$iQualibat->getMaxQualibat();
|
|
echo date('Y/m/d - H:i:s')." - Dernier id Qualibat : '$idQualibat'.".EOL;
|
|
die();
|
|
}
|
|
|
|
echo date('Y/m/d - H:i:s') ." - DEBUT du programme de récupération des entreprises Qualibat.".EOL;
|
|
|
|
if (count($tabQualibat)==0) {
|
|
$partiel=false;
|
|
|
|
$idQualibat=$iQualibat->getMaxQualibat();
|
|
if ($modeDebug) echo date('Y/m/d - H:i:s')." - Dernier id Qualibat : '$idQualibat'.".EOL;
|
|
if ($manquants) {
|
|
$tabQualibat=$iQualibat->getTabQualibatManquants();
|
|
$nbQualibatManq=count($tabQualibat);
|
|
echo date('Y/m/d - H:i:s')." - Il manque $nbQualibatManq id Qualibat en base !".EOL;
|
|
$numQualibatTmp=$idQualibat;
|
|
} else {
|
|
for ($id=1; $id<=$idQualibat; $id++) {
|
|
$numQualibatTmp=$id;
|
|
$tabQualibat[]=$numQualibatTmp;
|
|
}
|
|
}
|
|
// Il faudrait rechercher le dernier numéro Orias attribué non encore en base
|
|
$iQualibat->force=$force;
|
|
$nbAcces=0;
|
|
while(true) {
|
|
$numQualibatTmp++;
|
|
echo date('Y/m/d - H:i:s')." - Recherche du dernier numéro Qualibat attribué : ";
|
|
if ($iQualibat->getInfosQualibat(0,$numQualibatTmp)) {
|
|
if (!$iQualibat->enCache) {
|
|
randsleep($tMin/10,$tMax/10);
|
|
$nbAcces++;
|
|
} else
|
|
$nbCache++;
|
|
echo "$numQualibatTmp ".EOL;
|
|
} else {
|
|
echo --$numQualibatTmp.' !'.EOL;
|
|
break;
|
|
}
|
|
}
|
|
shuffle($tabQualibat);
|
|
echo date('Y/m/d - H:i:s')." - Mise à jour de la base Qualibat...".EOL;
|
|
} else {
|
|
$partiel=true;
|
|
echo date('Y/m/d - H:i:s')." - Chargement de numéros Qualibat...".EOL;
|
|
}
|
|
$nb=count($tabQualibat);
|
|
$nbAcces=$nbCache=0;
|
|
|
|
foreach ($tabQualibat as $i=>$idQualibat) {
|
|
echo date('Y/m/d - H:i:s')." - $i/$nb: $idQualibat ... ";
|
|
$iQualibat->force=$force;
|
|
print_r($iQualibat->getInfosQualibat(0,$idQualibat));
|
|
echo date('Y/m/d - H:i:s')." - $i/$nb: $idQualibat ... récupéré ";
|
|
if (!$partiel && date('Hi')*1>=1930) {
|
|
//if (date('Hi')*1>=2235) {
|
|
$nbTot=$nbAcces+$nbCache;
|
|
$pct=@round($nbCache/$nbTot*100,2);
|
|
@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Pompe Qualibat - Traitement quotidien", "$nbTot requêtes traitées dont $nbCache en cache ($pct %)");
|
|
die();
|
|
}
|
|
if (!$iQualibat->enCache) {
|
|
echo "via WWW. Attente...".EOL;
|
|
if (!$partiel) randsleep($tMin,$tMax);
|
|
$nbAcces++;
|
|
} else {
|
|
echo "en cache !".EOL;
|
|
$nbCache++;
|
|
}
|
|
}
|
|
|
|
$nbTot=$nbAcces+$nbCache;
|
|
$pct=round($nbCache/$nbTot*100,2);
|
|
if (!$partiel) {
|
|
@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Pompe Qualibat - Tout est fini !", "FIN des $nbTot requêtes traitées dont $nbCache en cache ($pct %)");
|
|
}
|
|
|
|
echo date('Y/m/d - H:i:s')." - FIN des $nbTot requêtes dont $nbCache en cache ($pct %)".EOL;
|
|
|
|
die(); |