Correction for many target delegations
This commit is contained in:
@@ -12,6 +12,7 @@ use G;
|
|||||||
use ElementTaskRelationPeer;
|
use ElementTaskRelationPeer;
|
||||||
use BpmnEventPeer;
|
use BpmnEventPeer;
|
||||||
use ResultSet;
|
use ResultSet;
|
||||||
|
use PMScript;
|
||||||
|
|
||||||
class RoutingScreen extends \Derivation
|
class RoutingScreen extends \Derivation
|
||||||
{
|
{
|
||||||
@@ -274,17 +275,22 @@ class RoutingScreen extends \Derivation
|
|||||||
$arrayAux = $this->prepareInformationForRoutingScreen($arrayData, $arrayNextTaskData["NEXT_TASK"]["TAS_UID"]);
|
$arrayAux = $this->prepareInformationForRoutingScreen($arrayData, $arrayNextTaskData["NEXT_TASK"]["TAS_UID"]);
|
||||||
$this->node[$value['ROU_NEXT_TASK']]['in'][$value['TAS_UID']] = $value['ROU_TYPE'];
|
$this->node[$value['ROU_NEXT_TASK']]['in'][$value['TAS_UID']] = $value['ROU_TYPE'];
|
||||||
$notShowNextTaskWhenJoinOf = "INTERMEDIATE-THROW-MESSAGE-EVENT|INTERMEDIATE-CATCH-MESSAGE-EVENT|SCRIPT-TASK|INTERMEDIATE-CATCH-TIMER-EVENT|INTERMEDIATE-THROW-EMAIL-EVENT";
|
$notShowNextTaskWhenJoinOf = "INTERMEDIATE-THROW-MESSAGE-EVENT|INTERMEDIATE-CATCH-MESSAGE-EVENT|SCRIPT-TASK|INTERMEDIATE-CATCH-TIMER-EVENT|INTERMEDIATE-THROW-EMAIL-EVENT";
|
||||||
if (array_key_exists('INTERMEDIATE-THROW-EMAIL-EVENT', $arrayAux) && array_key_exists('ROU_TYPE', $arrayAux) &&
|
|
||||||
preg_match("/^(?:" . $notShowNextTaskWhenJoinOf . ")$/", $arrayAux["TAS_TYPE"]) &&
|
foreach ($arrayAux as $value2) {
|
||||||
$arrayAux['ROU_TYPE'] === 'SEC-JOIN') {
|
|
||||||
foreach ($arrayAux as $value2) {
|
//@TODO move this logic to the prepareInformation of the Derivation class
|
||||||
|
$intermediateEventAndJoinPresent = (array_key_exists('TAS_TYPE', $value2)
|
||||||
|
&& array_key_exists('ROU_TYPE', $value2)
|
||||||
|
&& preg_match("/^(?:" . $notShowNextTaskWhenJoinOf . ")$/", $value2["TAS_TYPE"])
|
||||||
|
&& $value2['ROU_TYPE'] === 'SEC-JOIN');
|
||||||
|
if (!$intermediateEventAndJoinPresent) {
|
||||||
$key = ++$i;
|
$key = ++$i;
|
||||||
$arrayNextTask[$key] = $value2;
|
$arrayNextTask[$key] = $value2;
|
||||||
$prefix = substr($value['ROU_NEXT_TASK'], 0, 4);
|
$prefix = substr($value['ROU_NEXT_TASK'], 0, 4);
|
||||||
if($prefix!=='gtg-'){
|
if ($prefix!=='gtg-') {
|
||||||
$arrayNextTask[$key]['SOURCE_UID'] = $value['ROU_NEXT_TASK'];
|
$arrayNextTask[$key]['SOURCE_UID'] = $value['ROU_NEXT_TASK'];
|
||||||
}
|
}
|
||||||
foreach($aSecJoin as $rsj){
|
foreach ($aSecJoin as $rsj) {
|
||||||
$arrayNextTask[$i]["NEXT_TASK"]["ROU_PREVIOUS_TASK"] = $rsj["ROU_PREVIOUS_TASK"];
|
$arrayNextTask[$i]["NEXT_TASK"]["ROU_PREVIOUS_TASK"] = $rsj["ROU_PREVIOUS_TASK"];
|
||||||
$arrayNextTask[$i]["NEXT_TASK"]["ROU_PREVIOUS_TYPE"] = "SEC-JOIN";
|
$arrayNextTask[$i]["NEXT_TASK"]["ROU_PREVIOUS_TYPE"] = "SEC-JOIN";
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user