PM-3083 "PM-3083 and PM-3046" SOLVED
Issue:
- PM-3083: La funcionalidad cambiar tipo de gateway desde el diseñr no funciona
- PM-3046: DesignerBPMN>Conexiones Gateway to Gateway muestran error al ejecutar un caso
Cause:
En PM-3083 y PM-3046 los gateway-joins (converging) PARALLEL e INCLUSIVE no son actualizados
correctamente en Back-end
Solution:
- Se define el gateway de tipo converging para PARALLEL e INCLUSIVE cuando
uno o mas flows ingresan al geteway, esto en Back-end
- Se mejoro la verificacion de hilos abiertos al derivar un caso, esto en Running-case
This commit is contained in:
@@ -576,7 +576,7 @@ class Derivation
|
||||
* @param array $nextDelegations
|
||||
* @return void
|
||||
*/
|
||||
function derivate ($currentDelegation = array(), $nextDelegations = array(), $removeList = true)
|
||||
function derivate($currentDelegation = array(), $nextDelegations = array(), $removeList = true)
|
||||
{
|
||||
//define this...
|
||||
if (! defined( 'TASK_FINISH_PROCESS' )) {
|
||||
@@ -704,20 +704,10 @@ class Derivation
|
||||
}
|
||||
break;
|
||||
default:
|
||||
if ($currentDelegation['ROU_TYPE'] == 'SEC-JOIN') {
|
||||
$siblingThreads = $this->case->getOpenSiblingThreads( $nextDel['TAS_UID'], $currentDelegation['APP_UID'], $currentDelegation['DEL_INDEX'], $currentDelegation['TAS_UID'], $currentDelegation['ROU_TYPE'] );
|
||||
$canDerivate = count( $siblingThreads ) == 0;
|
||||
} elseif ($currentDelegation['ROU_TYPE'] == 'DISCRIMINATOR') {
|
||||
//First get the total threads of Next Task where route type='Discriminator'
|
||||
$siblingThreads = $this->case->getOpenSiblingThreads( $nextDel['TAS_UID'], $currentDelegation['APP_UID'], $currentDelegation['DEL_INDEX'], $currentDelegation['TAS_UID'], $currentDelegation['ROU_TYPE'] );
|
||||
$siblingThreadsCount = count( $siblingThreads );
|
||||
$discriminateThread = $currentDelegation['ROU_CONDITION'];
|
||||
//$checkThread = count($totalThreads) - $cond;
|
||||
if ($discriminateThread == $siblingThreadsCount) {
|
||||
$canDerivate = true;
|
||||
} else {
|
||||
$canDerivate = false;
|
||||
}
|
||||
if ($currentDelegation["ROU_TYPE"] == "SEC-JOIN") {
|
||||
$siblingThreads = $this->case->getOpenSiblingThreads($nextDel["TAS_UID"], $currentDelegation["APP_UID"], $currentDelegation["DEL_INDEX"], $currentDelegation["TAS_UID"]);
|
||||
|
||||
$canDerivate = empty($siblingThreads);
|
||||
} else {
|
||||
$canDerivate = true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user