fix in derivation

This commit is contained in:
Ronald Q
2016-08-05 17:38:31 -04:00
parent 07dd7e58e8
commit 18ab7cd4d3
3 changed files with 11 additions and 8 deletions

View File

@@ -2249,6 +2249,7 @@ class wsBase
$oCase->setDelInitDate( $caseId, $delIndex );
$appFields = $oCase->loadCase( $caseId, $delIndex );
}
unset($appFields['APP_ROUTING_DATA']);
$appFields["APP_DATA"]["APPLICATION"] = $caseId;
@@ -2439,8 +2440,9 @@ class wsBase
//derivate case
$aCurrentDerivation = array ('APP_UID' => $caseId,'DEL_INDEX' => $delIndex,'APP_STATUS' => $sStatus,'TAS_UID' => $appdel['TAS_UID'],'ROU_TYPE' => $row[0]['ROU_TYPE']
);
$oDerivation->derivate( $aCurrentDerivation, $nextDelegations );
$oRoute = new \ProcessMaker\Core\RoutingScreen();
$nextTasks = $oRoute->mergeDataDerivation($nextDelegations, $oDerivation->prepareInformation($aData));
$oDerivation->derivate( $aCurrentDerivation, $nextTasks );
$appFields = $oCase->loadCase( $caseId );
//Execute triggers after derivation
@@ -2485,10 +2487,10 @@ class wsBase
$appFields['APP_DATA'] = $oPMScript->aFields;
//$appFields['APP_DATA']['APPLICATION'] = $caseId;
//$appFields = $oCase->loadCase($caseId);
unset($aFields['APP_STATUS']);
unset($aFields['APP_PROC_STATUS']);
unset($aFields['APP_PROC_CODE']);
unset($aFields['APP_PIN']);
unset($appFields['APP_STATUS']);
unset($appFields['APP_PROC_STATUS']);
unset($appFields['APP_PROC_CODE']);
unset($appFields['APP_PIN']);
$oCase->updateCase( $caseId, $appFields );
}
}

View File

@@ -451,6 +451,7 @@ class Light
$taskAss['delPriority'] = isset($aValues['NEXT_TASK']['DEL_PRIORITY'])?$aValues['NEXT_TASK']['DEL_PRIORITY']:"";
$taskAss['taskParent'] = $aValues['NEXT_TASK']['TAS_PARENT'];
$taskAss['taskMessage'] = $taskType?$taskMessage:"";
$taskAss['sourceUid'] = $aValues['SOURCE_UID'];
$users = array();
$users['userId'] = $derive[$sKey]['NEXT_TASK']['USER_ASSIGNED']['USR_UID'];
$users['userFullName'] = strip_tags($derive[$sKey]['NEXT_TASK']['USER_ASSIGNED']['USR_FULLNAME']);
@@ -468,6 +469,7 @@ class Light
$manual['delPriority'] = isset($aValues['NEXT_TASK']['DEL_PRIORITY'])?$aValues['NEXT_TASK']['DEL_PRIORITY']:"";
$manual['taskParent'] = $aValues['NEXT_TASK']['TAS_PARENT'];
$manual['taskMessage'] = $taskType?$taskMessage:"";
$manual['sourceUid'] = $aValues['SOURCE_UID'];
$Aux = array ();
foreach ($aValues['NEXT_TASK']['USER_ASSIGNED'] as $aUser) {
$Aux[$aUser['USR_UID']] = $aUser['USR_FULLNAME'];

View File

@@ -13,14 +13,13 @@ class RoutingScreen extends \Derivation
public function mergeDataDerivation($post, $prepareInformation)
{
$iPost = count($post);
$aDataMerged = array();
$flagJumpTask = false;
foreach ($prepareInformation as $key => $nextTask) {
$aDataMerged[$key] = $nextTask['NEXT_TASK'];
unset($aDataMerged[$key]['USER_ASSIGNED']);
$aDataMerged[$key]['DEL_PRIORITY'] = '';
for ($i = 1; $i <= $iPost; $i++) {
foreach ($post as $i => $item) {
if(isset($post[$i]['SOURCE_UID']) && ($nextTask['NEXT_TASK']['TAS_UID'] === $post[$i]['SOURCE_UID']) && ($post[$i]['SOURCE_UID'] !== $post[$i]['TAS_UID'])){
$flagJumpTask = true;
$aDataMerged[$key]['NEXT_ROUTING'][] = $post[$i];