2012-10-16 07:44:31 +00:00
#!/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' ,
2012-10-16 07:44:31 +00:00
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' ,
2012-10-16 07:44:31 +00:00
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' ,
2012-10-16 07:44:31 +00:00
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)' ,
2012-10-16 07:44:31 +00:00
12 => 'Charpente et structures en bois' ,
2013-06-19 08:24:49 +00:00
13 => 'Charpente et structures industrialis<69> es en bois' ,
2012-10-16 07:44:31 +00:00
14 => 'Charpente patrimoine ancien et monuments historiques' ,
2013-06-19 08:24:49 +00:00
15 => 'Chaudi<64> res entretien et d<> pannage' ,
2012-10-16 07:44:31 +00:00
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' ,
2012-10-16 07:44:31 +00:00
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' ,
2012-10-16 07:44:31 +00:00
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' ,
2012-10-16 07:44:31 +00:00
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)' ,
2012-10-16 07:44:31 +00:00
32 => 'Dallages' ,
2013-06-19 08:24:49 +00:00
133 => 'D<> chets' ,
33 => 'D<> coration' ,
34 => 'D<> molition' ,
35 => 'D<> senfumage' ,
2012-10-16 07:44:31 +00:00
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> ' ,
2012-10-16 07:44:31 +00:00
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' ,
2012-10-16 07:44:31 +00:00
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' ,
2012-10-16 07:44:31 +00:00
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' ,
2012-10-16 07:44:31 +00:00
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)' ,
2012-10-16 07:44:31 +00:00
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' ,
2012-10-16 07:44:31 +00:00
70 => 'Miroiterie' ,
71 => 'Montage-levage' ,
2013-06-19 08:24:49 +00:00
146 => 'Ordures m<> nag<61> res' ,
2012-10-16 07:44:31 +00:00
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' ,
2012-10-16 07:44:31 +00:00
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' ,
2012-10-16 07:44:31 +00:00
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' ,
2012-10-16 07:44:31 +00:00
87 => 'Protection contre l\'incendie' ,
2013-06-19 08:24:49 +00:00
88 => 'Protection des fa<66> ades' ,
2012-10-16 07:44:31 +00:00
89 => 'Protections solaires' ,
2013-06-19 08:24:49 +00:00
90 => 'Pyl<79> nes et tours de transmission' ,
2012-10-16 07:44:31 +00:00
91 => 'Ramonage' ,
2013-06-19 08:24:49 +00:00
92 => 'Ravalement ma<6D> onnerie' ,
2012-10-16 07:44:31 +00:00
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' ,
2012-10-16 07:44:31 +00:00
151 => 'Reprise en sous-oeuvre' ,
2013-06-19 08:24:49 +00:00
100 => 'R<> seaux a<> rauliques' ,
152 => 'R<> seaux (chaleur, froid)' ,
2012-10-16 07:44:31 +00:00
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> )' ,
2012-10-16 07:44:31 +00:00
101 => 'Sculpture' ,
162 => 'Serrurerie' ,
102 => 'Staff' ,
2013-06-19 08:24:49 +00:00
103 => 'Structures <20> v<EFBFBD> nementielles' ,
2012-10-16 07:44:31 +00:00
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' ,
2012-10-16 07:44:31 +00:00
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' ,
2012-10-16 07:44:31 +00:00
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' ,
2012-10-16 07:44:31 +00:00
118 => 'Vitrail' ,
119 => 'Vitrerie' ,
2013-06-19 08:24:49 +00:00
120 => 'Voirie r<> seaux divers' ,
2012-10-16 07:44:31 +00:00
);
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 .
2012-10-16 07:44:31 +00:00
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
2012-10-16 07:44:31 +00:00
- l Recherche uniquement les Qualibat non encore en base
2013-06-19 08:24:49 +00:00
( * ) : Valeur par d<EFBFBD> faut !
2012-10-16 07:44:31 +00:00
" ;
$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 ;
2012-10-16 07:44:31 +00:00
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
2012-10-16 07:44:31 +00:00
$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> : " ;
2012-10-16 07:44:31 +00:00
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 ;
2012-10-16 07:44:31 +00:00
} 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 ;
2012-10-16 07:44:31 +00:00
}
$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> " ;
2012-10-16 07:44:31 +00:00
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 %) " );
2012-10-16 07:44:31 +00:00
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 %) " );
2012-10-16 07:44:31 +00:00
}
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 ;
2012-10-16 07:44:31 +00:00
die ();