HOR-1319 "Registros corruptos: Crea 2 registros de un Elemento..." SOLVED

Issue:
    Registros corruptos: Crea 2 registros de un Elemento con 2 Tareas, se debe borrar los q no se usan
Cause:
    - El problema se presenta cuando se tiene la combinacion gateway-to-gateway y al hacer (por ejemplo) un movimiento
      de algun elemento del proceso y posteriormente guardarlo. Esto ocasiona que se creen registros corruptos en las tablas
      TASK, ROUTE y ELEMENT_TASK_RELATION
    - Este problema fue ocasionado por:
          > Commit: 137a4ea2237573a54964414f477e13a4f5c76a5d, Card: PMLOCAL-3840
      El commit 137a4ea2237573a54964414f477e13a4f5c76a5d tambien origino los siguientes issues:
          > Commit: 6bb8ad6cc05a3d8e671baa5d358b409c1f2710f6, Card: HOR-421
          > Commit: 9e8030904a4c0f4f670fc159c9220fead10a5859, Card: PMLOCAL-4270
          > Commit: d3296132bf13f81aee12c0f7696d5952d79ee323, Card: HOR-1383
          > Commit: b58dc888c1f54d981fc329c3a35cb4294785e0f7, Card: HOR-1358
Solution:
    Se revirtieron los cambios de los commits involucrados, con el siguiente detalle:
        - Commit 137a4ea2237573a54964414f477e13a4f5c76a5d: Se revirtio el cambio; se soluciono el problema problema planteado en el card
        - Commit 6bb8ad6cc05a3d8e671baa5d358b409c1f2710f6: Se revirtio el cambio; se soluciono el problema problema planteado en el card
        - Commit 9e8030904a4c0f4f670fc159c9220fead10a5859: Se revirtio el cambio
        - Commit d3296132bf13f81aee12c0f7696d5952d79ee323: Se revirtio el cambio
        - Commit b58dc888c1f54d981fc329c3a35cb4294785e0f7: Se revirtio el cambio; se soluciono el problema planteado segun el analisis del commit
This commit is contained in:
Victor Saisa Lopez
2016-07-26 15:34:52 -04:00
parent d58967138c
commit bf115b86ca
16 changed files with 249 additions and 305 deletions

View File

@@ -199,25 +199,22 @@ class Derivation
$flagAddDelegation = $pmScript->evaluate();
}
//In the 3.0.1.7 version we have a condition for join and the rouCondition maybe is true, 1, etc
$rouCondition = trim($arrayRouteData["ROU_CONDITION"]);
if($rouCondition !== '' && $arrayRouteData["ROU_TYPE"] === 'SEC-JOIN'){
error_log(G::LoadTranslation( 'ID_WARNING_GATEWAY_CONVERGENT_WITH_CONDITION' ).' '.$flagAddDelegation);
}
if (trim($arrayRouteData['ROU_CONDITION']) == '' && $arrayRouteData['ROU_NEXT_TASK'] != '-1') {
$arrayTaskData = $task->load($arrayRouteData['ROU_NEXT_TASK']);
if ($arrayRouteData["ROU_NEXT_TASK"] != "-1" && $rouCondition === '') {
$arrayTaskData = $task->load($arrayRouteData["ROU_NEXT_TASK"]);
if ($arrayRouteData["ROU_TYPE"] != "SEC-JOIN" && $arrayTaskData["TAS_TYPE"] == "GATEWAYTOGATEWAY") {
if ($arrayRouteData['ROU_TYPE'] != 'SEC-JOIN' && $arrayTaskData['TAS_TYPE'] == 'GATEWAYTOGATEWAY') {
$flagAddDelegation = true;
}
if($arrayRouteData['ROU_TYPE'] == 'SEC-JOIN'){
$aSecJoin[$count]['ROU_PREVIOUS_TASK'] = $arrayRouteData['ROU_NEXT_TASK'];
$aSecJoin[$count]['ROU_PREVIOUS_TYPE'] = 'SEC-JOIN';
$count++;
}
}
//In the 3.0.1.8 version the Secjoin does not have a rouCondition
if($arrayRouteData["ROU_NEXT_TASK"] !== '-1' && $arrayRouteData["ROU_TYPE"] === 'SEC-JOIN'){
$arrayTaskData = $task->load($arrayRouteData["ROU_NEXT_TASK"]);
$aSecJoin[$count]["ROU_PREVIOUS_TASK"] = $arrayRouteData["ROU_NEXT_TASK"];
$aSecJoin[$count]["ROU_PREVIOUS_TYPE"] = 'SEC-JOIN';
$count++;
if ($arrayRouteData['ROU_TYPE'] == 'EVALUATE' && !empty($arrayNextTask)) {
$flagAddDelegation = false;
}
if ($flagAddDelegation &&
@@ -1393,7 +1390,7 @@ class Derivation
} //end switch
if($iNewDelIndex !== 0 && !$sendNotificationsMobile){
$sendNotificationsMobile = $this->sendNotificationsMobile($appFields, $nextDel, $iNewDelIndex);
$sendNotificationsMobile = $this->sendNotificationsMobile($appFields, $nextDel, $iNewDelIndex);
}
return $iNewDelIndex;
}
@@ -1667,4 +1664,3 @@ class Derivation
}
}
}