Calendar unit evento con fecha ultimo dia del mes no se muestra

03 Oct '16, 07:06 PM
3,741 Views
No Forum Badges

Buenas,

Tengo una entidad ticket con atributos: fecha, total, supermercado... El problema es que cuando inserto un ticket con fecha del ultimo dia de un mes, dicho ticket no se me muestra en la unit calendario (el resto de tickets se muestran). Estoy usando la versión de Webratio 7.2 con licencia para estudiante. ¿A alguien le ha pasado lo mismo?, ¿es un bug o algo que estoy haciendo mal?

Tengo marcado entity base, seleccionada la entidad ticket y le tengo seleccionado los atributos correspondientes a mostrar.

Saludos Miguel Ángel Holgado Ceballos.

 
x 0
Follow
Answer Answer at this question and get points!
No Forum Badges

Se me olvidaba comentar que el atributo fecha es un timestamp. He probado en un proyecto a parte con una entidad que tenga un atributo timestamp y otro date y curiosamente el problema solo lo da con el timestamp. En el proyecto que estoy desarrollando uso timestamp a si que  a ver si alguien sabe por que pasa y como solucionarlo.

Parte del codigo generado es este:

<HQL>select a_ticket.oid, a_ticket.totalTicket, a_ticket.fecha, a_establecimiento_role24.nombre from Ticket a_ticket left join a_ticket.ticketToEstablecimiento a_establecimiento_role24
      <Where defaultPolicy="fill" allImplied="false">(({[p0](a_ticket.ticketToUser.oid in(?))})) and (({[p1]a_ticket.fecha &lt;= ?})) and (({[p2]a_ticket.fecha &gt;= ?}))</Where>
    </HQL>

Llevo relativamente poco con webratio pero viendo el código generado tengo subrrayado donde yo supongo que esté el problema. Supongo que es la condición donde se dice que la fecha tiene que ser menor o igual a la dada por el signo "?", el caso es que es un timestamp por lo que si el valor de "?" es por defecto el ultimo dia del mes 00:00:00 en tonces cualquier evento de ese día y con time mayor a 00:00:00 no lo va a mostrar. Es curioso que si el evento es el último día del mes con 00:00:00 si se muestra por que si satisface la condición.

P.D: Debería poner la consulta en ingles?

Saludos Miguel Ángel.

 
x 0
Forum Hero - Level 9

Hola Miguel,

    En este caso el comportamiento es correcto, ya que al buscar una fecha y hora menor o igual a la dada filtrará por los tickets que coincidan con este filtro, por lo que si hay un ticket guardado con una hora mayor a la establecida no lo filtrará, como recomendación, si se requiere tener el resultado de los tickets, sin importar la hora se puede tener un field tipo date para la búsqueda, y dentro del modelado al realizar la búsqueda se puede concatenar la fecha ingresada en este campo con la hora 23:59:59 de tal forma que al llegar al filtro del calendario se obtenga como resultado todos los tickets de ese día.

Espero te ayude.

 
x 0
No Forum Badges

Buenas Verónica,

Al final para los calendarios he añadido un atributo de tipo date (al ticket) para el "date attribute" del calendario y evitar el problema. Pero no entiendo que Webratio te permita tener dicho atributo como timestamp ("date attribute" en el calendario) si no va a mostrar eventos con fecha tales 30 de septiembre a las 10:02:00, y es curioso por que si es a las 00:00:00 si los muestra.

Gracias por la respuesta.

 
x 0
Forum Hero - Level 9

Hola Miguel,

      Muestra los tickets de las 00:00:00 porque esa hora es menor a las 10:02:00 no es un error, es el comportamiento correcto.

 
x 0
No Forum Badges

Hola eres Miguel de Cáceres. Soy Pepe del Soto de Cantabria y no consigo hablar contigo. Te dejo mi nuevo correo por si eres tú. info@estuma.com. Mándame tu nuevo teléfono y hablamos . Un saludo

 
x 0
Answer at this question and get points!