batch/1.1/old/getQualibat.php
2013-06-19 08:24:49 +00:00

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();