Aggiunto indicatore per anzianità ultimo aggiornamento
This commit is contained in:
parent
196052b7e2
commit
71ae3cb217
25
generate.php
25
generate.php
|
@ -5,13 +5,13 @@ include 'vendor/autoload.php';
|
|||
$client = new \GuzzleHttp\Client();
|
||||
|
||||
$response = $client->request('GET', 'http://www.mise.gov.it/images/exportCSV/anagrafica_impianti_attivi.csv');
|
||||
file_put_contents('anagrafica_impianti_attivi.csv', $response->getBody() );
|
||||
file_put_contents('anagrafica_impianti_attivi.csv', $response->getBody());
|
||||
|
||||
$response = $client->request('GET', 'http://www.mise.gov.it/images/exportCSV/prezzo_alle_8.csv');
|
||||
file_put_contents('prezzo_alle_8.csv', $response->getBody());
|
||||
|
||||
// Lettura template file umap
|
||||
$umap = json_decode( file_get_contents('template.umap'), 1 );
|
||||
$umap = json_decode(file_get_contents('template.umap'), 1);
|
||||
|
||||
// Lettura 2 CSV
|
||||
$csvDistributori = fopen('anagrafica_impianti_attivi.csv', 'r');
|
||||
|
@ -65,7 +65,8 @@ $raggruppamenti_iniziali = [
|
|||
'GASOLIO ENERGY D' => 'GASOLIO',
|
||||
'BENZINA ENERGY 98 OTTANI' => 'BENZINA',
|
||||
'BENZINA SHELL V POWER' => 'BENZINA',
|
||||
'SSP98' => 'BENZINA'
|
||||
'SSP98' => 'BENZINA',
|
||||
'GASOLIO PLUS' => 'GASOLIO'
|
||||
];
|
||||
|
||||
$raggruppamenti = [];
|
||||
|
@ -113,7 +114,7 @@ fgetcsv($csvDistributori);
|
|||
fgetcsv($csvDistributori);
|
||||
|
||||
// Costruzione dati umap
|
||||
while(($line = fgetcsv($csvDistributori, 0, ';')) !== FALSE){
|
||||
while (($line = fgetcsv($csvDistributori, 0, ';')) !== false) {
|
||||
$idimpianto = $line[0];
|
||||
$name = $line[2];
|
||||
$lat = $line[8] !== 'NULL' ? $line[8] : null;
|
||||
|
@ -129,11 +130,21 @@ while(($line = fgetcsv($csvDistributori, 0, ';')) !== FALSE){
|
|||
foreach ($prezzi[$idimpianto] as $idx => $prezzo) {
|
||||
$tipo = $prezzo['tipo'].($prezzo['isSelf'] ? ' (self)' : ' (servito)');
|
||||
$tipo_raggruppato = $raggruppamenti[ $tipo ];
|
||||
$giorni_ritardo_aggiornamento = strtotime($ultimo_aggiornamento)/60/60/24 - time()/60/60/24;
|
||||
|
||||
// Emoji per indicare la data di ultimo aggiornamento
|
||||
$icon = '🔴';
|
||||
if ($giorni_ritardo_aggiornamento <= 3) {
|
||||
$icon = '🟢';
|
||||
} elseif ($giorni_ritardo_aggiornamento > 3 && $giorni_ritardo_aggiornamento <= 7) {
|
||||
$icon = '🟠';
|
||||
}
|
||||
|
||||
$prezzi_per_tipo[$tipo_raggruppato][$idimpianto][$tipo] = [
|
||||
'idimpianto' => $idimpianto,
|
||||
'ultimo_aggiornamento' => $prezzo['ultimo_aggiornamento'],
|
||||
'nome' => $name,
|
||||
'icon' => $icon,
|
||||
'prezzo' => (float)$prezzo['prezzo'],
|
||||
'lat' => $lat,
|
||||
'lon' => $lon
|
||||
|
@ -166,7 +177,7 @@ foreach ($prezzi_per_tipo as $tipo_raggruppato => $idimpianti) {
|
|||
"properties" => [
|
||||
"idImpianto" => $idimpianto,
|
||||
'description' => "**".$impianto['nome']."**\n".implode("\n", $descriptions)."\n*Ultimo agg.: ".$impianto['ultimo_aggiornamento'].'*',
|
||||
'name' => min($prezzi).' - '.max($prezzi).' €'
|
||||
'name' => $impianto['icon'].' '.min($prezzi).' - '.max($prezzi).' €'
|
||||
],
|
||||
"geometry" => [
|
||||
"type" => "Point",
|
||||
|
@ -203,7 +214,7 @@ $json_response = json_encode($umap, JSON_PRETTY_PRINT);
|
|||
|
||||
// Salvataggio file umap
|
||||
if (isset($_GET['response'])) {
|
||||
echo $json_response;
|
||||
echo $json_response;
|
||||
} else {
|
||||
file_put_contents( 'data.umap', $json_response );
|
||||
file_put_contents('data.umap', $json_response);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue