Skip to content
Snippets Groups Projects
Commit 480e007e authored by RomanSteinberg's avatar RomanSteinberg
Browse files

CHG: final form creation due to faculty and some final form enhancements

parent 7ded81fe
No related merge requests found
......@@ -156,37 +156,43 @@ class Controller_Handler_FileCreator extends Controller_Handler
$disciplineID = $this->post['disciplineID'];
$groupID = $this->post['studyGroupID'];
// preparation
$info = Model_Rating::getFinalFormInfo($disciplineID, $groupID);
$type = $info[0]['ExamType'];
$templateFile = DOCROOT."docs/template $type.xls";
if (!file_exists($templateFile)) {
exit("template wasn't found" . PHP_EOL);
}
$objPHPExcel = PHPExcel_IOFactory::load($templateFile);
$objPHPExcel->setActiveSheetIndex(0);
// $specName = ''; <------- TODO
$this->printDisciplineToExcelFile($objPHPExcel, $disciplineID, $groupID, $info[0]);
$grade = $info[0]["GradeNum"];
$group = $info[0]["GroupNum"];
$subjName = $info[0]["SubjectName"];
// make form from template
$info = Model_Rating::getFinalFormInfo($disciplineID, $groupID)[0];
$info['DisciplineID'] = $disciplineID;
$this->printDisciplineToExcelFile($objPHPExcel, $disciplineID, $groupID, $info);
// prepare filename
$grade = $info["GradeNum"];
$group = $info["GroupNum"];
$subjName = $info["SubjectName"];
$subjName = UTF8::substr($subjName,0, 10);
$subjName = str_replace(' ', '_', $subjName);
$filename = $subjName."_".$grade."_".$group;
// return;
//$this->GetHeaders("FinalForm".$disciplineID."_".$groupID);
$this->GetHeaders($filename);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
}
public function printDisciplineToExcelFile(&$objPHPExcel, $disciplineID, $groupID, $headerData) {
// if ($headerData["FacultyID"] == 1)
$useNewForms = true;
if ($headerData["FacultyID"] != 1)
$useNewForms = false;
$type = $headerData['ExamType'];
$templateFile = DOCROOT."docs/template $type.xls";
if (!$useNewForms)
$templateFile = DOCROOT."docs/old template $type.xls";
if (!file_exists($templateFile)) {
exit("template wasn't found" . PHP_EOL);
}
$objPHPExcel = PHPExcel_IOFactory::load($templateFile);
$objPHPExcel->setActiveSheetIndex(0);
if ($useNewForms)
$this->printNewForm($objPHPExcel, $disciplineID, $groupID, $headerData);
// else
// $this->printOldForm($objPHPExcel, $disciplineID, $groupID, $headerData);
else
$this->printOldForm($objPHPExcel, $disciplineID, $groupID, $headerData);
}
protected function printNewForm(&$objPHPExcel, $disciplineID, $groupID, $headerData) {
......@@ -209,7 +215,6 @@ class Controller_Handler_FileCreator extends Controller_Handler
$sheet = $objPHPExcel->getActiveSheet();
foreach($rates as $studentRates) {
// echo Debug::vars($studentRates);
$this->addStudentToSheetNew($sheet, $type, $studentRates, $rowNumber++, $index++, $stage, $examHold);
}
}
......@@ -313,8 +318,24 @@ class Controller_Handler_FileCreator extends Controller_Handler
$sheet->setCellValue($range, $data['FacultyName']);
$range = $objPHPExcel->getNamedRange("Major")->getRange();
$sheet->setCellValue($range, "Специальность: ".$data['SpecName']." ".$data['SpecCode']);
$teachers = Model_Teachers::getNamesForDiscipline($data['DisciplineID'],true,true);
$teachersStr = '';
if (count($teachers)>1) {
foreach ($teachers as $teacher)
if (end($teachers) != $teacher)
$teachersStr .= $teacher . ', ';
else
$teachersStr .= $teacher;
}
else
$teachersStr = $data['LastName']." ".$data['FirstName']." ".$data['SecondName'];
$range = $objPHPExcel->getNamedRange("Teacher")->getRange();
$sheet->setCellValue($range, $data['LastName']." ".$data['FirstName']." ".$data['SecondName']);
$rowPosition = preg_replace('/[^0-9]/', '', $range);
$rowHeight = ceil((count($teachers)/3)) * 15;
$sheet->getRowDimension($rowPosition)
->setRowHeight($rowHeight);
$sheet->setCellValue($range, $teachersStr);
$range = $objPHPExcel->getNamedRange("Grade")->getRange();
$degree = $data['Degree'];
......@@ -325,7 +346,6 @@ class Controller_Handler_FileCreator extends Controller_Handler
$sheet->setCellValue($range, $gradeName);
$range = $objPHPExcel->getNamedRange("Semester")->getRange();
// $semester = $data['SemesterNum'] + ($gradeNum -1)*2;
$semester = $data['SemesterNum'] % 2 ? "Осенний": "Весенний";
$sheet->setCellValue($range, $semester);
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment