Merged in marcoAntonioNina/processmaker/dashboards2 (pull request #2022)
NDD-51 Cálculo del DEL_RISK es erroneo
This commit is contained in:
@@ -752,14 +752,19 @@ class Derivation
|
||||
//$appFields['APP_PROC_CODE'] = $nextDel['TAS_DEF_PROC_CODE'];
|
||||
/*----------------------------------********---------------------------------*/
|
||||
if ($nextDel['TAS_UID'] != '-1') {
|
||||
$taskCur = TaskPeer::retrieveByPK($nextDel['TAS_UID']);
|
||||
$aTask = $taskCur->toArray( BasePeer::TYPE_FIELDNAME );
|
||||
$taskNex = TaskPeer::retrieveByPK($nextDel['TAS_UID']);
|
||||
$aTask = $taskNex->toArray( BasePeer::TYPE_FIELDNAME );
|
||||
$arrayTaskTypeToExclude = array("WEBENTRYEVENT", "END-MESSAGE-EVENT", "START-MESSAGE-EVENT", "INTERMEDIATE-THROW-MESSAGE-EVENT", "INTERMEDIATE-CATCH-MESSAGE-EVENT");
|
||||
if (!in_array($aTask['TAS_TYPE'], $arrayTaskTypeToExclude)) {
|
||||
if (!empty($iNewDelIndex) && empty($aSP)) {
|
||||
$oAppDel = AppDelegationPeer::retrieveByPK( $appFields['APP_UID'], $iNewDelIndex );
|
||||
$aFields = $oAppDel->toArray( BasePeer::TYPE_FIELDNAME );
|
||||
$aFields['APP_STATUS'] = $currentDelegation['APP_STATUS'];
|
||||
$taskCur = TaskPeer::retrieveByPK($currentDelegation['TAS_UID']);
|
||||
$aTaskCur = $taskCur->toArray( BasePeer::TYPE_FIELDNAME );
|
||||
if ($aTaskCur['TAS_TYPE'] == "INTERMEDIATE-CATCH-MESSAGE-EVENT") {
|
||||
$removeList = false;
|
||||
}
|
||||
$aFields['REMOVED_LIST'] = $removeList;
|
||||
$inbox = new ListInbox();
|
||||
$inbox->newRow($aFields, $appFields['CURRENT_USER_UID'], false, array(), ($nextDel['TAS_ASSIGN_TYPE'] == 'SELF_SERVICE' ? true : false));
|
||||
|
||||
@@ -133,7 +133,7 @@ class AppDelegation extends BaseAppDelegation
|
||||
|
||||
//The function return an array now. By JHL
|
||||
$delTaskDueDate = $this->calculateDueDate($sNextTasParam);
|
||||
$delRiskDate = $this->calculateRiskDate($delTaskDueDate, $this->getRisk());
|
||||
$delRiskDate = $this->calculateRiskDate($sNextTasParam, $this->getRisk());
|
||||
|
||||
//$this->setDelTaskDueDate( $delTaskDueDate['DUE_DATE'] ); // Due date formatted
|
||||
$this->setDelTaskDueDate($delTaskDueDate);
|
||||
@@ -379,8 +379,18 @@ class AppDelegation extends BaseAppDelegation
|
||||
public function calculateRiskDate($dueDate, $risk)
|
||||
{
|
||||
try {
|
||||
$riskTime = strtotime($dueDate) - strtotime($this->getDelDelegateDate()); //Seconds
|
||||
$riskTime = $riskTime - ($riskTime * $risk);
|
||||
|
||||
$data = array();
|
||||
if (isset( $sNextTasParam['NEXT_TASK']['TAS_TRANSFER_HIDDEN_FLY'] ) && $sNextTasParam['NEXT_TASK']['TAS_TRANSFER_HIDDEN_FLY'] == 'true') {
|
||||
$data['TAS_DURATION'] = $sNextTasParam['NEXT_TASK']['TAS_DURATION'];
|
||||
$data['TAS_TIMEUNIT'] = $sNextTasParam['NEXT_TASK']['TAS_TIMEUNIT'];
|
||||
} else {
|
||||
$task = TaskPeer::retrieveByPK( $this->getTasUid() );
|
||||
$data['TAS_DURATION'] = $task->getTasDuration();
|
||||
$data['TAS_TIMEUNIT'] = $task->getTasTimeUnit();
|
||||
}
|
||||
|
||||
$riskTime = $data['TAS_DURATION'] - ($data['TAS_DURATION'] * $risk);
|
||||
|
||||
//Calendar - Use the dates class to calculate dates
|
||||
$calendar = new calendar();
|
||||
@@ -394,9 +404,8 @@ class AppDelegation extends BaseAppDelegation
|
||||
}
|
||||
|
||||
//Risk date
|
||||
$riskDate = $calendar->dashCalculateDate($this->getDelDelegateDate(), round($riskTime / (60 * 60)), "HOURS", $arrayCalendarData);
|
||||
$riskDate = $calendar->dashCalculateDate($this->getDelDelegateDate(), round($riskTime), $data['TAS_TIMEUNIT'], $arrayCalendarData);
|
||||
|
||||
//Return
|
||||
return $riskDate;
|
||||
} catch (Exception $e) {
|
||||
throw $e;
|
||||
|
||||
Reference in New Issue
Block a user