batch/1.1/old/getQualibat.php

300 lines
9.2 KiB
PHP
Raw Normal View History

#!/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',
2013-06-19 08:24:49 +00:00
123=>'Ass<73>chement des murs',
124=>'Bardage',
125=>'Bassin de piscine',
2013-06-19 08:24:49 +00:00
5=>'B<>timents <20> ossature bois',
6=>'B<>ton arm<72> et b<>ton pr<70>contraint',
126=>'Br<42>leur',
7=>'Calfeutrement de joints de construction',
127=>'Calorifugeage',
8=>'Canalisations',
2013-06-19 08:24:49 +00:00
9=>'Carrelages-rev<65>tements-mosa<73>ques',
10=>'Champignons lignivores',
11=>'Chapes',
2013-06-19 08:24:49 +00:00
129=>'Charpente bois lamell<6C> coll<6C>',
128=>'Charpente bois (r<>paration, renforcement)',
12=>'Charpente et structures en bois',
2013-06-19 08:24:49 +00:00
13=>'Charpente et structures industrialis<69>es en bois',
14=>'Charpente patrimoine ancien et monuments historiques',
2013-06-19 08:24:49 +00:00
15=>'Chaudi<64>res entretien et d<>pannage',
16=>'Chauffage',
2013-06-19 08:24:49 +00:00
17=>'Chauffe-eau entretien et d<>pannage',
130=>'Chaufferie (r<>novation)',
18=>'Chauss<73>es',
20=>'Chemin<69>es domestiques',
21=>'Chemin<69>es industrielles',
19=>'Chemisage',
22=>'Climatisation',
23=>'Cloison bois',
2013-06-19 08:24:49 +00:00
24=>'Cloisons m<>talliques',
25=>'Cl<43>tures et treillages bois',
26=>'Cl<43>tures et treillages fer',
165=>'Combles',
2013-06-19 08:24:49 +00:00
28=>'Construction m<>tallique',
131=>'Construction modulaire et sur syst<73>me',
27=>'Constructions industrialis<69>es',
29=>'Couverture',
30=>'Couverture patrimoine ancien et monuments historiques',
132=>'Cuvelages',
2013-06-19 08:24:49 +00:00
31=>'Cuvelages, r<>servoirs et piscines (<28>tanch<63>it<69> et imperm<72>abilisation)',
32=>'Dallages',
2013-06-19 08:24:49 +00:00
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',
2013-06-19 08:24:49 +00:00
41=>'Etanch<63>it<69>',
42=>'Exploitation',
43=>'Expositions',
2013-06-19 08:24:49 +00:00
135=>'Fa<46>ades en bardages',
44=>'Fa<46>ades en bardages',
134=>'Fa<46>ades (imperm<72>abilit<69>)',
45=>'Fa<46>ades-rideaux',
136=>'Facading',
46=>'Fermetures et protections solaires',
47=>'Ferronnerie',
48=>'Ferronnerie patrimoine ancien et monuments historiques',
2013-06-19 08:24:49 +00:00
49=>'Fluides m<>dicaux',
50=>'Fluides sp<73>ciaux',
51=>'Fondations',
156=>'Fouilles',
52=>'Fours industriels',
53=>'Fumisterie',
54=>'Gypserie',
2013-06-19 08:24:49 +00:00
55=>'Hygi<67>ne des r<>seaux a<>rauliques',
137=>'Incendie (encoffrement, mat<61>riaux isolants)',
138=>'Incendie (protection <20> base de pl<70>tre)',
139=>'Incin<69>ration',
56=>'Insectes xylophages',
140=>'Installation eau (maintenance)',
141=>'Installation sanitaire',
142=>'Installation thermique',
57=>'Isolation (acoustique-frigorifique-thermique)',
2013-06-19 08:24:49 +00:00
58=>'Isolation par planchers sur<75>lev<65>s',
143=>'Ma<4D>onnerie',
59=>'Ma<4D>onnerie et b<>ton arm<72> courant',
60=>'Ma<4D>onnerie patrimoine ancien et monuments historiques',
144=>'Ma<4D>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.',
2013-06-19 08:24:49 +00:00
67=>'Menuiseries m<>talliques',
69=>'M<>tallerie',
145=>'M<>tallerie r<>sistant au feu',
70=>'Miroiterie',
71=>'Montage-levage',
2013-06-19 08:24:49 +00:00
146=>'Ordures m<>nag<61>res',
160=>'Organes de retenue d eau',
73=>'Organes de stockage',
161=>'Ossatures d appareils de levage',
2013-06-19 08:24:49 +00:00
75=>'Ouvrages <20>tanches',
76=>'Paratonnerres',
77=>'Parquets',
78=>'Pavage',
79=>'Peinture',
147=>'Peinture industrielle',
80=>'Pierre (taille et pose)',
163=>'Piscine',
148=>'Plafonds tendus',
2013-06-19 08:24:49 +00:00
81=>'Plaques de pl<70>tre',
82=>'Pl<50>trerie',
72=>'Plomberie',
83=>'Plomberie - Installations sanitaires',
149=>'Plomb (peinture)',
2013-06-19 08:24:49 +00:00
84=>'Ponts m<>talliques',
85=>'Poteaux et cl<63>tures',
86=>'Pr<50>fabrication b<>ton arm<72> et pr<70>contraint',
87=>'Protection contre l\'incendie',
2013-06-19 08:24:49 +00:00
88=>'Protection des fa<66>ades',
89=>'Protections solaires',
2013-06-19 08:24:49 +00:00
90=>'Pyl<79>nes et tours de transmission',
91=>'Ramonage',
2013-06-19 08:24:49 +00:00
92=>'Ravalement ma<6D>onnerie',
93=>'Ravalement peinture',
2013-06-19 08:24:49 +00:00
150=>'R<>gulation',
155=>'Remont<6E>e capillaire',
110=>'Renforcement et r<>paration d ouvrages d art',
95=>'R<>novation de chaufferies',
96=>'R<>paration en b<>ton arm<72>',
97=>'R<>paration en ma<6D>onnerie',
151=>'Reprise en sous-oeuvre',
2013-06-19 08:24:49 +00:00
100=>'R<>seaux a<>rauliques',
152=>'R<>seaux (chaleur, froid)',
98=>'Restauration patrimoine ancien et monuments historiques',
2013-06-19 08:24:49 +00:00
99=>'Rev<65>tements (sols et murs)',
157=>'RIA (Robinet Incendie Arm<72>)',
101=>'Sculpture',
162=>'Serrurerie',
102=>'Staff',
2013-06-19 08:24:49 +00:00
103=>'Structures <20>v<EFBFBD>nementielles',
104=>'Structures textiles',
105=>'Stuc',
158=>'Tapisserie',
2013-06-19 08:24:49 +00:00
106=>'T<>l<EFBFBD>alarme - T<>l<EFBFBD>surveillance - T<>l<EFBFBD>gestion',
108=>'Termites',
159=>'Terrassements',
107=>'Terrassements - Fouilles',
109=>'Thermique industrielle',
94=>'Traitement de l amiante en place',
111=>'Traitement des bois et constructions',
2013-06-19 08:24:49 +00:00
112=>'Transformations en ma<6D>onnerie',
113=>'Translucides (planchers et panneaux)',
153=>'Tribune',
114=>'Trottoirs',
115=>'Tubage',
74=>'Tuyauterie',
154=>'V.E.A. - V.E.C.',
116=>'Ventilation',
2013-06-19 08:24:49 +00:00
117=>'V<>randas',
121=>'Vidoir ordures m<>nag<61>res',
118=>'Vitrail',
119=>'Vitrerie',
2013-06-19 08:24:49 +00:00
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]
2013-06-19 08:24:49 +00:00
T<EFBFBD>l<EFBFBD>chargement et mise <EFBFBD> jour de la base Qualibat.
Options:
-v Mode verbose ou debug
2013-06-19 08:24:49 +00:00
-f Forcer la mise <EFBFBD> jour depuis Qualibat
-m Retourne le dernier num<EFBFBD>ro Qualibat en base
-l Recherche uniquement les Qualibat non encore en base
2013-06-19 08:24:49 +00:00
(*): Valeur par d<EFBFBD>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();
}
2013-06-19 08:24:49 +00:00
echo date('Y/m/d - H:i:s') ." - DEBUT du programme de r<>cup<75>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;
}
}
2013-06-19 08:24:49 +00:00
// Il faudrait rechercher le dernier num<75>ro Orias attribu<62> non encore en base
$iQualibat->force=$force;
$nbAcces=0;
while(true) {
$numQualibatTmp++;
2013-06-19 08:24:49 +00:00
echo date('Y/m/d - H:i:s')." - Recherche du dernier num<75>ro Qualibat attribu<62> : ";
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);
2013-06-19 08:24:49 +00:00
echo date('Y/m/d - H:i:s')." - Mise <20> jour de la base Qualibat...".EOL;
} else {
$partiel=true;
2013-06-19 08:24:49 +00:00
echo date('Y/m/d - H:i:s')." - Chargement de num<75>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));
2013-06-19 08:24:49 +00:00
echo date('Y/m/d - H:i:s')." - $i/$nb: $idQualibat ... r<>cup<75>r<EFBFBD> ";
if (!$partiel && date('Hi')*1>=1930) {
//if (date('Hi')*1>=2235) {
$nbTot=$nbAcces+$nbCache;
$pct=@round($nbCache/$nbTot*100,2);
2013-06-19 08:24:49 +00:00
@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Pompe Qualibat - Traitement quotidien", "$nbTot requ<71>tes trait<69>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) {
2013-06-19 08:24:49 +00:00
@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Pompe Qualibat - Tout est fini !", "FIN des $nbTot requ<71>tes trait<69>es dont $nbCache en cache ($pct %)");
}
2013-06-19 08:24:49 +00:00
echo date('Y/m/d - H:i:s')." - FIN des $nbTot requ<71>tes dont $nbCache en cache ($pct %)".EOL;
die();