Something went wrong on our end
Select Git revision
FinalReport.php
Forked from
it-lab / grade
Source project has a limited visibility.
-
Anton Bagliy authored
ADD: popups on final form export, FIX: wrong study plans from leave, FIX: exam attempt order in form #284
Anton Bagliy authoredADD: popups on final form export, FIX: wrong study plans from leave, FIX: exam attempt order in form #284
FinalReport.php 2.43 KiB
<?php
class Controller_Api_V0_FinalReport extends Controller_Handler_Api {
public function action_get_index() {
try {
// Получаем год и номер семестра из query запроса
$year = $this->request->query('year');
$num = $this->request->query('num');
$plan = $this->request->query('plan');
$discipline = $this->request->query('discipline');
$groupnum = $this->request->query('groupnum');
$gradenum = $this->request->query('gradenum');
$faculty = $this->request->query('faculty');
$study_form = $this->request->query('study_form');
$emulate = $this->request->query('emulate');
// Получаем ведомость из БД
if (isset($discipline) and !isset($groupnum)) {
$finalReport = Model_FinalReport::getBySemesterYearNumDiscipline($year, $num, $discipline);
} elseif (!isset($discipline)) {
$finalReport = Model_FinalReport::getBySemesterYearNumPlan($year, $num, $plan);
} else {
$finalReport = Model_FinalReport::getBySemesterYearNumDisciplineGroup($year, $num, $discipline, $groupnum, $gradenum, $faculty, $study_form);
}
$response = [];
/** @var Model_FinalReportItem $row */
foreach ($finalReport as $row) {
$response[$row->PlanExternalID][$row->SubjectExternalID]['type'] = $row->ExamType;
$response[$row->PlanExternalID][$row->SubjectExternalID]['students'][$row->RecordBookExternalID] = [
'semester' => $row->SemesterRate,
'exam' => [$row->ExamRate, $row->Exam2Rate, $row->Exam3Rate],
'extra' => [$row->ExtraRate, $row->Extra2Rate],
];
}
if (!isset($emulate) and isset($groupnum)) {
$groupID = Model_Group::find($gradenum, $groupnum, $study_form, $faculty);
Model_Logs::logFormExport($this->user->ID, $discipline, $groupID, $this->user["SemesterID"]);
}
// TODO: удалить лишние учебные планы от академиков правильным способом!
array_splice($response, 1);
return $response;
} catch (Exception $e) {
$this->badRequestError($e->getMessage());
}
return null;
}
}