PM-1691 "0016872: Event execution times are not being..." SOLVED

Issue:
    0016872: Event execution times are not being generated correctly
Cause:
    Se esta mandando un numero real (ej 955.33) a la funcion "strtotime"
Solution:
    Se esta redondeando el numero con la funcion "round", para que de
    esa manera se mande un numero entero a la funcion "strtotime"
Explanation:
    - En nuestro "Calendario" se tiene definido por default que son 8 horas de
      trabajo por dia (8 horas/dia)
    - En el proceso adjunto en el bug, se tiene definido lo siguiente:
        > ...
        > The time starts with task: Task2
        > Estimated Task duration: 8 hours (esto se
          transforma a: 0.33333333333333 (8/24), segun la wiki)
        > Execution time: 0 days After interval ends
        > ...
      Estos valores mas el resto de campos son almacenados en la tabla "EVENT"
    - Ahora como ejemplo tenemos el siguiente caso: en fecha y
      hora "2015-03-03 13:49:52" se inicia un caso con el Task1 y es derivado al
      Task2, entonces se crea un registro en la tabla "APP_EVENT". El campo que
      es objeto de estudio es "APP_EVENT.APP_EVN_ACTION_DATE", el cual tiene un
      valor de "2015-03-03 16:29:52"
    - Entonces el analisis es el siguiente:
        0.33333333333333 dias * 8 horas/dia = 2.6666666666666 horas
      Lo que quiere decir que el cron.php ejecutara/iniciara/revisara el caso
      el "2015-03-03 13:49:52" + "2.6666666666666 horas" osea el "2015-03-03 16:29:52"
This commit is contained in:
Victor Saisa Lopez
2015-03-03 16:32:11 -04:00
parent 1e40384db2
commit 752e65a57f

View File

@@ -414,7 +414,7 @@ class calendar extends CalendarDefinition
$hoursDuration -= (float)($secondRes/3600);
//$dataLog[] = (float)($secondRes/3600);
} else {
$newDate = date('Y-m-d H:i:s', strtotime('+' . (((float)$hoursDuration)*3600) . ' seconds', strtotime($newDate)));
$newDate = date("Y-m-d H:i:s", strtotime("+" . round(((float)($hoursDuration)) * 3600) . " seconds", strtotime($newDate)));
//$dataLog[] = (float)($hoursDuration);
$hoursDuration = 0;
}
@@ -797,4 +797,4 @@ class calendar extends CalendarDefinition
}
}
?>
?>