BUG-10181 Modificando la clase Calendar.

Modificar las funciones de la clase Calendar para que ahora se realize el calculo de NewDate tomando en cuenta los weekends.
This commit is contained in:
jennylee
2013-11-27 17:22:13 -04:00
parent 1245dd6d3c
commit e2e56cc7d6
4 changed files with 30 additions and 17 deletions

View File

@@ -116,6 +116,7 @@ Bootstrap::registerClass('Holiday', PATH_HOME . "engine/classes/model
Bootstrap::registerClass('Task', PATH_HOME . "engine/classes/model/Task.php");
Bootstrap::registerClass('TaskPeer', PATH_HOME . "engine/classes/model/TaskPeer.php");
Bootstrap::registerClass('dates', PATH_HOME . "engine/classes/class.dates.php");
Bootstrap::registerClass('calendar', PATH_HOME . "engine/classes/class.calendar.php");
Bootstrap::registerClass('AppDelegation', PATH_HOME . "engine/classes/model/AppDelegation.php");
Bootstrap::registerClass('BaseAppDelegationPeer',PATH_HOME . "engine/classes/model/om/BaseAppDelegationPeer.php");
Bootstrap::registerClass('AppDelegationPeer', PATH_HOME . "engine/classes/model/AppDelegationPeer.php");

View File

@@ -299,8 +299,6 @@ class AppDelegation extends BaseAppDelegation
}
$iDueDate = $calendar->calculateDate( $this->getDelDelegateDate(), $aData['TAS_DURATION'], $aData['TAS_TIMEUNIT'] //hours or days, ( we only accept this two types or maybe weeks
//$aData['TAS_TYPE_DAY'], //working or calendar days
// $this->getUsrUid(), $task->getProUid(), $aData['TAS_UID'], $aCalendarUID
);
return $iDueDate;

View File

