diff --git a/app/controllers/CensoController.php b/app/controllers/CensoController.php
index d4e3ee724..9ec21a986 100755
--- a/app/controllers/CensoController.php
+++ b/app/controllers/CensoController.php
@@ -2573,69 +2573,141 @@ public function fixMistakesExport($register, $attributes)
}
- public function readFileImport()
+ public function actionExport()
{
- set_time_limit(0);
- ignore_user_abort();
- $path = Yii::app()->basePath;
- //Se não passar parametro, o valor será predefinido
- if (empty($_FILES['file']['name'])) {
- $fileDir = $path . '/import/1810601_24_98018493_14032019143014.TXT';
- } else {
- $myfile = $_FILES['file'];
- $uploadfile = $path . '/import/' . basename($myfile['name']);
- move_uploaded_file($myfile['tmp_name'], $uploadfile);
- $fileDir = $uploadfile;
- }
+ include dirname(__DIR__) . '/libraries/Educacenso/Educacenso.php';
+ $Educacenso = new Educacenso;
+ $export = $Educacenso->exportar(date("Y"));
+ $fileDir = Yii::app()->basePath . '/export/' . date('Y_') . Yii::app()->user->school . '.TXT';
- $mode = 'r';
+ Yii::import('ext.FileManager.fileManager');
+ $fm = new fileManager();
+ $result = $fm->write($fileDir, $export);
- //Abre o arquivo
- $file = fopen($fileDir, $mode);
- if ($file == FALSE) {
- die('O arquivo não existe.');
+ if ($result) {
+ Yii::app()->user->setFlash('success', Yii::t('default', 'Exportação Concluida com Sucesso.
Clique aqui para fazer o Download do arquivo de exportação!!!'));
+ } else {
+ Yii::app()->user->setFlash('error', Yii::t('default', 'Houve algum erro na Exportação.'));
}
- $registerLines = [];
-
- //Inicializa o contador de linhas
- $lineCount = [];
- $lineCount['00'] = 0;
- $lineCount['10'] = 0;
- $lineCount['20'] = 0;
- $lineCount['30'] = 0;
- $lineCount['40'] = 0;
- $lineCount['50'] = 0;
- $lineCount['51'] = 0;
- $lineCount['60'] = 0;
- $lineCount['70'] = 0;
- $lineCount['80'] = 0;
-
- //Pega campos do arquivo
- while (TRUE) {
- //Próxima linha do arquivo
- $fileLine = fgets($file);
- if ($fileLine == NULL) {
- break;
- }
-
- //Tipo do registro são os 2 primeiros caracteres
- $regType = $fileLine[0] . $fileLine[1];
- //Querba a linha nos caracteres |
- $lineFields_Aux = explode("|", $fileLine);
- $lineFields = [];
+ return $this->redirect(array('validate'));
- //Troca os campos vazios por 'null'
- foreach ($lineFields_Aux as $key => $field) {
- $value = !(isset($field)) ? '' : trim($field);
- $lineFields[$key] = $value;
- }
+// $school = SchoolIdentification::model()->findByPk(Yii::app()->user->school);
+// $this->normalizeField2019($school->register_type, $school->attributes);
+// $schoolStructure = SchoolStructure::model()->findByPk(Yii::app()->user->school);
+// $this->normalizeField2019($schoolStructure->register_type, $schoolStructure->attributes);
+// $classrooms = Classroom::model()->findAllByAttributes(["school_inep_fk" => yii::app()->user->school, "school_year" => Yii::app()->user->year]);
+// foreach ($classrooms as $iclass => $classroom) {
+// $log['classrooms'][$iclass] = $classroom->attributes;
+// foreach ($classroom->instructorTeachingDatas as $iteaching => $teachingData) {
+// if (!isset($log['instructors'][$teachingData->instructor_fk])) {
+// //@Todo fazer o sistema atualizar automaticamente quando o o cadastro entrar na escola
+// $teachingData->instructorFk->documents->school_inep_id_fk = $school->inep_id;
+// $teachingData->instructorFk->instructorVariableData->school_inep_id_fk = $school->inep_id;
+// $teachingData->instructorFk->school_inep_id_fk = $school->inep_id;
+// $log['instructors'][$teachingData->instructor_fk]['identification'] = $teachingData->instructorFk->attributes;
+// $log['instructors'][$teachingData->instructor_fk]['documents'] = $teachingData->instructorFk->documents->attributes;
+// $instructor_inepid_id = isset($teachingData->instructorFk->inep_id) && !empty($teachingData->instructorFk->inep_id) ? $teachingData->instructorFk->inep_id : $teachingData->instructorFk->id;
+// if (isset($teachingData->instructorFk->inep_id) && !empty($teachingData->instructorFk->inep_id)) {
+// $variabledata = InstructorVariableData::model()->findByAttributes(['inep_id' => $instructor_inepid_id]);
+// } else {
+// $variabledata = InstructorVariableData::model()->findByPk($instructor_inepid_id);
+// }
+// $variabledata->id = $teachingData->instructorFk->id;
+// $variabledata->inep_id = $teachingData->instructorFk->inep_id;
+// $variabledata->school_inep_id_fk = $school->inep_id;
+// $log['instructors'][$teachingData->instructor_fk]['variable'] = $variabledata->attributes;
+// } else {
+//
+// }
+// $teachingData->instructor_inep_id = $teachingData->instructorFk->inep_id;
+// $teachingData->school_inep_id_fk = $school->inep_id;
+// $log['instructors'][$teachingData->instructor_fk]['teaching'][$classroom->id] = $teachingData->attributes;
+// }
+// foreach ($classroom->studentEnrollments as $ienrollment => $enrollment) {
+// if (!isset($log['students'][$enrollment->student_fk])) {
+// $enrollment->studentFk->school_inep_id_fk = $school->inep_id;
+// $enrollment->studentFk->documentsFk->school_inep_id_fk = $school->inep_id;
+// $log['students'][$enrollment->student_fk]['identification'] = $enrollment->studentFk->attributes;
+// $log['students'][$enrollment->student_fk]['documents'] = $enrollment->studentFk->documentsFk->attributes;
+// }
+// $enrollment->school_inep_id_fk = $school->inep_id;
+// $log['students'][$enrollment->student_fk]['enrollments'][$ienrollment] = $enrollment->attributes;
+// }
+// }
+// foreach ($log['classrooms'] as $classroom) {
+// $this->normalizeField2019($classroom['register_type'], $classroom);
+// }
+// foreach ($log['instructors'] as $instructor) {
+// $id = (String)'90' . $instructor['identification']['id'];
+// $instructor['identification']['id'] = $id;
+// $instructor['documents']['id'] = $id;
+// $instructor['variable']['id'] = $id;
+// $this->normalizeField2019($instructor['identification']['register_type'], $instructor['identification']);
+// $this->normalizeField2019($instructor['documents']['register_type'], $instructor['documents']);
+// $this->normalizeField2019($instructor['variable']['register_type'], $instructor['variable']);
+// foreach ($instructor['teaching'] as $teaching) {
+// $teaching['instructor_fk'] = $id;
+// $this->normalizeField2019($teaching['register_type'], $teaching);
+// }
+// }
+// foreach ($log['students'] as $student) {
+// $this->normalizeField2019($student['identification']['register_type'], $student['identification']);
+// $this->normalizeField2019($student['documents']['register_type'], $student['documents']);
+// foreach ($student['enrollments'] as $enrollment) {
+// $this->normalizeField2019($enrollment['register_type'], $enrollment);
+// }
+// }
+// //ksort($this->tmpexp['c'][5076]);
+// //print_r($this->tmpexp['c'][5076]);exit;
+//
+// foreach ($this->tmpexp as $kpos => $pos) {
+// foreach ($pos as $kline => $line) {
+// ksort($line);
+// $this->export[$kpos] .= implode('|', $line);
+// $this->export[$kpos] .= "\n";
+// }
+// }
+// $this->export['e'] .= '30|' . Yii::app()->user->school . '|909999|183258253160|84278560591|RUANCELI DO NASCIMENTO SANTOS|23/05/1988|1|TANIA MARIA DO NASCIMENTO||2|3|1|76|2800670|0|||||||||||||||||||||||||||||1||6||145F01|2008|3||||||||||1|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|1|0|RUAN@IPTI.ORG.BR' . "\n";
+// $this->export['eb'] .= '40|' . Yii::app()->user->school . '|909999||1|2||1' . "\n";
+// $this->export["i"] .= '99|';
+//
+// ksort($this->export);
+// foreach ($this->export as $key => $txtexport) {
+// $export .= $txtexport;
+// }
+// $fileDir = Yii::app()->basePath . '/export/' . date('Y_') . Yii::app()->user->school . '.TXT';
+//
+// Yii::import('ext.FileManager.fileManager');
+// $fm = new fileManager();
+// $result = $fm->write($fileDir, $export);
+//
+// if ($result) {
+// Yii::app()->user->setFlash('success', Yii::t('default', 'Exportação Concluida com Sucesso.
Clique aqui para fazer o Download do arquivo de exportação!!!'));
+// } else {
+// Yii::app()->user->setFlash('error', Yii::t('default', 'Houve algum erro na Exportação.'));
+// }
+// $this->redirect(array('validate'));
+ }
- //passa os campos do arquivo para a matriz [tipo][linha][coluna]
- $registerLines[$regType][$lineCount[$regType]++] = $lineFields;
+ public function actionDownloadExportFile()
+ {
+ $fileDir = Yii::app()->basePath . '/export/' . date('Y_') . Yii::app()->user->school . '.TXT';
+ if (file_exists($fileDir)) {
+ header('Content-Description: File Transfer');
+ header('Content-Type: application/octet-stream');
+ header('Content-Disposition: attachment; filename="' . basename($fileDir) . '"');
+ header('Expires: 0');
+ header('Cache-Control: must-revalidate');
+ header('Pragma: public');
+ header('Content-Length: ' . filesize($fileDir));
+ readfile($fileDir);
+ } else {
+ Yii::app()->user->setFlash('error', Yii::t('default', 'Arquivo de exportação não encontrado!!! Tente exportar novamente.'));
+ $this->render('index');
}
- return $registerLines;
+
}
public function actionReadFileImportIneps()
@@ -2779,6 +2851,71 @@ public function getOrderInepId($fields)
return count($result) ? current($result)->corder : null;
}
+ public function readFileImport()
+ {
+ set_time_limit(0);
+ ignore_user_abort();
+ $path = Yii::app()->basePath;
+ //Se não passar parametro, o valor será predefinido
+ if (empty($_FILES['file']['name'])) {
+ $fileDir = $path . '/import/1810601_24_98018493_14032019143014.TXT';
+ } else {
+ $myfile = $_FILES['file'];
+ $uploadfile = $path . '/import/' . basename($myfile['name']);
+ move_uploaded_file($myfile['tmp_name'], $uploadfile);
+ $fileDir = $uploadfile;
+ }
+
+
+ $mode = 'r';
+
+ //Abre o arquivo
+ $file = fopen($fileDir, $mode);
+ if ($file == FALSE) {
+ die('O arquivo não existe.');
+ }
+
+ $registerLines = [];
+
+ //Inicializa o contador de linhas
+ $lineCount = [];
+ $lineCount['00'] = 0;
+ $lineCount['10'] = 0;
+ $lineCount['20'] = 0;
+ $lineCount['30'] = 0;
+ $lineCount['40'] = 0;
+ $lineCount['50'] = 0;
+ $lineCount['51'] = 0;
+ $lineCount['60'] = 0;
+ $lineCount['70'] = 0;
+ $lineCount['80'] = 0;
+
+ //Pega campos do arquivo
+ while (TRUE) {
+ //Próxima linha do arquivo
+ $fileLine = fgets($file);
+ if ($fileLine == NULL) {
+ break;
+ }
+
+ //Tipo do registro são os 2 primeiros caracteres
+ $regType = $fileLine[0] . $fileLine[1];
+ //Querba a linha nos caracteres |
+ $lineFields_Aux = explode("|", $fileLine);
+ $lineFields = [];
+
+ //Troca os campos vazios por 'null'
+ foreach ($lineFields_Aux as $key => $field) {
+ $value = !(isset($field)) ? '' : trim($field);
+ $lineFields[$key] = $value;
+ }
+
+ //passa os campos do arquivo para a matriz [tipo][linha][coluna]
+ $registerLines[$regType][$lineCount[$regType]++] = $lineFields;
+ }
+ return $registerLines;
+ }
+
public function updateImport($register, $lines, CActiveRecord $model, $fieldsUpdate)
{
@@ -2821,143 +2958,6 @@ public function actionImport()
}
- public function actionExport()
- {
- include dirname(__DIR__) . '/libraries/Educacenso/Educacenso.php';
- $Educacenso = new Educacenso;
- $export = $Educacenso->exportar(date("Y"));
-
- $fileDir = Yii::app()->basePath . '/export/' . date('Y_') . Yii::app()->user->school . '.TXT';
-
- Yii::import('ext.FileManager.fileManager');
- $fm = new fileManager();
- $result = $fm->write($fileDir, $export);
-
- if ($result) {
- Yii::app()->user->setFlash('success', Yii::t('default', 'Exportação Concluida com Sucesso.
Clique aqui para fazer o Download do arquivo de exportação!!!'));
- } else {
- Yii::app()->user->setFlash('error', Yii::t('default', 'Houve algum erro na Exportação.'));
- }
-
- return $this->redirect(array('validate'));
-
-// $school = SchoolIdentification::model()->findByPk(Yii::app()->user->school);
-// $this->normalizeField2019($school->register_type, $school->attributes);
-// $schoolStructure = SchoolStructure::model()->findByPk(Yii::app()->user->school);
-// $this->normalizeField2019($schoolStructure->register_type, $schoolStructure->attributes);
-// $classrooms = Classroom::model()->findAllByAttributes(["school_inep_fk" => yii::app()->user->school, "school_year" => Yii::app()->user->year]);
-// foreach ($classrooms as $iclass => $classroom) {
-// $log['classrooms'][$iclass] = $classroom->attributes;
-// foreach ($classroom->instructorTeachingDatas as $iteaching => $teachingData) {
-// if (!isset($log['instructors'][$teachingData->instructor_fk])) {
-// //@Todo fazer o sistema atualizar automaticamente quando o o cadastro entrar na escola
-// $teachingData->instructorFk->documents->school_inep_id_fk = $school->inep_id;
-// $teachingData->instructorFk->instructorVariableData->school_inep_id_fk = $school->inep_id;
-// $teachingData->instructorFk->school_inep_id_fk = $school->inep_id;
-// $log['instructors'][$teachingData->instructor_fk]['identification'] = $teachingData->instructorFk->attributes;
-// $log['instructors'][$teachingData->instructor_fk]['documents'] = $teachingData->instructorFk->documents->attributes;
-// $instructor_inepid_id = isset($teachingData->instructorFk->inep_id) && !empty($teachingData->instructorFk->inep_id) ? $teachingData->instructorFk->inep_id : $teachingData->instructorFk->id;
-// if (isset($teachingData->instructorFk->inep_id) && !empty($teachingData->instructorFk->inep_id)) {
-// $variabledata = InstructorVariableData::model()->findByAttributes(['inep_id' => $instructor_inepid_id]);
-// } else {
-// $variabledata = InstructorVariableData::model()->findByPk($instructor_inepid_id);
-// }
-// $variabledata->id = $teachingData->instructorFk->id;
-// $variabledata->inep_id = $teachingData->instructorFk->inep_id;
-// $variabledata->school_inep_id_fk = $school->inep_id;
-// $log['instructors'][$teachingData->instructor_fk]['variable'] = $variabledata->attributes;
-// } else {
-//
-// }
-// $teachingData->instructor_inep_id = $teachingData->instructorFk->inep_id;
-// $teachingData->school_inep_id_fk = $school->inep_id;
-// $log['instructors'][$teachingData->instructor_fk]['teaching'][$classroom->id] = $teachingData->attributes;
-// }
-// foreach ($classroom->studentEnrollments as $ienrollment => $enrollment) {
-// if (!isset($log['students'][$enrollment->student_fk])) {
-// $enrollment->studentFk->school_inep_id_fk = $school->inep_id;
-// $enrollment->studentFk->documentsFk->school_inep_id_fk = $school->inep_id;
-// $log['students'][$enrollment->student_fk]['identification'] = $enrollment->studentFk->attributes;
-// $log['students'][$enrollment->student_fk]['documents'] = $enrollment->studentFk->documentsFk->attributes;
-// }
-// $enrollment->school_inep_id_fk = $school->inep_id;
-// $log['students'][$enrollment->student_fk]['enrollments'][$ienrollment] = $enrollment->attributes;
-// }
-// }
-// foreach ($log['classrooms'] as $classroom) {
-// $this->normalizeField2019($classroom['register_type'], $classroom);
-// }
-// foreach ($log['instructors'] as $instructor) {
-// $id = (String)'90' . $instructor['identification']['id'];
-// $instructor['identification']['id'] = $id;
-// $instructor['documents']['id'] = $id;
-// $instructor['variable']['id'] = $id;
-// $this->normalizeField2019($instructor['identification']['register_type'], $instructor['identification']);
-// $this->normalizeField2019($instructor['documents']['register_type'], $instructor['documents']);
-// $this->normalizeField2019($instructor['variable']['register_type'], $instructor['variable']);
-// foreach ($instructor['teaching'] as $teaching) {
-// $teaching['instructor_fk'] = $id;
-// $this->normalizeField2019($teaching['register_type'], $teaching);
-// }
-// }
-// foreach ($log['students'] as $student) {
-// $this->normalizeField2019($student['identification']['register_type'], $student['identification']);
-// $this->normalizeField2019($student['documents']['register_type'], $student['documents']);
-// foreach ($student['enrollments'] as $enrollment) {
-// $this->normalizeField2019($enrollment['register_type'], $enrollment);
-// }
-// }
-// //ksort($this->tmpexp['c'][5076]);
-// //print_r($this->tmpexp['c'][5076]);exit;
-//
-// foreach ($this->tmpexp as $kpos => $pos) {
-// foreach ($pos as $kline => $line) {
-// ksort($line);
-// $this->export[$kpos] .= implode('|', $line);
-// $this->export[$kpos] .= "\n";
-// }
-// }
-// $this->export['e'] .= '30|' . Yii::app()->user->school . '|909999|183258253160|84278560591|RUANCELI DO NASCIMENTO SANTOS|23/05/1988|1|TANIA MARIA DO NASCIMENTO||2|3|1|76|2800670|0|||||||||||||||||||||||||||||1||6||145F01|2008|3||||||||||1|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|1|0|RUAN@IPTI.ORG.BR' . "\n";
-// $this->export['eb'] .= '40|' . Yii::app()->user->school . '|909999||1|2||1' . "\n";
-// $this->export["i"] .= '99|';
-//
-// ksort($this->export);
-// foreach ($this->export as $key => $txtexport) {
-// $export .= $txtexport;
-// }
-// $fileDir = Yii::app()->basePath . '/export/' . date('Y_') . Yii::app()->user->school . '.TXT';
-//
-// Yii::import('ext.FileManager.fileManager');
-// $fm = new fileManager();
-// $result = $fm->write($fileDir, $export);
-//
-// if ($result) {
-// Yii::app()->user->setFlash('success', Yii::t('default', 'Exportação Concluida com Sucesso.
Clique aqui para fazer o Download do arquivo de exportação!!!'));
-// } else {
-// Yii::app()->user->setFlash('error', Yii::t('default', 'Houve algum erro na Exportação.'));
-// }
-// $this->redirect(array('validate'));
- }
-
- public function actionDownloadExportFile()
- {
- $fileDir = Yii::app()->basePath . '/export/' . date('Y_') . Yii::app()->user->school . '.TXT';
- if (file_exists($fileDir)) {
- header('Content-Description: File Transfer');
- header('Content-Type: application/octet-stream');
- header('Content-Disposition: attachment; filename="' . basename($fileDir) . '"');
- header('Expires: 0');
- header('Cache-Control: must-revalidate');
- header('Pragma: public');
- header('Content-Length: ' . filesize($fileDir));
- readfile($fileDir);
- } else {
- Yii::app()->user->setFlash('error', Yii::t('default', 'Arquivo de exportação não encontrado!!! Tente exportar novamente.'));
- $this->render('index');
- }
-
- }
-
public function actionInitialImport()
{
$import = new Import();
diff --git a/app/libraries/Educacenso/Register20.php b/app/libraries/Educacenso/Register20.php
index 446496bda..5237d8067 100644
--- a/app/libraries/Educacenso/Register20.php
+++ b/app/libraries/Educacenso/Register20.php
@@ -165,21 +165,21 @@ public static function export($year)
$register[$edcensoAlias->corder] = '';
}
} else if ($edcensoAlias->corder == 34 || $edcensoAlias->corder == 35 || $edcensoAlias->corder == 36 || $edcensoAlias->corder == 37 || $edcensoAlias->corder == 38 || $edcensoAlias->corder == 39) {
- if ($attributes["schooling"] == '0' || in_array($attributes['edcenso_stage_vs_modality_fk'], [1, 2, 3])) {
+ if ($attributes['edcenso_stage_vs_modality_fk'] == null || in_array($attributes['edcenso_stage_vs_modality_fk'], [1, 2, 3])) {
$register[$edcensoAlias->corder] = '';
- } else if ($edcensoAlias->corder == 34 && !in_array($attributes['edcenso_stage_vs_modality_fk'], [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 41, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 56, 69, 70, 71, 72, 73, 74, 67])) {
+ } else if ($edcensoAlias->corder == 34 && !in_array($attributes['edcenso_stage_vs_modality_fk'], [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 41, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 64, 56, 69, 70, 71, 72, 73, 74, 67])) {
$register[34] = '0';
$register[35] = '1';
- } else if ($register[34] == '0' && $edcensoAlias->corder == 35 && !in_array($attributes['edcenso_stage_vs_modality_fk'], [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 69, 70, 71, 72, 73, 74, 67, 68])) {
+ } else if ($register[34] == '0' && $edcensoAlias->corder == 35 && !in_array($attributes['edcenso_stage_vs_modality_fk'], [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 64, 69, 70, 71, 72, 73, 74, 67, 68])) {
$register[35] = '0';
$register[36] = '1';
} else if ($register[34] == '0' && $register[35] == '0' && $edcensoAlias->corder == 36 && !in_array($attributes['edcenso_stage_vs_modality_fk'], [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 41, 56])) {
$register[36] = '0';
$register[37] = '1';
- } else if ($register[34] == '0' && $register[35] == '0' && $register[36] == '0' && $edcensoAlias->corder == 37 && !in_array($attributes['edcenso_stage_vs_modality_fk'], [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 41, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 56, 69, 70, 71, 72, 73, 74, 67, 68])) {
+ } else if ($register[34] == '0' && $register[35] == '0' && $register[36] == '0' && $edcensoAlias->corder == 37 && !in_array($attributes['edcenso_stage_vs_modality_fk'], [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 41, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 64, 56, 69, 70, 71, 72, 73, 74, 67, 68])) {
$register[37] = '0';
$register[38] = '1';
- } else if ($register[34] == '0' && $register[35] == '0' && $register[36] == '0' && $register[37] == '0' && $edcensoAlias->corder == 38 && !in_array($attributes['edcenso_stage_vs_modality_fk'], [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 41, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 56, 69, 70, 71, 72, 73, 74, 67, 68])) {
+ } else if ($register[34] == '0' && $register[35] == '0' && $register[36] == '0' && $register[37] == '0' && $edcensoAlias->corder == 38 && !in_array($attributes['edcenso_stage_vs_modality_fk'], [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 41, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 64, 56, 69, 70, 71, 72, 73, 74, 67, 68])) {
$register[38] = '0';
$register[39] = '1';
}
diff --git a/app/migrations/2.12.3_substituir_deletes_por_renames/2022-06-20 b/app/migrations/2.12.3_substituir_deletes_por_renames/2022-06-20
new file mode 100644
index 000000000..8863c5a91
--- /dev/null
+++ b/app/migrations/2.12.3_substituir_deletes_por_renames/2022-06-20
@@ -0,0 +1,59 @@
+ALTER TABLE schedule RENAME TO _unusedtable_schedule;
+ALTER TABLE class_faults RENAME TO _unusedtable_class_faults;
+ALTER TABLE class_has_content RENAME TO _unusedtable_class_has_content;
+ALTER TABLE class_class_objective RENAME TO _unusedtable_class_class_objective;
+ALTER TABLE `class` RENAME TO _unusedtable_class;
+
+CREATE TABLE `schedule` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `instructor_fk` int(11) DEFAULT NULL,
+ `discipline_fk` int(11) NOT NULL,
+ `classroom_fk` int(11) NOT NULL,
+ `day` int(11) NOT NULL,
+ `month` int(11) NOT NULL,
+ `week` int(11) NOT NULL,
+ `week_day` int(11) NOT NULL,
+ `schedule` int(11) DEFAULT NULL,
+ `turn` int(11) DEFAULT NULL,
+ `unavailable` int(11) NOT NULL,
+ `fkid` varchar(40) COLLATE utf8_unicode_ci DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+ALTER TABLE `schedule`
+ADD FOREIGN KEY (`instructor_fk`) REFERENCES `instructor_identification` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+ALTER TABLE `schedule`
+ADD FOREIGN KEY (`discipline_fk`) REFERENCES `edcenso_discipline` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+ALTER TABLE `schedule`
+ADD FOREIGN KEY (`classroom_fk`) REFERENCES `classroom` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+CREATE TABLE `class_faults` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `student_fk` int(11) NOT NULL,
+ `schedule_fk` int(11) NOT NULL,
+ `fkid` varchar(40) DEFAULT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `id_UNIQUE` (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+ALTER TABLE `class_faults`
+ADD FOREIGN KEY (`student_fk`) REFERENCES `student_enrollment` (`student_fk`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+ALTER TABLE `class_faults`
+ADD FOREIGN KEY (`schedule_fk`) REFERENCES `schedule` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+CREATE TABLE `class_has_content` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `schedule_fk` int(11) NOT NULL,
+ `content_fk` int(11) NOT NULL,
+ `fkid` varchar(40) COLLATE utf8_unicode_ci DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+ALTER TABLE `class_has_content`
+ADD FOREIGN KEY (`content_fk`) REFERENCES `class_resource` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+ALTER TABLE `class_has_content`
+ADD FOREIGN KEY (`schedule_fk`) REFERENCES `schedule` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
\ No newline at end of file
diff --git a/app/models/Import.php b/app/models/Import.php
index 7d5d2fd06..61b16c63c 100644
--- a/app/models/Import.php
+++ b/app/models/Import.php
@@ -170,13 +170,15 @@ public function importRegister20($lines, $year){
$classroomModel = new Classroom();
foreach ($fields as $field) {
- $columnName = $field->attr;
- $collumnOrder = $field->corder -1;
-
- if(isset($line[$collumnOrder]) && $line[$collumnOrder] != "" && in_array($columnName, $attributes)){
- $classroomModel->{$columnName} = utf8_encode($line[$collumnOrder]);
- $hasModified = true;
- }
+ if ($field->attr !== "id") {
+ $columnName = $field->attr;
+ $collumnOrder = $field->corder -1;
+
+ if(isset($line[$collumnOrder]) && $line[$collumnOrder] != "" && in_array($columnName, $attributes)){
+ $classroomModel->{$columnName} = utf8_encode($line[$collumnOrder]);
+ $hasModified = true;
+ }
+ }
}
if($hasModified){
@@ -213,26 +215,29 @@ public function importRegister301($line, $year){
$studentDocumentModel = new StudentDocumentsAndAddress();
foreach ($fields as $field) {
- $columnName = $field->attr;
- $collumnOrder = $field->corder -1;
- $modelType = $field->stable;
+ if ($field->attr !== "id") {
+ $columnName = $field->attr;
+ $collumnOrder = $field->corder - 1;
+ $modelType = $field->stable;
- if(is_null($modelType)){
- continue;
- }
+ if (is_null($modelType)) {
+ continue;
+ }
- $model = $modelType == self::STUDENT_IDENTIFICATION ? $studentIdentificationModel : $studentDocumentModel;
+ $model = $modelType == self::STUDENT_IDENTIFICATION ? $studentIdentificationModel : $studentDocumentModel;
- if(isset($line[$collumnOrder]) && $line[$collumnOrder] != "" && in_array($columnName, $model->attributeNames())){
- $model->{$columnName} = utf8_encode($line[$collumnOrder]);
- }
+ if (isset($line[$collumnOrder]) && $line[$collumnOrder] != "" && in_array($columnName, $model->attributeNames())) {
+ $model->{$columnName} = utf8_encode($line[$collumnOrder]);
+ }
+ }
}
$studentIdentificationModel->send_year = $this->year;
$studentDocumentModel->school_inep_id_fk = $studentIdentificationModel->school_inep_id_fk;
if($studentIdentificationModel->validate() && $studentDocumentModel->validate()){
if($studentIdentificationModel->save(false)){
- $studentDocumentModel->student_fk = $studentIdentificationModel->id;
+ $studentDocumentModel->student_fk = $studentIdentificationModel->inep_id;
+ $studentDocumentModel->id = $studentIdentificationModel->id;
$studentDocumentModel->save();
return;
}
@@ -249,24 +254,27 @@ public function importRegister302($line, $year){
$instructorDocumentModel = new InstructorDocumentsAndAddress(InstructorDocumentsAndAddress::SCENARIO_IMPORT);
foreach ($fields as $field) {
- $columnName = $field->attr;
- $collumnOrder = $field->corder -1;
- $modelType = $field->stable;
+ if ($field->attr !== "id") {
+ $columnName = $field->attr;
+ $collumnOrder = $field->corder - 1;
+ $modelType = $field->stable;
- if(is_null($modelType)){
- continue;
- }
+ if (is_null($modelType)) {
+ continue;
+ }
- $model = $modelType == self::INSTRUCTOR_IDENTIFICATION ? $instructorIdentificationModel : $instructorDocumentModel;
+ $model = $modelType == self::INSTRUCTOR_IDENTIFICATION ? $instructorIdentificationModel : $instructorDocumentModel;
- if(isset($line[$collumnOrder]) && $line[$collumnOrder] != "" && in_array($columnName, $model->attributeNames())){
- $model->{$columnName} = utf8_encode($line[$collumnOrder]);
- }
+ if (isset($line[$collumnOrder]) && $line[$collumnOrder] != "" && in_array($columnName, $model->attributeNames())) {
+ $model->{$columnName} = utf8_encode($line[$collumnOrder]);
+ }
+ }
}
$instructorDocumentModel->school_inep_id_fk = $instructorIdentificationModel->school_inep_id_fk;
if($instructorIdentificationModel->validate() && $instructorDocumentModel->validate()){
if($instructorIdentificationModel->save(false)){
+ $instructorDocumentModel->id = $instructorIdentificationModel->id;
$instructorDocumentModel->save();
return;
}
@@ -343,13 +351,15 @@ public function importRegister50($lines, $year){
$instructorTeachingModel = new InstructorTeachingData(InstructorTeachingData::SCENARIO_IMPORT);
foreach ($fields as $field) {
- $columnName = $field->attr;
- $collumnOrder = $field->corder -1;
-
- if(isset($line[$collumnOrder]) && $line[$collumnOrder] != "" && in_array($columnName, $attributes)){
- $instructorTeachingModel->{$columnName} = utf8_encode($line[$collumnOrder]);
- $hasModified = true;
- }
+ if ($field->attr !== "instructor_fk") {
+ $columnName = $field->attr;
+ $collumnOrder = $field->corder - 1;
+
+ if (isset($line[$collumnOrder]) && $line[$collumnOrder] != "" && in_array($columnName, $attributes)) {
+ $instructorTeachingModel->{$columnName} = utf8_encode($line[$collumnOrder]);
+ $hasModified = true;
+ }
+ }
}
if($hasModified){
@@ -397,13 +407,15 @@ public function importRegister60($lines, $year){
$studentEnrollmentModel = new StudentEnrollment();
foreach ($fields as $field) {
- $columnName = $field->attr;
- $collumnOrder = $field->corder -1;
-
- if(isset($line[$collumnOrder]) && $line[$collumnOrder] != "" && in_array($columnName, $attributes)){
- $studentEnrollmentModel->{$columnName} = utf8_encode($line[$collumnOrder]);
- $hasModified = true;
- }
+ if ($field->attr !== "student_fk") {
+ $columnName = $field->attr;
+ $collumnOrder = $field->corder - 1;
+
+ if (isset($line[$collumnOrder]) && $line[$collumnOrder] != "" && in_array($columnName, $attributes)) {
+ $studentEnrollmentModel->{$columnName} = utf8_encode($line[$collumnOrder]);
+ $hasModified = true;
+ }
+ }
}
if($hasModified){
diff --git a/app/models/InstructorDocumentsAndAddress.php b/app/models/InstructorDocumentsAndAddress.php
index b499c48ae..8d521730e 100755
--- a/app/models/InstructorDocumentsAndAddress.php
+++ b/app/models/InstructorDocumentsAndAddress.php
@@ -69,7 +69,7 @@ public function rules()
// NOTE: you should only define rules for those attributes that
// will receive user inputs.
return array(
- array('school_inep_id_fk, cpf, area_of_residence', 'required'),
+ array('school_inep_id_fk', 'required'),
array('area_of_residence, edcenso_uf_fk, edcenso_city_fk, diff_location', 'numerical', 'integerOnly'=>true),
array('register_type', 'length', 'max'=>2),
array('school_inep_id_fk, cep', 'length', 'max'=>8),
@@ -110,8 +110,8 @@ public function attributeLabels()
'school_inep_id_fk' => Yii::t('default', 'School Inep Id Fk'),
'inep_id' => Yii::t('default', 'Inep'),
'id' => Yii::t('default', 'ID'),
- 'cpf' => Yii::t('default', 'Cpf'),
- 'area_of_residence' => Yii::t('default', 'Area Of Residence'),
+ 'cpf' => Yii::t('default', 'Cpf') . " *",
+ 'area_of_residence' => Yii::t('default', 'Area Of Residence') . " *",
'cep' => Yii::t('default', 'Cep'),
'address' => Yii::t('default', 'Address'),
'address_number' => Yii::t('default', 'Address Number'),
diff --git a/app/modules/wizard/controllers/ConfigurationController.php b/app/modules/wizard/controllers/ConfigurationController.php
index f89976034..9f2ea4f1e 100755
--- a/app/modules/wizard/controllers/ConfigurationController.php
+++ b/app/modules/wizard/controllers/ConfigurationController.php
@@ -1,12 +1,15 @@
render('index');
}
- public function actionSchool() {
+ public function actionSchool()
+ {
$year = Yii::app()->user->school;
$model = SchoolConfiguration::model()->findByAttributes(array("school_inep_id_fk" => $year));
@@ -26,7 +29,8 @@ public function actionSchool() {
$this->render('school', array('model' => $model));
}
- public function actionClassroom() {
+ public function actionClassroom()
+ {
if (isset($_POST['Classrooms'])) {
$Classrooms_ids = $_POST['Classrooms'];
$year = Yii::app()->user->year;
@@ -67,11 +71,13 @@ public function actionClassroom() {
Log::model()->saveAction("wizard_classroom", $logYear, "C", $logYear);
Yii::app()->user->setFlash('success', Yii::t('default', 'Turmas reutilizadas com sucesso!'));
- }
- else {
+ $this->redirect('?r=classroom');
+ } else {
Yii::app()->user->setFlash('error', Yii::t('default', 'Erro na reutilização das Turmas.'));
+ $this->render('classrooms', array(
+ 'title' => Yii::t('default', 'Reaproveitamento das Turmas')
+ ));
}
- $this->render('index');
return true;
}
$this->render('classrooms', array(
@@ -79,23 +85,24 @@ public function actionClassroom() {
));
}
- public function actionStudent() {
+ public function actionStudent()
+ {
if (isset($_POST["Classrooms"], $_POST["StudentEnrollment"])) {
$save = true;
$logYear = "";
foreach ($_POST["Classrooms"] as $classroom) {
$emrollments = StudentEnrollment::model()->findAll("classroom_fk = :c", array("c" => $classroom));
$logYear = Classroom::model()->findByPk($classroom)->school_year;
- foreach($emrollments as $e){
+ foreach ($emrollments as $e) {
$enrollment = new StudentEnrollment();
$enrollment->attributes = $_POST["StudentEnrollment"];
$st = StudentIdentification::model()->findByPk($e->student_fk);
$c = Classroom::model()->findByPk($enrollment->classroom_fk);
$exist = StudentEnrollment::model()->findAll("classroom_fk = :c AND student_fk = :s",
- array("c" => $c->id, "s"=>$st->id));
+ array("c" => $c->id, "s" => $st->id));
//Se não existe, cadastra
- if(count($exist)==0){
+ if (count($exist) == 0) {
$enrollment->school_inep_id_fk = Yii::app()->user->school;
$enrollment->student_fk = $st->id;
$enrollment->classroom_fk = $c->id;
@@ -108,18 +115,19 @@ public function actionStudent() {
if ($save) {
Log::model()->saveAction("wizard_student", $logYear, "C", $logYear);
Yii::app()->user->setFlash('success', Yii::t('default', 'Alunos matriculados com sucesso!'));
- }else {
+ } else {
Yii::app()->user->setFlash('error', Yii::t('default', 'Erro na matrícula dos Alunos.'));
}
$this->render('index');
- }else {
+ } else {
$this->render('students', array(
'title' => Yii::t('default', 'Student Configuration')
));
}
}
- public function actionGetStudents() {
+ public function actionGetStudents()
+ {
if (isset($_POST["Classrooms"]) && !empty($_POST["Classrooms"])) {
$id = $_POST["Classrooms"];
$criteria = new CDbCriteria();
diff --git a/config.php b/config.php
index 4cc003d95..f878d4fa0 100755
--- a/config.php
+++ b/config.php
@@ -1,40 +1,33 @@
- 18/06/2022 - TAG VERSÃO 2.12.3:
+ 20/06/2022: TAG Versão 2.12.4: