This commit is contained in:
Paula Quispe
2017-03-22 20:52:26 -04:00
parent 3ebf5eea42
commit ab35a1544b
2 changed files with 21 additions and 2 deletions

View File

@@ -1068,7 +1068,23 @@ class Derivation
switch ($routeType) {
case "SEC-JOIN":
$arrayOpenThread = ($flagTaskIsMultipleInstance && $flagTaskAssignTypeIsMultipleInstance)? $this->case->searchOpenPreviousTasks($currentDelegation["TAS_UID"], $currentDelegation["APP_UID"]) : array();
$arraySiblings = $this->case->getOpenSiblingThreads($nextDel["TAS_UID"], $currentDelegation["APP_UID"], $currentDelegation["DEL_INDEX"], $currentDelegation["TAS_UID"]);
if ($flagTaskIsMultipleInstance && $flagTaskAssignTypeIsMultipleInstance && $nextDel["ROU_PREVIOUS_TYPE"] == 'SEC-JOIN') {
$appDelegation = new AppDelegation();
$arraySiblings = $appDelegation->getAllTasksBeforeSecJoin(
$nextDel["ROU_PREVIOUS_TASK"],
$currentDelegation["APP_UID"],
$appFields['DEL_PREVIOUS'],
'OPEN'
);
} else {
$arraySiblings = $this->case->getOpenSiblingThreads(
$nextDel["TAS_UID"],
$currentDelegation["APP_UID"],
$currentDelegation["DEL_INDEX"],
$currentDelegation["TAS_UID"]
);
}
if(is_array($arrayOpenThread) && is_array($arraySiblings)){
$arrayOpenThread = array_merge($arrayOpenThread, $arraySiblings);
}

View File

@@ -851,7 +851,7 @@ class AppDelegation extends BaseAppDelegation
* @param string $sAppUid
* @return array $index
*/
public static function getAllTasksBeforeSecJoin($nextTaskUid, $sAppUid, $sDelPrevious){
public static function getAllTasksBeforeSecJoin($nextTaskUid, $sAppUid, $sDelPrevious, $threadStatus = ''){
$criteriaR = new Criteria('workflow');
$criteriaR->addSelectColumn(AppDelegationPeer::DEL_INDEX);
$criteriaR->addSelectColumn(AppDelegationPeer::DEL_PREVIOUS);
@@ -860,6 +860,9 @@ class AppDelegation extends BaseAppDelegation
$criteriaR->add(RoutePeer::ROU_TYPE, 'SEC-JOIN', Criteria::EQUAL);
$criteriaR->add(AppDelegationPeer::APP_UID, $sAppUid, Criteria::EQUAL);
$criteriaR->add(AppDelegationPeer::DEL_PREVIOUS, $sDelPrevious, Criteria::EQUAL);
if (!empty($threadStatus)) {
$criteriaR->add(AppDelegationPeer::DEL_THREAD_STATUS, $threadStatus, Criteria::EQUAL);
}
$rsCriteriaR = RoutePeer::doSelectRS($criteriaR);
$rsCriteriaR->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$index = array();