[uylug-programming] Minutos trabajados por día... Ayuda con una query

Chicken Urine chickenurine at gmail.com
Mon Mar 25 07:45:51 PDT 2013


Claro, en realidad me parece como que el diseño de la solución no está bien
para obtener este tipo de resultados.
Es decir, si vos tenés entre una tarea y otra más de 5 minutos, cuanto le
descontás de tiempo trabajado? 24hs - 5 min?
Por tanto si vos tenés que entre 2 tareas consecutivas no hay más de 5min
de diferencia, podés suponer que el operador hizo el horario completo
(nunca dejó de apretar enter).
En este caso, no podrías hacerlo directo con SQL y tendrías que iterar
sobre las tuplas. Hacés una consulta que te devuelva todas las tuplas de un
usuario ordenadas cronológicamente, luego vas recorriendo los resultados
comparando el registro actual contra el siguiente y chequeando que el lapso
sea menor a 5min. Si el lapso es mayor, descontás el tiempo del TOTAL
(arranca en 1440). Cuando termines de procesar los registros tendrías que
tener el TOTAL de minutos trabajados por el operador.


.:-:ChiCkENURiNE:-:.
+ El SPAM <http://groups.google.com/group/spam-a-lot/> tiene su lugar.


2013/3/25 Carlos M. Martinez <carlosmarcelomartinez at gmail.com>

>  Pero como definis la 'duracion' de cada tarea ? el intervalo entre dos
> entradas ?
>
> On 3/25/13 10:50 AM, Gustavo Azambuja wrote:
>
> No, la tarea es "instantanea"... digamos, para entender, que cada registro
> es una pulsación de ENTER en el teclado del usuario... sabiendo eso, y que
> jamas pasan 5 minutos sin dar ENTER a menos que no estén trabajando... como
> consigo saber los "minutos trabajados por operador" (o la suma de todos los
> operadores)?
>
>
>
>
> 2013/3/25 Chicken Urine <chickenurine at gmail.com>
>
>>  Ok, entonces el date ese es la hora de inicio de la tarea, por lo que
>> supongo que la duración de una tarea es el tiempo entre 2 registros?
>>
>>
>>  .:-:ChiCkENURiNE:-:.
>> + El SPAM <http://groups.google.com/group/spam-a-lot/> tiene su lugar.
>>
>>
>>   2013/3/25 Gustavo Azambuja <hola at gazambuja.com>
>>
>>> La columna date tiene el datetime del evento (q ejecutó una acción)
>>>
>>> En definitiva tengo una lista de eventos de diferentes usuarios y
>>> necesito calcular los "minutos trabajados totales)
>>>
>>> Para el cálculo asumo que si el usuario no ejecuta eventos en 5 minutos
>>> no está trabajando.
>>>
>>> Uso MySQL, y podría completar el cálculo con php.
>>> El mar 25, 2013 8:20 a.m., "Chicken Urine" <chickenurine at gmail.com>
>>> escribió:
>>>
>>>  Gustavo, no me queda muy claro el ejemplo. La columna date guarda un
>>>> resultado de HH:MM:ss que llevó un tarea particular? O es la hora de
>>>> comienzo/fin?
>>>> Que rdbms estás utilizando? Ya que hay funciones específicas en cada
>>>> motor para el manejo de tipo de datos date.
>>>>
>>>>
>>>>  .:-:ChiCkENURiNE:-:.
>>>> + El SPAM <http://groups.google.com/group/spam-a-lot/> tiene su lugar.
>>>>
>>>>
>>>> 2013/3/24 Gustavo Azambuja <hola at gazambuja.com>
>>>>
>>>>>  Alguien me puede ayudar con esta query?
>>>>>
>>>>>  básicamente, necesito conseguir en base a una tabla que tiene
>>>>> acciones realizadas por mis usuarios (funcionarios) durante cada minuto.
>>>>> Ahora, necesito en base a esa tabla saber los "minutos trabajados"
>>>>>
>>>>>
>>>>> http://stackoverflow.com/questions/15606675/minutes-work-by-users-how-to-make-this-query
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> id, user, action, date1, user1, a1, 2013-03-20 10:00:012, user2, a1, 2013-03-20 10:00:033, user2, a1, 2013-03-20 10:00:124, user3, a1, 2013-03-20 10:00:205, user2, a1, 2013-03-20 10:00:24.......
>>>>>
>>>>>  Por ejemplo:
>>>>>
>>>>>    1. Si tengo solo un funcionario trabajando las 24h, tendré:
>>>>>    24h*60m = 1440 minutos trabajados en el día.
>>>>>    2. Si tengo 2 funcionarios durante todo el día (24h) tendré: 2880
>>>>>    minutos trabajados hoy...
>>>>>    3. Si tengo los mismos dos funcionarios, pero trabajando 12h cada
>>>>>    uno, vuelvo a tener los 1440 m/día.
>>>>>
>>>>> Alguna idea de como podría armar una query que me de ésto? o como
>>>>> mucho con algo de PHP ademas de la query.
>>>>>
>>>>>  Gracias!
>>>>>
>>>>>
>>>>>  --
>>>>> Gustavo Azambuja
>>>>> http://gazambuja.com
>>>>>
>>>>> Uruguay:     *091 300 333 <091%20300%20333>* (Montevideo - Mobile)
>>>>>
>>>>> _______________________________________________
>>>>> Uylug-programming mailing list
>>>>> Uylug-programming at listas.uylug.org.uy
>>>>> http://listas.uylug.org.uy/listinfo.cgi/uylug-programming-uylug.org.uy
>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> Uylug-programming mailing list
>>>> Uylug-programming at listas.uylug.org.uy
>>>> http://listas.uylug.org.uy/listinfo.cgi/uylug-programming-uylug.org.uy
>>>>
>>>>
>>> _______________________________________________
>>> Uylug-programming mailing list
>>> Uylug-programming at listas.uylug.org.uy
>>> http://listas.uylug.org.uy/listinfo.cgi/uylug-programming-uylug.org.uy
>>>
>>>
>>
>> _______________________________________________
>> Uylug-programming mailing list
>> Uylug-programming at listas.uylug.org.uy
>> http://listas.uylug.org.uy/listinfo.cgi/uylug-programming-uylug.org.uy
>>
>>
>
>
>  --
> Gustavo Azambuja
> http://gazambuja.com
>
> Uruguay:     *091 300 333* (Montevideo - Mobile)
>
>
> _______________________________________________
> Uylug-programming mailing listUylug-programming at listas.uylug.org.uyhttp://listas.uylug.org.uy/listinfo.cgi/uylug-programming-uylug.org.uy
>
>
>
> _______________________________________________
> Uylug-programming mailing list
> Uylug-programming at listas.uylug.org.uy
> http://listas.uylug.org.uy/listinfo.cgi/uylug-programming-uylug.org.uy
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listas.uylug.org.uy/pipermail/uylug-programming-uylug.org.uy/attachments/20130325/6445996b/attachment-0002.htm>


More information about the Uylug-programming mailing list