Пример #1
0
 public function testGetSetDuration()
 {
     $object = new Task();
     $value = rand(1, 100);
     $this->assertEquals(0, $object->getDuration());
     $this->assertInstanceOf('PhpOffice\\PhpProject\\Task', $object->setDuration($value));
     $this->assertEquals($value, $object->getDuration());
 }
Пример #2
0
 /**
  * Permits to clean a task
  * - If the duration is not filled, but the end date is, we calculate it.
  * - If the end date is not filled, but the duration is, we calculate it.
  * @param PHPProject_Task $oTask
  */
 private function sanitizeTask(Task $oTask)
 {
     $pDuration = $oTask->getDuration();
     $pEndDate = $oTask->getEndDate();
     $pStartDate = $oTask->getStartDate();
     if (is_null($pDuration) && !is_null($pEndDate)) {
         $iTimeDiff = $pEndDate - $pStartDate;
         $iNumDays = $iTimeDiff / 60 / 60 / 24;
         $oTask->setDuration($iNumDays + 1);
     } elseif (!is_null($pDuration) && is_null($pEndDate)) {
         $oTask->setEndDate($pStartDate + $pDuration * 24 * 60 * 60);
     }
 }
Пример #3
0
 /**
  * Record "Task"
  * @param Task $oTask
  */
 private function writeRecord70(Task $oTask)
 {
     $this->fileContent[] = '70;' . $oTask->getIndex() . ';' . $oTask->getName() . ';' . $oTask->getDuration() . 'd;' . number_format($oTask->getProgress(), 1) . ';' . date('d/m/Y', $oTask->getStartDate());
     foreach ($oTask->getResources() as $oResource) {
         $this->writeRecord75($oResource);
     }
     foreach ($oTask->getTasks() as $oSubTask) {
         $this->writeRecord70($oSubTask);
     }
 }