Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Calcular proporción trabajo por producto y operario (https://www.clubdelphi.com/foros/showthread.php?t=96620)

WHILENOTEOF 28-02-2024 00:03:38

Calcular proporción trabajo por producto y operario
 
Hola llevo toda la tarde y noche intentando resolver una asignación de tiempos de trabajo, de entrada pensaba que era fácil e hice un procedimiento en la base de datsos, pero veo que no da con el resultado esperado, no sé si es que es difícil de resolver o que tengo las neuronas a bajo rendimiento :confused::confused:, lo planteo por si alguno sabe como plantear la resolución, la cuestión es la siguiente:

- Tengo una zona de trabajo donde se han hecho dos productos A y B, cada uno de ellos en un periodo de tiempo , por ejemplo el producto A se ha trabajado desde las 10:00 a las 12:00 , y el B desde las 11:00 hasta la 13:00 (nótese que se intersectan los periodos de trabajo de cada producto, es decir durante un tiempo se ha trabajado en los dos productos).
- Tengo un trabajador que ha trabajado de 9:00 hasta 13:30, parte de ese tiempo (el que va de 10:00 a 13:00) ha estado trabajando en esa zona en los dos productos.

Lo que quiero es una fórmula para distribuir el tiempo que ha empleado en cada producto (se entiende que el periodo que coinciden los dos productos, se dedica de forma proporcional a cada uno).

La resolución sería:

Tiempo de trabajo de operario en la zona: 3 horas (10:00 a 13:00)
Tiempo dedicado al producto A: 1,5 h
Tiempo dedicado al producto B: 1,5 h

Ahora busco la forma de implementarlo con código. He puesto datos sencillos para simplificar, pero puede haber más de dos productos, y los tiempos de intersección pueden o no darse y pueden ser más de uno.

mamcx 28-02-2024 02:09:58

Tienes un motor sql moderno? es relativamente fácil de hacer ahi.

Si no, es parecido en cuanto que debes hacer una "generación" de datos y luego haces comparación:


Ej:

Código:

Trabajador | Producto A | Producto B
9:00 am    | Null.          | Null


WHILENOTEOF 28-02-2024 08:51:50

Hola, gracias por responder. Ya lo he resuelto, y como pensaba al principio no es difícil,, el problema es que le di tantas vueltas que la cabeza ya no carburaba, esta mañana me ha venido la lucidez (o el estado normal de la cabeza). Simplemente calcular la proporcionalidad de los periodos de cada producto y multiplicar por tiempo de trabajo de operario ya lo tengo, es decir una simple regla de tres :rolleyes:


La franja horaria es GMT +2. Ahora son las 21:45:11.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi