Commit f37c2cc0 authored by JonathanMM's avatar JonathanMM

Gestion de l'overflow

parent 8d377668
......@@ -185,7 +185,7 @@ function getDataBikeInstantane($codeStation)
$hier = new DateTime("-1hour");
$filtreDate = $hier->format('Y-m-d H:i:s');
$requete = $pdo->query('SELECT c.date, s.nbBike, s.nbEBike, s.nbEDock
$requete = $pdo->query('SELECT c.date, s.nbBike, s.nbEBike, s.nbBikeOverflow, s.nbEBikeOverflow, s.nbEDock
FROM status s
INNER JOIN statusConso c ON c.id = s.idConso
WHERE s.code = '.$codeStation.' AND c.date >= "'.$filtreDate.'"
......@@ -195,11 +195,13 @@ function getDataBikeInstantane($codeStation)
$dates = [];
$nbBikeData = [];
$nbEbikeData = [];
$nbOverflowData = [];
foreach($statusStation as $statut)
{
$dates[] = (new DateTime($statut['date']))->format("d/m H\hi");
$nbBikeData[] = $statut['nbBike'];
$nbEbikeData[] = $statut['nbEBike'];
$nbOverflowData[] = $statut['nbBikeOverflow'] + $statut['nbEBikeOverflow'];
}
return array(
......@@ -214,6 +216,11 @@ function getDataBikeInstantane($codeStation)
'label' => 'Vélos électriques',
'backgroundColor' => 'rgba(76, 213, 233, 0.5)',
'data' => $nbEbikeData
),
array(
'label' => 'Vélos en overflow',
'backgroundColor' => 'rgba(254, 216, 160, 0.5)',
'data' => $nbOverflowData
)
)
);
......@@ -252,7 +259,7 @@ function getDataBikeResume($codeStation, $filtre, $periode)
$date = new DateTime($filtre);
$filtreDate = $date->format('Y-m-d H:i:s');
$requete = $pdo->query('SELECT `date`, nbBikeMin, nbBikeMax, nbBikeMoyenne, nbBikePris, nbBikeRendu, nbEBikeMin, nbEBikeMax, nbEBikeMoyenne, nbEBikePris, nbEBikeRendu
$requete = $pdo->query('SELECT `date`, nbBikeMin, nbBikeMax, nbBikeMoyenne, nbBikePris, nbBikeRendu, nbEBikeMin, nbEBikeMax, nbEBikeMoyenne, nbEBikePris, nbEBikeRendu, nbBikeOverflowMin, nbBikeOverflowMax, nbBikeOverflowMoyenne, nbEbikeOverflowMin, nbEbikeOverflowMax, nbEbikeOverflowMoyenne
FROM resumeStatus
WHERE code = '.$codeStation.' AND `date` >= "'.$filtreDate.'" AND duree = '.$periode.'
ORDER BY date ASC');
......@@ -269,6 +276,9 @@ function getDataBikeResume($codeStation, $filtre, $periode)
$nbEBikeMoyenneData = [];
$nbEBikePrisData = [];
$nbEBikeRenduData = [];
$nbOverflowMinData = [];
$nbOverflowMaxData = [];
$nbOverflowMoyenneData = [];
foreach($resumeStatusStation as $statut)
{
$datesResume[] = (new DateTime($statut['date']))->format("d/m H\hi");
......@@ -282,6 +292,9 @@ function getDataBikeResume($codeStation, $filtre, $periode)
$nbEBikeMoyenneData[] = $statut['nbEBikeMoyenne'];
$nbEBikePrisData[] = -1*$statut['nbEBikePris'];
$nbEBikeRenduData[] = $statut['nbEBikeRendu'];
$nbOverflowMinData[] = $statut['nbBikeOverflowMin'] + $statut['nbEbikeOverflowMin'];
$nbOverflowMaxData[] = $statut['nbBikeOverflowMax'] + $statut['nbEbikeOverflowMax'];
$nbOverflowMoyenneData[] = $statut['nbBikeOverflowMoyenne'] + $statut['nbEbikeOverflowMoyenne'];
}
return array(
......@@ -356,7 +369,32 @@ function getDataBikeResume($codeStation, $filtre, $periode)
'label' => 'Vélos électriques (Rendu)',
'backgroundColor' => 'rgba(76, 213, 233, 0.5)',
'data' => $nbEBikeRenduData
)
),
array(
'type' => 'line',
'label' => 'Vélos en overflow (Moyenne)',
'borderColor' => 'rgba(254, 216, 160, 0.7)',
'fill' => false,
'data' => $nbOverflowMoyenneData
),
array(
'type' => 'line',
'label' => 'Vélos en overflow (Min)',
'borderColor' => 'rgba(254, 216, 160, 0)',
'backgroundColor' => 'rgba(254, 216, 160, 0.3)',
'fill' => "+1",
'borderDash' => [5, 5],
'data' => $nbOverflowMinData
),
array(
'type' => 'line',
'label' => 'Vélos en overflow (Max)',
'borderColor' => 'rgba(254, 216, 160, 0)',
'backgroundColor' => 'rgba(254, 216, 160, 0.3)',
'fill' => false,
'borderDash' => [5, 5],
'data' => $nbOverflowMaxData
),
)
);
}
......@@ -627,6 +665,7 @@ function getDataConsoBikeInstantane()
$dates[] = (new DateTime($c['date']))->format("d/m H\hi");
$nbBikeData[] = $c['nbBike'];
$nbEbikeData[] = $c['nbEbike'];
$nbOverflowData[] = $c['nbBikeOverflow'] + $c['nbEbikeOverflow'];
}
}
......@@ -642,6 +681,11 @@ function getDataConsoBikeInstantane()
'label' => 'Vélos électriques',
'backgroundColor' => 'rgba(76, 213, 233, 0.5)',
'data' => $nbEbikeData
),
array(
'label' => 'Vélos en overflow',
'backgroundColor' => 'rgba(254, 216, 160, 0.5)',
'data' => $nbOverflowData
)
)
);
......@@ -755,6 +799,7 @@ function getDataConsoBikeResume($filtre, $periode)
$datesResume = [];
$nbBikeData = [];
$nbEbikeData = [];
$nbOverflowData = [];
foreach($resumeStatusStation as $i => $c)
{
if($c['nbStation'] > 0)
......@@ -762,6 +807,7 @@ function getDataConsoBikeResume($filtre, $periode)
$datesResume[] = (new DateTime($c['date']))->format("d/m H\hi");
$nbBikeData[] = $c['nbBikeMoyenne'];
$nbEbikeData[] = $c['nbEBikeMoyenne'];
$nbOverflowData[] = $c['nbBikeOverflowMoyenne'] + $c['nbEbikeOverflowMoyenne'];
}
}
......@@ -777,6 +823,11 @@ function getDataConsoBikeResume($filtre, $periode)
'label' => 'Vélos électriques',
'backgroundColor' => 'rgba(76, 213, 233, 0.5)',
'data' => $nbEbikeData
),
array(
'label' => 'Vélos en overflow',
'backgroundColor' => 'rgba(254, 216, 160, 0.5)',
'data' => $nbOverflowData
)
)
);
......@@ -807,7 +858,7 @@ function getDataStation($codeStation)
$filtreDate = $hier->format('Y-m-d H:i:s');
//Stations
$requete = $pdo->query('SELECT c.id, c.date, s.nbBike, s.nbEBike, s.nbFreeEDock, s.nbEDock
$requete = $pdo->query('SELECT c.id, c.date, s.nbBike, s.nbEBike, s.nbBikeOverflow, s.nbEBikeOverflow, s.nbFreeEDock, s.nbEDock
FROM status s
INNER JOIN statusConso c ON c.id = s.idConso
WHERE s.code = '.$codeStation.' AND c.date >= "'.$filtreDate.'"
......@@ -821,6 +872,8 @@ function getDataStation($codeStation)
'date' => $statut['date'],
'nbBike' => $statut['nbBike'],
'nbEbike' => $statut['nbEBike'],
'nbBikeOverflow' => $statut['nbBikeOverflow'],
'nbEbikeOverflow' => $statut['nbEBikeOverflow'],
'nbFreeEDock' => $statut['nbFreeEDock'],
'nbEDock' => $statut['nbEDock']
);
......
......@@ -40,6 +40,8 @@ function getStatusByIdConso($idConso, $filtreWhere = null)
'state' => $station['state'],
'nbBike' => $station['nbBike'],
'nbEbike' => $station['nbEBike'],
'nbBikeOverflow' => $station['nbBikeOverflow'],
'nbEbikeOverflow' => $station['nbEBikeOverflow'],
'nbFreeEDock' => $station['nbFreeEDock'],
'nbEDock' => $station['nbEDock'],
'latitude' => $station['latitude'],
......
......@@ -19,6 +19,7 @@ $smarty->assign(array(
'nbStationDetecte' => $conso['nbStationDetecte'],
'nbBike' => $conso['nbBike'],
'nbEbike' => $conso['nbEbike'],
'nbOverflow' => $conso['nbBikeOverflow']+$conso['nbEbikeOverflow'],
'nbEDock' => $conso['nbEDock'],
'nbFreeEDock' => $conso['nbFreeEDock'],
'dateDerniereConso' => (new DateTime($conso['date']))->format('d/m/Y à H:i')
......
......@@ -8,7 +8,7 @@
<table id="statsConso">
<tr>
<th colspan="2">Stations ouvertes</th>
<th colspan="2">Vélos disponibles</th>
<th colspan="3">Vélos disponibles</th>
<th colspan="2">Bornes</th>
</tr>
<tr>
......@@ -16,6 +16,7 @@
<td>{$nbStationDetecte}</td>
<td>{$nbBike}</td>
<td>{$nbEbike}</td>
<td>{$nbOverflow}</td>
<td>{$nbFreeEDock}</td>
<td>{$nbEDock}</td>
</tr>
......@@ -24,6 +25,7 @@
<td><abbr title="Stations avec un nombre de bornes positifs avec au moins un vélo ou une borne libre">détectées</abbr></td>
<td>mécaniques</td>
<td>électriques</td>
<td>en overflow</td>
<td>libres</td>
<td>totales</td>
</tr>
......@@ -82,6 +84,7 @@
<th>Statut</th>
<th>Vélos mécaniques dispo</th>
<th>Vélos électriques dispo</th>
<th>Vélos en overflow</th>
<th>Bornes libres</th>
<th>Park+ (overflow)</th>
</tr>
......@@ -153,6 +156,12 @@
data: 'nbBike'
},{
data: 'nbEbike'
},{
data: 'nbBikeOverflow',
render: function(data, type, row, meta)
{
return parseInt(row.nbBikeOverflow) + parseInt(row.nbEbikeOverflow);
}
},{
data: 'nbFreeEDock',
render: function(data, type, row, meta)
......
......@@ -87,7 +87,7 @@ function getDisplayData(displayBike, displayInstantanne, displayStations)
if(displayInstantanne)
dataDisplay.data.datasets = graphDataSets;
else
dataDisplay.data.datasets = [graphDataSets[0], graphDataSets[5]];
dataDisplay.data.datasets = [graphDataSets[0], graphDataSets[5], graphDataSets[10]];
//On ajuste les couleurs des vélos mécaniques
dataDisplay.data.datasets[0].backgroundColor = 'rgba(104,221,46,0.5)';
dataDisplay.data.datasets[0].fill = true;
......@@ -96,6 +96,10 @@ function getDisplayData(displayBike, displayInstantanne, displayStations)
dataDisplay.data.datasets[1].backgroundColor = 'rgba(76, 213, 233,0.5)';
dataDisplay.data.datasets[1].fill = true;
delete dataDisplay.data.datasets[1].borderColor;
//Et en overflow
dataDisplay.data.datasets[2].backgroundColor = 'rgba(254, 216, 160, 0.5)';
dataDisplay.data.datasets[2].fill = true;
delete dataDisplay.data.datasets[2].borderColor;
dataDisplay.options.scales.yAxes[0].stacked = true;
}
else if(displayStations) // Stations
......
......@@ -74,6 +74,8 @@ def creerDumpData(dateDebut):
`nbStationDetecte` int(11) DEFAULT NULL,
`nbBike` int(11) DEFAULT NULL,
`nbEbike` int(11) DEFAULT NULL,
`nbBikeOverflow` int(11) DEFAULT NULL,
`nbEbikeOverflow` int(11) DEFAULT NULL,
`nbFreeEDock` int(11) DEFAULT NULL,
`nbEDock` int(11) DEFAULT NULL
);
......@@ -85,7 +87,7 @@ def creerDumpData(dateDebut):
c = conn.cursor()
requete = mysql.cursor()
requete.execute('SELECT id, date, nbStation, nbStationDetecte, nbBike, nbEbike, nbFreeEDock, nbEDock \
requete.execute('SELECT id, date, nbStation, nbStationDetecte, nbBike, nbEbike, nbBikeOverflow, nbEbikeOverflow, nbFreeEDock, nbEDock \
FROM statusConso \
WHERE date >= "'+dateDebutStr+'" AND date < "'+dateFinStr+'"')
stations = requete.fetchall()
......@@ -93,8 +95,8 @@ def creerDumpData(dateDebut):
values = []
for cell in station:
values.append(val(cell))
c.execute('INSERT INTO statusConso (id, date, nbStation, nbStationDetecte, nbBike, nbEbike, nbFreeEDock, nbEDock) VALUES \
('+values[0]+', '+values[1]+', '+values[2]+', '+values[3]+', '+values[4]+', '+values[5]+', '+values[6]+', '+values[7]+')')
c.execute('INSERT INTO statusConso (id, date, nbStation, nbStationDetecte, nbBike, nbEbike, nbBikeOverflow, nbEbikeOverflow, nbFreeEDock, nbEDock) VALUES \
('+values[0]+', '+values[1]+', '+values[2]+', '+values[3]+', '+values[4]+', '+values[5]+', '+values[6]+', '+values[7]+', '+values[8]+', '+values[9]+')')
conn.commit()
c = conn.cursor()
......@@ -135,18 +137,24 @@ def creerDumpConso(dateDebut):
`id` int(11) NOT NULL,
`date` datetime NOT NULL,
`duree` int(4) NOT NULL,
`nbStation` int(11) NOT NULL,
`nbStationDetecte` int(11) DEFAULT NULL,
`nbBikeMin` int(11) NOT NULL,
`nbBikeMax` int(11) NOT NULL,
`nbBikeMoyenne` int(11) NOT NULL,
`nbEBikeMin` int(11) NOT NULL,
`nbEBikeMax` int(11) NOT NULL,
`nbEBikeMoyenne` int(11) NOT NULL,
`nbFreeEDockMin` int(11) NOT NULL,
`nbFreeEDockMax` int(11) NOT NULL,
`nbFreeEDockMoyenne` int(11) NOT NULL,
`nbEDock` int(11) NOT NULL
`nbStation` int(5) NOT NULL,
`nbStationDetecte` int(5) DEFAULT NULL,
`nbBikeMin` int(6) NOT NULL,
`nbBikeMax` int(6) NOT NULL,
`nbBikeMoyenne` decimal(8,2) NOT NULL,
`nbEBikeMin` int(6) NOT NULL,
`nbEBikeMax` int(6) NOT NULL,
`nbEBikeMoyenne` decimal(8,2) NOT NULL,
`nbBikeOverflowMin` int(6) NULL,
`nbBikeOverflowMax` int(6) NULL,
`nbBikeOverflowMoyenne` decimal(8,2) NULL,
`nbEbikeOverflowMin` int(6) NULL,
`nbEbikeOverflowMax` int(6) NULL,
`nbEbikeOverflowMoyenne` decimal(8,2) NULL,
`nbFreeEDockMin` int(6) NOT NULL,
`nbFreeEDockMax` int(6) NOT NULL,
`nbFreeEDockMoyenne` decimal(8, 2) NOT NULL,
`nbEDock` int(6) NOT NULL
);
''')
c.execute('''
......@@ -187,7 +195,7 @@ def creerDumpConso(dateDebut):
creerStationData(conn, mysql)
c = conn.cursor()
requete = mysql.cursor()
requete.execute('SELECT id, date, duree, nbStation, nbStationDetecte, nbBikeMin, nbBikeMax, nbBikeMoyenne, nbEBikeMin, nbEBikeMax, nbEBikeMoyenne, nbFreeEDockMin, nbFreeEDockMax, nbFreeEDockMoyenne, nbEDock \
requete.execute('SELECT id, date, duree, nbStation, nbStationDetecte, nbBikeMin, nbBikeMax, nbBikeMoyenne, nbEBikeMin, nbEBikeMax, nbEBikeMoyenne, nbBikeOverflowMin, nbBikeOverflowMax, nbBikeOverflowMoyenne, nbEbikeOverflowMin, nbEbikeOverflowMax, nbEbikeOverflowMoyenne, nbFreeEDockMin, nbFreeEDockMax, nbFreeEDockMoyenne, nbEDock \
FROM resumeConso \
WHERE date >= "'+dateDebutStr+'" AND date < "'+dateFinStr+'"')
stations = requete.fetchall()
......@@ -195,7 +203,7 @@ def creerDumpConso(dateDebut):
values = []
for cell in station:
values.append(val(cell))
c.execute('INSERT INTO resumeConso (id, date, duree, nbStation, nbStationDetecte, nbBikeMin, nbBikeMax, nbBikeMoyenne, nbEBikeMin, nbEBikeMax, nbEBikeMoyenne, nbFreeEDockMin, nbFreeEDockMax, nbFreeEDockMoyenne, nbEDock) VALUES \
c.execute('INSERT INTO resumeConso (id, date, duree, nbStation, nbStationDetecte, nbBikeMin, nbBikeMax, nbBikeMoyenne, nbEBikeMin, nbEBikeMax, nbEBikeMoyenne, nbBikeOverflowMin, nbBikeOverflowMax, nbBikeOverflowMoyenne, nbEbikeOverflowMin, nbEbikeOverflowMax, nbEbikeOverflowMoyenne, nbFreeEDockMin, nbFreeEDockMax, nbFreeEDockMoyenne, nbEDock) VALUES \
('+', '.join(values)+')')
conn.commit()
......
......@@ -33,6 +33,8 @@ def getAllStation():
nbTotalEBike = 0
nbTotalFreeEDock = 0
nbTotalEDock = 0
nbTotalBikeOverflow = 0
nbTotalEBikeOverflow = 0
#On créer une conso pour avoir son id
requete = mysql.cursor()
......@@ -90,9 +92,11 @@ def getAllStation():
nbEbike = int(etatStation['nbEbike'])
nbFreeEDock = int(etatStation['nbFreeDock'])+int(etatStation['nbFreeEDock'])
nbEDock = int(etatStation['nbDock'])+int(etatStation['nbEDock'])
nbBikeOverflow = int(etatStation['nbBikeOverflow'])
nbEBikeOverflow = int(etatStation['nbEBikeOverflow'])
requete = mysql.cursor()
requete.execute('INSERT INTO status (code, idConso, state, nbBike, nbEBike, nbFreeEDock, nbEDock, nbBikeOverflow, nbEBikeOverflow, maxBikeOverflow, overflow, overflowActivation) VALUES \
('+str(codeStation)+', '+strIdConso+', "'+str(infoStation['state'])+'", '+str(nbBike)+', '+str(nbEbike)+', '+str(nbFreeEDock)+', '+str(nbEDock)+', '+str(etatStation['nbBikeOverflow'])+', '+str(etatStation['nbEBikeOverflow'])+', '+str(etatStation['maxBikeOverflow'])+', "'+str(etatStation['overflow'])+'", "'+str(etatStation['overflowActivation'])+'")')
('+str(codeStation)+', '+strIdConso+', "'+str(infoStation['state'])+'", '+str(nbBike)+', '+str(nbEbike)+', '+str(nbFreeEDock)+', '+str(nbEDock)+', '+str(nbBikeOverflow)+', '+str(nbEBikeOverflow)+', '+str(etatStation['maxBikeOverflow'])+', "'+str(etatStation['overflow'])+'", "'+str(etatStation['overflowActivation'])+'")')
#On met à jour la station au besoin
if codeStation in stationsFutur and nbEDock > 0:
......@@ -105,6 +109,8 @@ def getAllStation():
nbTotalEBike += nbEbike
nbTotalFreeEDock += nbFreeEDock
nbTotalEDock += nbEDock
nbTotalBikeOverflow += nbBikeOverflow
nbTotalEBikeOverflow += nbEBikeOverflow
if infoStation['state'] == "Operative":
nbStationsOuvertes += 1
if nbEDock > 0 and nbBike + nbEbike + nbFreeEDock > 0:
......@@ -118,8 +124,10 @@ def getAllStation():
nbStationDetecte = '+str(nbStationsOuvertesDetectees)+' ,\
nbBike = '+str(nbTotalBike)+', \
nbEbike = '+str(nbTotalEBike)+', \
nbFreeEDock = '+str(nbTotalFreeEDock)+', \
nbEDock = '+str(nbTotalEDock)+' \
nbBikeOverflow = '+str(nbTotalBikeOverflow)+', \
nbEbikeOverflow = '+str(nbTotalEBikeOverflow)+', \
nbEDock = '+str(nbTotalEDock)+', \
nbFreeEDock = '+str(nbTotalFreeEDock)+' \
WHERE id = '+strIdConso)
mysql.close()
\ No newline at end of file
......@@ -61,6 +61,7 @@
<th>Statut</th>
<th>Vélos mécaniques dispo</th>
<th>Vélos électriques dispo</th>
<th>Vélos en overflow</th>
<th>Bornes libres</th>
</tr>
</thead>
......@@ -80,9 +81,17 @@
return putZero(date.getDate()) + '/' + putZero(date.getMonth()+1) + '/' + date.getFullYear() + ' ' + putZero(date.getHours()) + ':' + putZero(date.getMinutes());
}
},{
data: 'nbBike'
data: 'nbBike',
render: function(data, type, row, meta)
{
return parseInt(data) + (row.nbBikeOverflow > 0 ? ' (plus en overflow '+parseInt(row.nbBikeOverflow)+')' : '');
}
},{
data: 'nbEbike'
data: 'nbEbike',
render: function(data, type, row, meta)
{
return parseInt(data) + (row.nbEbikeOverflow > 0 ? ' (plus en overflow '+row.nbEbikeOverflow+')' : '');
}
},{
data: 'nbFreeEDock',
render: function(data, type, row, meta)
......@@ -142,6 +151,12 @@
data: 'nbBike'
},{
data: 'nbEbike'
},{
data: 'nbBikeOverflow',
render: function(data, type, row, meta)
{
return parseInt(row.nbBikeOverflow) + parseInt(row.nbEbikeOverflow);
}
},{
data: 'nbFreeEDock',
render: function(data, type, row, meta)
......
......@@ -24,18 +24,24 @@ CREATE TABLE `resumeConso` (
`id` int(11) NOT NULL,
`date` datetime NOT NULL,
`duree` int(4) NOT NULL,
`nbStation` int(11) NOT NULL,
`nbStationDetecte` int(11) DEFAULT NULL,
`nbBikeMin` int(11) NOT NULL,
`nbBikeMax` int(11) NOT NULL,
`nbBikeMoyenne` int(11) NOT NULL,
`nbEBikeMin` int(11) NOT NULL,
`nbEBikeMax` int(11) NOT NULL,
`nbEBikeMoyenne` int(11) NOT NULL,
`nbFreeEDockMin` int(11) NOT NULL,
`nbFreeEDockMax` int(11) NOT NULL,
`nbFreeEDockMoyenne` int(11) NOT NULL,
`nbEDock` int(11) NOT NULL
`nbStation` int(5) NOT NULL,
`nbStationDetecte` int(5) DEFAULT NULL,
`nbBikeMin` int(6) NOT NULL,
`nbBikeMax` int(6) NOT NULL,
`nbBikeMoyenne` decimal(8,2) NOT NULL,
`nbEBikeMin` int(6) NOT NULL,
`nbEBikeMax` int(6) NOT NULL,
`nbEBikeMoyenne` decimal(8,2) NOT NULL,
`nbBikeOverflowMin` int(6) NULL,
`nbBikeOverflowMax` int(6) NULL,
`nbBikeOverflowMoyenne` decimal(8,2) NULL,
`nbEbikeOverflowMin` int(6) NULL,
`nbEbikeOverflowMax` int(6) NULL,
`nbEbikeOverflowMoyenne` decimal(8,2) NULL,
`nbFreeEDockMin` int(6) NOT NULL,
`nbFreeEDockMax` int(6) NOT NULL,
`nbFreeEDockMoyenne` decimal(8, 2) NOT NULL,
`nbEDock` int(6) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
......@@ -63,12 +69,12 @@ CREATE TABLE `resumeStatus` (
`nbFreeEDockMax` int(3) NOT NULL,
`nbFreeEDockMoyenne` decimal(5,2) NOT NULL,
`nbEDock` int(3) NOT NULL,
`nbBikeOverflowMin` int(3) NOT NULL,
`nbBikeOverflowMax` int(3) NOT NULL,
`nbBikeOverflowMoyenne` decimal(5,2) NOT NULL,
`nbEBikeOverflowMin` int(3) NOT NULL,
`nbEBikeOverflowMax` int(3) NOT NULL,
`nbEBikeOverflowMoyenne` decimal(5,2) NOT NULL,
`nbBikeOverflowMin` int(3) NULL,
`nbBikeOverflowMax` int(3) NULL,
`nbBikeOverflowMoyenne` decimal(5,2) NULL,
`nbEBikeOverflowMin` int(3) NULL,
`nbEBikeOverflowMax` int(3) NULL,
`nbEBikeOverflowMoyenne` decimal(5,2) NULL,
`maxBikeOverflow` int(3) NOT NULL,
`nbEDockPerdusMin` int(3) DEFAULT NULL,
`nbEDockPerdusMax` int(3) DEFAULT NULL,
......@@ -142,6 +148,8 @@ CREATE TABLE `statusConso` (
`nbStationDetecte` int(11) DEFAULT NULL,
`nbBike` int(11) DEFAULT NULL,
`nbEbike` int(11) DEFAULT NULL,
`nbBikeOverflow` int(11) DEFAULT NULL,
`nbEbikeOverflow` int(11) DEFAULT NULL,
`nbFreeEDock` int(11) DEFAULT NULL,
`nbEDock` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment