HOR-1501 Crear el método recursivo para encontrar la siguiente tarea con usuarios asignados después de un intermediase event
up observations fix in type function return source_uid
This commit is contained in:
@@ -50,6 +50,28 @@ class Derivation
|
||||
var $case;
|
||||
protected $flagControl;
|
||||
protected $flagControlMulInstance;
|
||||
private $regexpTaskTypeToInclude;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->setRegexpTaskTypeToInclude("GATEWAYTOGATEWAY|END-MESSAGE-EVENT|END-EMAIL-EVENT");
|
||||
}
|
||||
|
||||
/**
|
||||
* @return mixed
|
||||
*/
|
||||
public function getRegexpTaskTypeToInclude()
|
||||
{
|
||||
return $this->regexpTaskTypeToInclude;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $regexpTaskTypeToInclude
|
||||
*/
|
||||
public function setRegexpTaskTypeToInclude($regexpTaskTypeToInclude)
|
||||
{
|
||||
$this->regexpTaskTypeToInclude = $regexpTaskTypeToInclude;
|
||||
}
|
||||
|
||||
/**
|
||||
* prepareInformationTask
|
||||
@@ -240,15 +262,15 @@ class Derivation
|
||||
foreach ($arrayNextTaskBackup as $value) {
|
||||
$arrayNextTaskData = $value;
|
||||
|
||||
$regexpTaskTypeToInclude = "GATEWAYTOGATEWAY|END-MESSAGE-EVENT|END-EMAIL-EVENT";
|
||||
|
||||
if ($arrayNextTaskData["NEXT_TASK"]["TAS_UID"] != "-1" &&
|
||||
preg_match("/^(?:" . $regexpTaskTypeToInclude . ")$/", $arrayNextTaskData["NEXT_TASK"]["TAS_TYPE"])
|
||||
preg_match("/^(?:" . $this->regexpTaskTypeToInclude . ")$/", $arrayNextTaskData["NEXT_TASK"]["TAS_TYPE"])
|
||||
) {
|
||||
$arrayAux = $this->prepareInformation($arrayData, $arrayNextTaskData["NEXT_TASK"]["TAS_UID"]);
|
||||
|
||||
foreach ($arrayAux as $value2) {
|
||||
$arrayNextTask[++$i] = $value2;
|
||||
$key = ++$i;
|
||||
$arrayNextTask[$key] = $value2;
|
||||
$arrayNextTask[$key]['SOURCE_UID'] = $value['ROU_NEXT_TASK'];
|
||||
foreach($aSecJoin as $rsj){
|
||||
$arrayNextTask[$i]["NEXT_TASK"]["ROU_PREVIOUS_TASK"] = $rsj["ROU_PREVIOUS_TASK"];
|
||||
$arrayNextTask[$i]["NEXT_TASK"]["ROU_PREVIOUS_TYPE"] = "SEC-JOIN";
|
||||
@@ -262,7 +284,7 @@ class Derivation
|
||||
) {
|
||||
$arrayNextTaskData["NEXT_TASK"]["TAS_UID"] = $arrayNextTaskData["TAS_UID"] . "/" . $arrayNextTaskData["NEXT_TASK"]["TAS_UID"];
|
||||
}
|
||||
|
||||
$arrayNextTaskData['SOURCE_UID'] = $value['ROU_NEXT_TASK'];
|
||||
$arrayNextTask[++$i] = $arrayNextTaskData;
|
||||
foreach($aSecJoin as $rsj){
|
||||
$arrayNextTask[$i]["NEXT_TASK"]["ROU_PREVIOUS_TASK"] = $rsj["ROU_PREVIOUS_TASK"];
|
||||
|
||||
@@ -368,7 +368,7 @@ class PMScript
|
||||
/**
|
||||
* Evaluate the current script
|
||||
*
|
||||
* @return void
|
||||
* @return bool
|
||||
*/
|
||||
public function evaluate ()
|
||||
{
|
||||
|
||||
@@ -798,8 +798,13 @@ try {
|
||||
$aFields['TAS_TYPE_DAY'] = G::LoadTranslation( 'ID_COUNT_DAYS' );
|
||||
$aFields['TAS_CALENDAR'] = G::LoadTranslation( 'ID_CALENDAR' );
|
||||
|
||||
$aFields['TASK'] = $oDerivation->prepareInformation( array ('USER_UID' => $_SESSION['USER_LOGGED'],'APP_UID' => $_SESSION['APPLICATION'],'DEL_INDEX' => $_SESSION['INDEX']
|
||||
) );
|
||||
$oRoute = new \ProcessMaker\Core\RoutingScreen();
|
||||
$arrayData = array(
|
||||
'USER_UID' => $_SESSION['USER_LOGGED'],
|
||||
'APP_UID' => $_SESSION['APPLICATION'],
|
||||
'DEL_INDEX' => $_SESSION['INDEX']
|
||||
);
|
||||
$aFields['TASK'] = $oRoute->prepareInformation($arrayData);
|
||||
|
||||
if (empty( $aFields['TASK'] )) {
|
||||
throw (new Exception( G::LoadTranslation( 'ID_NO_DERIVATION_RULE' ) ));
|
||||
|
||||
14
workflow/engine/src/ProcessMaker/Core/RoutingScreen.php
Normal file
14
workflow/engine/src/ProcessMaker/Core/RoutingScreen.php
Normal file
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
namespace ProcessMaker\Core;
|
||||
|
||||
|
||||
class RoutingScreen extends \Derivation
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->setRegexpTaskTypeToInclude("GATEWAYTOGATEWAY|END-MESSAGE-EVENT|END-EMAIL-EVENT|SCRIPT-TASK|INTERMEDIATE-CATCH-TIMER-EVENT|INTERMEDIATE-THROW-EMAIL-EVENT");
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user