From 481e80acac8b48f10ca70276a5e74d54fe3dd1cd Mon Sep 17 00:00:00 2001 From: Paulo Date: Mon, 20 Jun 2022 13:10:06 -0300 Subject: [PATCH 1/3] inserido sql de deletes por renames --- .../2022-06-20 | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 app/migrations/2.12.3_substituir_deletes_por_renames/2022-06-20 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 From edc6f363a5674a81962be5aea12787777b1a3a60 Mon Sep 17 00:00:00 2001 From: Paulo Date: Mon, 20 Jun 2022 22:12:37 -0300 Subject: [PATCH 2/3] =?UTF-8?q?Resolvido=20bug=20que=20reaproveitamento=20?= =?UTF-8?q?da=20turma=20redirecionava=20pra=20tela=20errada;=20Retirado=20?= =?UTF-8?q?obrigatoriedade=20no=20model=20instructordocumentsandaddress=20?= =?UTF-8?q?para=20cpf=20e=20area=5Fof=5Fresidence;=20Ajeitado=20import=20p?= =?UTF-8?q?ra=20aceitar=20a=20importa=C3=A7=C3=A3o=20de=20b=C3=BAzios;=20O?= =?UTF-8?q?rdenado=20m=C3=A9todos=20do=20censocontroller?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/CensoController.php | 382 +++++++++--------- app/models/Import.php | 96 +++-- app/models/InstructorDocumentsAndAddress.php | 6 +- .../controllers/ConfigurationController.php | 36 +- themes/default/views/instructor/_form.php | 4 +- 5 files changed, 272 insertions(+), 252 deletions(-) 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/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/themes/default/views/instructor/_form.php b/themes/default/views/instructor/_form.php index 2f5ab2369..67b00b856 100755 --- a/themes/default/views/instructor/_form.php +++ b/themes/default/views/instructor/_form.php @@ -90,7 +90,7 @@ class='btn btn-icon btn-primary next glyphicons circle_arrow_right'>
- labelEx($modelInstructorDocumentsAndAddress, 'cpf', array('class' => 'control-label')); ?> + labelEx($modelInstructorDocumentsAndAddress, 'cpf', array('class' => 'control-label required')); ?>
textField($modelInstructorDocumentsAndAddress, 'cpf', array('size' => 14, 'maxlength' => 14)); ?>
- labelEx($modelInstructorDocumentsAndAddress, 'area_of_residence', array('class' => 'control-label')); ?> + labelEx($modelInstructorDocumentsAndAddress, 'area_of_residence', array('class' => 'control-label required')); ?>
DropDownlist($modelInstructorDocumentsAndAddress, 'area_of_residence', array(null => "Selecione uma localização", 1 => 'URBANA', 2 => 'RURAL'), array("class" => "select-search-off")); ?> error($modelInstructorDocumentsAndAddress, 'area_of_residence'); ?> From e9827858e024c170f2ca9f60a291bab1d807abaa Mon Sep 17 00:00:00 2001 From: Paulo Date: Mon, 20 Jun 2022 22:38:24 -0300 Subject: [PATCH 3/3] =?UTF-8?q?adapta=C3=A7=C3=A3o=20do=20export=20do=20ed?= =?UTF-8?q?censo,=20vers=C3=A3o=205?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/libraries/Educacenso/Register20.php | 10 +++++----- config.php | 23 ++++++++--------------- 2 files changed, 13 insertions(+), 20 deletions(-) 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/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:
    -
  • Responsividade no Diário Eletrônico
  • -
  • Melhorias no quadro de horário e Calendário Escolar
  • -
  • Adaptação de Campos Para o EducaCenso 2022 (Exportação)-V4
  • +
  • Correção de Bugs
  • +
  • Adaptação de Campos Para o EducaCenso 2022 (Exportação) - v.5
- 08/03/2022 - TAG VERSÃO 2.12.0: + 08/03/2022 - 18/06/2022: TAG Versões Anteriores:
    +
  • Responsividade no Diário Eletrônico
  • +
  • Melhorias no quadro de horário e Calendário Escolar
  • Correção de Campos
  • Melhoria Visual
  • Diário Eletrônico
  • Login de Professor
  • Novas Unidades de Medida da Merenda Escolar (KG e ML)
  • -
  • Adaptação de Campos Para o EducaCenso 2022 (Exportação)
  • +
  • Adaptação de Campos Para o EducaCenso 2022 (Exportação) - v.4
  • Gerenciamento de Etapas para Notas por Conceito
  • Aprimoramento da Função Calendário Escolar
  • -
- 11/04/2022 - TAG VERSÃO 2.12.1: -
-
  • Quadro de Horário Remodelado
  • Frequência Remodelada
  • Relatório do Bolsa Família Corrigido
  • -
- 21/05/2022 - TAG VERSÃO 2.12.2: -
-
  • Calendário Remodelado
');