Se adicion la correccion para PARALELOS y SUBPROCESS

This commit is contained in:
Brayan Pereyra
2015-03-27 14:24:56 -04:00
parent 6c3a728dc2
commit 0898b8cc9b
2 changed files with 38 additions and 21 deletions

View File

@@ -746,31 +746,45 @@ class Derivation
} //switch } //switch
} }
} }
//SETS THE APP_PROC_CODE //SETS THE APP_PROC_CODE
//if (isset($nextDel['TAS_DEF_PROC_CODE'])) //if (isset($nextDel['TAS_DEF_PROC_CODE']))
//$appFields['APP_PROC_CODE'] = $nextDel['TAS_DEF_PROC_CODE']; //$appFields['APP_PROC_CODE'] = $nextDel['TAS_DEF_PROC_CODE'];
/*----------------------------------********---------------------------------*/ /*----------------------------------********---------------------------------*/
$taskCur = TaskPeer::retrieveByPK( $nextDel['TAS_UID']); if ($nextDel['TAS_UID'] != '-1') {
$aTask = $taskCur->toArray( BasePeer::TYPE_FIELDNAME ); $taskCur = TaskPeer::retrieveByPK($nextDel['TAS_UID']);
$arrayTaskTypeToExclude = array("WEBENTRYEVENT", "END-MESSAGE-EVENT", "START-MESSAGE-EVENT", "INTERMEDIATE-THROW-MESSAGE-EVENT", "INTERMEDIATE-CATCH-MESSAGE-EVENT"); $aTask = $taskCur->toArray( BasePeer::TYPE_FIELDNAME );
if (!in_array($aTask['TAS_TYPE'], $arrayTaskTypeToExclude)) { $arrayTaskTypeToExclude = array("WEBENTRYEVENT", "END-MESSAGE-EVENT", "START-MESSAGE-EVENT", "INTERMEDIATE-THROW-MESSAGE-EVENT", "INTERMEDIATE-CATCH-MESSAGE-EVENT");
if (!empty($iNewDelIndex) && empty($aSP)) { if (!in_array($aTask['TAS_TYPE'], $arrayTaskTypeToExclude)) {
$oAppDel = AppDelegationPeer::retrieveByPK( $appFields['APP_UID'], $iNewDelIndex ); if (!empty($iNewDelIndex) && empty($aSP)) {
$aFields = $oAppDel->toArray( BasePeer::TYPE_FIELDNAME ); $oAppDel = AppDelegationPeer::retrieveByPK( $appFields['APP_UID'], $iNewDelIndex );
$aFields['APP_STATUS'] = $currentDelegation['APP_STATUS']; $aFields = $oAppDel->toArray( BasePeer::TYPE_FIELDNAME );
$aFields['REMOVED_LIST'] = $removeList; $aFields['APP_STATUS'] = $currentDelegation['APP_STATUS'];
$inbox = new ListInbox(); $aFields['REMOVED_LIST'] = $removeList;
$inbox->newRow($aFields, $appFields['CURRENT_USER_UID'], false, array(), ($nextDel['TAS_ASSIGN_TYPE'] == 'SELF_SERVICE' ? true : false)); $inbox = new ListInbox();
$removeList = false; $inbox->newRow($aFields, $appFields['CURRENT_USER_UID'], false, array(), ($nextDel['TAS_ASSIGN_TYPE'] == 'SELF_SERVICE' ? true : false));
} $removeList = false;
} else { } else {
$oRow = ApplicationPeer::retrieveByPK($appFields['APP_UID']); if (empty($aSP)) {
$aFields = $oRow->toArray( BasePeer::TYPE_FIELDNAME ); $oRow = ApplicationPeer::retrieveByPK($appFields['APP_UID']);
$users = new Users(); $aFields = $oRow->toArray( BasePeer::TYPE_FIELDNAME );
if ($aFields['APP_STATUS'] == 'DRAFT') { $users = new Users();
$users->refreshTotal($appFields['CURRENT_USER_UID'], 'remove', 'draft'); if ($aFields['APP_STATUS'] == 'DRAFT') {
$users->refreshTotal($appFields['CURRENT_USER_UID'], 'remove', 'draft');
} else {
$users->refreshTotal($appFields['CURRENT_USER_UID'], 'remove', 'inbox');
}
}
}
} else { } else {
$users->refreshTotal($appFields['CURRENT_USER_UID'], 'remove', 'inbox'); $oRow = ApplicationPeer::retrieveByPK($appFields['APP_UID']);
$aFields = $oRow->toArray( BasePeer::TYPE_FIELDNAME );
$users = new Users();
if ($aFields['APP_STATUS'] == 'DRAFT') {
$users->refreshTotal($appFields['CURRENT_USER_UID'], 'remove', 'draft');
} else {
$users->refreshTotal($appFields['CURRENT_USER_UID'], 'remove', 'inbox');
}
} }
} }
/*----------------------------------********---------------------------------*/ /*----------------------------------********---------------------------------*/

View File

@@ -123,7 +123,10 @@ class ListMyInbox extends BaseListMyInbox
if ($data['DEL_INDEX'] == 1 && $data['APP_STATUS'] == 'TO_DO') { if ($data['DEL_INDEX'] == 1 && $data['APP_STATUS'] == 'TO_DO') {
$data['APP_CREATE_DATE'] = $data['APP_UPDATE_DATE']; $data['APP_CREATE_DATE'] = $data['APP_UPDATE_DATE'];
$this->remove($data['APP_UID'], $data['USR_UID']); $oCriteria = new Criteria('workflow');
$oCriteria->add(ListMyInboxPeer::APP_UID, $data['APP_UID']);
$oCriteria->add(ListMyInboxPeer::USR_UID, $data['USR_UID']);
ListMyInboxPeer::doDelete($oCriteria);
$this->create($data); $this->create($data);
} else { } else {
unset($data['USR_UID']); unset($data['USR_UID']);