-
Notifications
You must be signed in to change notification settings - Fork 5
Description
Se ha detectado el siguiente problema en Urbo, que afecta de forma general a todos los widgets que segmenten la información en periodos (1h, 4h, 1d), también conocido como step.
Actualmente, si se seleccionan las fechas de 7 días de información:
Se pinta información sólo de 6 días:
A pesar de que en llamada a servicio se piden 7 días:
POST https://urbo-aquagis-backend.geographica.gs/api/aljarafe/variables/timeserie
{
"agg":[
"SUM"
],
"vars":[
"aq_cons.sector.forecast"
],
"csv":false,
"time":{
"start":"2018-01-28T23:00:00Z",
"finish":"2018-02-04T22:59:59Z",
"step":"1d"
},
"filters":{
"condition":{
},
"group":"aq_cons.sector.usage"
}
}
El problema radica en que no se pasan un periodo de 7 días completos, sino 6 días 23h 59m 59s. Esto, postgresql nos obtiene 6 datos, y no 7, al descartar el último por no ser completo. Esto pasa también con otros steps menores (dado que nunca damos el step completo).
Esto se ha discutido con @cayetanobv @josemazo @Josmorsot y @padawannn , llegando a la conclusión que es un problema general a Urbo y que hay que darle solución. Una posible solución es modificar la función que prepara las fechas para enviarlas a la API y hacer que finish siempre sume 1 segundo, de forma que las peticiones vayan desde el día 1 a las 00:00 al día n+1 a las 00:00 (siendo n la última fecha de la que se quieren datos).
En cualquier caso, la solución pasa por hacer modificaciones que tendrán que llegar a todo Urbo (aunque inicialmente se ha propuesto ir haciendo widgets que hereden de los existentes y adaptarles la función que prepara las fechas, e ir migrando poco a poco)