/**
  * @return CArrayList
  */
 private static function getCacheWorks()
 {
     if (is_null(self::$_cacheWorks)) {
         self::$_cacheWorks = new CArrayList();
     }
     return self::$_cacheWorks;
 }
 public function execute($contextObject)
 {
     $result = array();
     $studyLoad = new CArrayList();
     $load = CIndPlanManager::getLoad(CRequest::getInt("planId"));
     $studyLoad = $load->getWorksByType(6);
     foreach ($studyLoad->getItems() as $row) {
         $dataRow = array();
         $dataRow[0] = count($result) + 1;
         $dataRow[1] = $row->change_section;
         $dataRow[2] = $row->change_reason;
         $dataRow[3] = "";
         $dataRow[4] = $row->change_add_date;
         $dataRow[5] = $row->isExecuted();
         $result[] = $dataRow;
     }
     for ($i = count($result); $i <= 7; $i++) {
         $row = array();
         for ($j = 0; $j <= 5; $j++) {
             $row[$j] = "";
         }
         $result[] = $row;
     }
     return $result;
 }
 public function execute($contextObject)
 {
     $result = array();
     $studyLoad = new CArrayList();
     $load = CIndPlanManager::getLoad(CRequest::getInt("planId"));
     $studyLoad = $load->getWorksByType(2);
     foreach ($studyLoad->getItems() as $row) {
         $dataRow = array();
         $dataRow[0] = count($result) + 1;
         $dataRow[1] = $row->getTitle();
         $dataRow[2] = $row->plan_amount;
         $dataRow[3] = $row->plan_expiration_date;
         $dataRow[4] = $row->plan_report_type;
         $dataRow[5] = $row->isExecuted();
         $dataRow[6] = $row->comment;
         $result[] = $dataRow;
     }
     for ($i = count($result); $i <= 7; $i++) {
         $row = array();
         for ($j = 0; $j <= 6; $j++) {
             $row[$j] = "";
         }
         $result[] = $row;
     }
     return $result;
 }
 public function execute($contextObject)
 {
     $result = array();
     $studyLoad = new CArrayList();
     $load = CIndPlanManager::getLoad(CRequest::getInt("planId"));
     $studyLoad = $load->getWorksByType(5);
     foreach ($studyLoad->getItems() as $row) {
         $dataRow = array();
         $dataRow[0] = $row->getTitle();
         $dataRow[1] = $row->paper_pages;
         $result[] = $dataRow;
     }
     return $result;
 }
 public function execute($contextObject)
 {
     $result = array();
     $studyLoad = new CArrayList();
     $load = CIndPlanManager::getLoad(CRequest::getInt("planId"));
     $studyLoad = $load->getWorksByType(4);
     foreach ($studyLoad->getItems() as $row) {
         $dataRow = array();
         $dataRow[0] = count($result) + 1;
         $dataRow[1] = $row->getTitle();
         $dataRow[2] = $row->plan_hours;
         $dataRow[3] = $row->plan_expiration_date;
         $dataRow[4] = $row->isExecuted();
         $dataRow[5] = $row->comment;
         $result[] = $dataRow;
     }
     return $result;
 }
 public function execute($contextObject)
 {
     $result = array();
     $load = CIndPlanManager::getLoad(CRequest::getInt("planId"));
     $studyLoad = $load->getStudyLoadTable();
     $table = $studyLoad->getTable(true);
     // это только весенний семестр семестр
     $preparedData = array();
     foreach ($table as $row) {
         if ($load->isSeparateContract()) {
             // если есть бюджет-контракт, то суммируем их
             $preparedRow = array();
             $preparedRow[0] = $row[0];
             for ($i = 1; $i <= 17; $i++) {
                 $preparedRow[$i] = $row[$i * 2] + $row[$i * 2 - 1];
             }
             $preparedData[] = $preparedRow;
         } else {
             // нет разделения на бюджет-контракт, копируем
             $preparedData[] = $row;
         }
     }
     // это описатель для весеннего семестра, вместо названия ставим номер
     foreach ($preparedData as $preparedRow) {
         $row = array();
         $fact = 0;
         foreach ($preparedRow as $index => $value) {
             if ($index == 0) {
                 $row[0] = count($result) + 1;
             }
             if ($index > 7) {
                 $row[] = $value;
                 // дублируем итого в факт
                 // убран факт из шаблона
                 /*if ($index == 15) {
                       $row[] = $value;
                   }*/
             }
         }
         $row[] = "";
         $result[] = $row;
     }
     return $result;
 }
 public function execute($contextObject)
 {
     $result = array();
     $load = CIndPlanManager::getLoad(CRequest::getInt("planId"));
     $studyLoad = $load->getStudyLoadTable();
     $table = $studyLoad->getTable(true);
     // это только осенний семестр
     $preparedData = array();
     foreach ($table as $row) {
         if ($load->isSeparateContract()) {
             // если есть бюджет-контракт, то суммируем их
             $preparedRow = array();
             $preparedRow[0] = $row[0];
             for ($i = 1; $i <= 17; $i++) {
                 $preparedRow[$i] = $row[$i * 2] + $row[$i * 2 - 1];
             }
             $preparedData[] = $preparedRow;
         } else {
             // нет разделения на бюджет-контракт, копируем
             $preparedData[] = $row;
         }
     }
     // это описатель для осеннего семестра, в убираем все столбцы
     // после 7. Жаль, что это не php 5.6, там можно было бы через array_filter
     // удобно в замыкании это сделать
     foreach ($preparedData as $preparedRow) {
         $row = array();
         $row[0] = count($result) + 1;
         // убран факт из шаблона
         //$fact = 0;
         foreach ($preparedRow as $index => $value) {
             if ($index <= 7) {
                 $row[] = $value;
                 /*if ($index > 1 && $index < 7) {
                       $fact += $value;
                   }*/
             }
         }
         //$row[8] = $fact;
         $result[] = $row;
     }
     return $result;
 }
 public function actionDelete()
 {
     $load = CIndPlanManager::getLoad(CRequest::getInt("id"));
     $person = $load->person;
     $year = $load->year_id;
     $load->remove();
     $this->redirect("?action=view&id=" . $person->getId() . "&year=" . $year);
 }
 public function actionGetDataForAutofill()
 {
     // получаем объект учебной нагрузки, который будем заполнять
     $load = CIndPlanManager::getLoad(CRequest::getInt("load_id"));
     $loadTable = $load->getStudyLoadTable();
     echo json_encode($loadTable->getAutoFillData(CRequest::getInt("type_1") == 1, CRequest::getInt("type_2") == 1, CRequest::getInt("type_3") == 1, CRequest::getInt("type_4") == 1, CRequest::getInt("filials") == 1));
 }
 public function actionDelete()
 {
     $work = CIndPlanManager::getWorktype(CRequest::getInt("id"));
     $work->remove();
     $this->redirect("worktypes.php?action=index");
 }