Se comienza el análisis de performance y se agregan los @profile que unas vez finalizado el análisis deben ser eliminados. Se mejoran los tiempos de obtención de cantidad de tarea real por tarea de un item, para esto se agrega un nuevo modelo: TareaItem. Dicho modelo se actualiza al finalizar cada intervalo de un cronograma. Pruebas exitosas y mejora verificada.
Se realizan algunas correcciones. Se incorpora un prueba de los stands de Loreal. Dicha prueba es la que permitió identificar los problemas de performance. Los problemas de performance se detectaron para cuando se generan grandes cantidades de intervalos asociados a un mismo item. La solución podría ser la de particionar un item con dicha problematica en subitems de planificación.
Se independiza cada IntervaloCronograma del Producto y del Pedido y se hace que dependa directamente del ItemPedido que se planifica. Pruebas exitosas.
Se agrega distinción de logs según tipo de mensaje. Se corrige error en
admin. Se implementa la tolerancia en cronograma y se disminuye su valor
por defecto a 0.1 %. Se elimina el uso de float y se lo remplaza por
Decimal. Se redefine la tolerancia en función de la cantidad que se esté
comparando. Se aumenta la cantidad de decimales en todos los valores
calculados como cantidad y tiempo de los intervalos. Pruebas exitosas.
Se agrega funcionalidad de particion de item por producto en los
pedidos. Pruebas exitosas.
Se agrega validación de si un producto ya se encuentra planificado en
caso de intentar particionarlo en un pedido. Se separan los tests de
particionado en un nuevo modulo y se crea un paquete de tests en la
aplicacion de planificacion.
Se comienza a implementar el particionado de pedidos en forma
optimizada.
Se implementa la estimación de fabricación de un producto por
cronograma. Se finaliza la implementación de particionado optimizado por
producto. Pruebas exitosas.
Se reorganizan las pruebas de la aplicacion planificacion de forma de poder ejecutarlas todas en forma inmediata con el comando test (se estandariza el nombre de cada modulo de pruebas).
Se implementa la prueba de performance de los stands, la misma es exitosa y fue ejecutada en 400 segundos.
Se soluciona error de replanificación. No se estaba resolviendo el modelo lineal al replanificar. Para solucionarlo se verifica que el faltante por item sea mayor a la tolerancia. Pruebas exitosas.
Se agrega el particionado automático de pedidos de un cronograma.
Pruebas exitosas.