@@ -421,8 +421,8 @@ class Event extends BaseEvent
try {
$rowsCreated = 0;
$rowsRejected = 0;
G::LoadClass( 'dates' );
$oDates = new dates();
G::LoadClass( 'calendar' );
$oCalendar = new calendar();
//SELECT
// EVENT.PRO_UID,
@@ -504,15 +504,20 @@ class Event extends BaseEvent
$when = (float) $aData['EVN_WHEN'];
$whenOccurs = $aData['EVN_WHEN_OCCURS'];
if ($oCalendar->pmCalendarUid == '') {
$oCalendar->getCalendar(null, $aData['PRO_UID'], $aData['TAS_UID']);
$oCalendar->getCalendarData();
}
if ($whenOccurs == 'AFTER_TIME') {
//for multiple $sDueDate = date('Y-m-d H:i:s', $oDates->calculateDate($aData['DEL_DELEGATE_DATE'], $estimatedDuration, 'days', 1));
$sDueDate = $aData['DEL_TASK_DUE_DATE'];
$calculatedDueDateA = $oDates->calculateDate( $sDueDate, $when, 'days', 1 );
$calculatedDueDateA = $oCalendar->calculateDate( $sDueDate, $when, 'days' );
$sActionDate = date( 'Y-m-d H:i:s', $calculatedDueDateA['DUE_DATE_SECONDS'] );
$validStartDate = ($sActionDate >= $aData['DEL_DELEGATE_DATE']);
} else {
$sDueDate = $aData['DEL_DELEGATE_DATE'];
$calculatedDueDateA = $oDates->calculateDate( $sDueDate, $when, 'days', 1 );
$calculatedDueDateA = $oCalendar->calculateDate( $sDueDate, $when, 'days' );
$sActionDate = date( 'Y-m-d H:i:s', $calculatedDueDateA['DUE_DATE_SECONDS'] );
$validStartDate = ($sActionDate >= $aData['DEL_DELEGATE_DATE']);
}
@@ -542,8 +547,8 @@ class Event extends BaseEvent
try {
$rowsCreated = 0;
$rowsRejected = 0;
G::LoadClass( 'dates' );
$oDates = new dates();
G::LoadClass( 'calendar' );
$oCalendar = new calendar();
// SELECT TASK2.* ,
// EVENT.EVN_UID, EVENT.PRO_UID, EVENT.EVN_TAS_UID_FROM,
// EVENT.EVN_TAS_ESTIMATED_DURATION, EVENT.EVN_WHEN,
@@ -615,15 +620,20 @@ class Event extends BaseEvent
$when = (float) $aData['EVN_WHEN'];
$whenOccurs = $aData['EVN_WHEN_OCCURS'];
if ($oCalendar->pmCalendarUid == '') {
$oCalendar->getCalendar(null, $aData['PRO_UID'], $aData['TAS_UID']);
$oCalendar->getCalendarData();
}
if ($whenOccurs == 'AFTER_TIME') {
//for multiple $sDueDate = date('Y-m-d H:i:s', $oDates->calculateDate($aData['DEL_DELEGATE_DATE'], $estimatedDuration, 'days', 1));
$sDueDate = $aData['DEL_TASK_DUE_DATE'];
$calculatedDueDateA = $oDates->calculateDate( $sDueDate, $when, 'days', 1 );
$calculatedDueDateA = $oCalendar->calculateDate( $sDueDate, $when, 'days' );
$sActionDate = date( 'Y-m-d H:i:s', $calculatedDueDateA['DUE_DATE_SECONDS'] );
$validStartDate = ($sActionDate >= $aData['DEL_DELEGATE_DATE']);
} else {
$sDueDate = $aData['DEL_DELEGATE_DATE'];
$calculatedDueDateA = $oDates->calculateDate( $sDueDate, $when, 'days', 1 );
$calculatedDueDateA = $oCalendar->calculateDate( $sDueDate, $when, 'days' );
$sActionDate = date( 'Y-m-d H:i:s', $calculatedDueDateA['DUE_DATE_SECONDS'] );
$validStartDate = ($sActionDate >= $aData['DEL_DELEGATE_DATE']);
}
@@ -861,8 +871,8 @@ class Event extends BaseEvent
public function toCalculateTime ($aData, $iDate = null)
{
G::LoadClass( 'dates' );
$oDates = new dates();
G::LoadClass( 'calendar' );
$oCalendar = new calendar();
$iDate = isset( $iDate ) ? $iDate : date( 'Y-m-d H:i:s' );
@@ -870,14 +880,18 @@ class Event extends BaseEvent
$when = $aData['EVN_WHEN']; //how many days
$whenOccurs = $aData['EVN_WHEN_OCCURS']; //time on action (AFTER_TIME/TASK_STARTED)
if ($oCalendar->pmCalendarUid == '') {
$oCalendar->getCalendar(null, $aData['PRO_UID'], $aData['TAS_UID']);
$oCalendar->getCalendarData();
}
if ($whenOccurs == 'TASK_STARTED') {
$calculatedDueDateA = $oDates->calculateDate( $iDate, $when, 'days', 1 );
$calculatedDueDateA = $oCalendar->calculateDate( $iDate, $when, 'days' );
$sActionDate = date( 'Y-m-d H:i:s', $calculatedDueDateA['DUE_DATE_SECONDS'] );
} else {
$calculatedDueDateA = $oDates->calculateDate( $iDate, $estimatedDuration + $when, 'days', 1 );
$calculatedDueDateA = $oCalendar->calculateDate( $iDate, $estimatedDuration + $when, 'days' );
$sActionDate = date( 'Y-m-d H:i:s', $calculatedDueDateA['DUE_DATE_SECONDS'] );
}

View File

@@ -174,11 +174,11 @@ class UsersProperties extends BaseUsersProperties
}
}
if (PPP_EXPIRATION_IN > 0) {
G::LoadClass( 'dates' );
G::LoadClass( 'calendar' );
$oCalendar = new calendar();
if ($calendar->pmCalendarUid == '') {
$calendar->getCalendar($this->usrID);
$calendar->pmCalendarUid = '00000000000000000000000000000001';
$calendar->getCalendarData();
}