Skip to content
Permalink
Browse files

Merge branch 'master' into community-patch-2019-05-07

  • Loading branch information...
edersoares committed May 7, 2019
2 parents bb5224b + ab3b32d commit 73f0193082362ec4d4c87bf4fb869941841f7fd7
Showing with 21,135 additions and 1,112 deletions.
  1. +23 −0 app/Exceptions/Enrollment/ExistsActiveEnrollmentSameTimeException.php
  2. +16 −0 app/Http/Controllers/LegacyController.php
  3. +270 −0 app/Models/Educacenso/Registro20.php
  4. +40 −0 app/Models/Educacenso/Registro40.php
  5. +131 −0 app/Models/Educacenso/Registro50.php
  6. +132 −0 app/Models/Educacenso/Registro60.php
  7. +32 −0 app/Models/Employee.php
  8. +26 −0 app/Models/EmployeeInep.php
  9. +41 −0 app/Models/Enrollment.php
  10. +5 −0 app/Models/LegacyInstitution.php
  11. +27 −0 app/Models/LegacySchoolClass.php
  12. +10 −0 app/Models/ManagerAccessCriteria.php
  13. +10 −0 app/Models/ManagerLinkType.php
  14. +10 −0 app/Models/ManagerRole.php
  15. +39 −0 app/Models/School.php
  16. +78 −0 app/Models/SchoolManager.php
  17. +54 −0 app/Observers/SchoolManagerObserver.php
  18. +18 −0 app/Providers/AppServiceProvider.php
  19. +4 −3 app/Providers/EventServiceProvider.php
  20. +360 −0 app/Repositories/EducacensoRepository.php
  21. +34 −0 app/Rules/SchoolManagerAtLeastOneChief.php
  22. +34 −0 app/Rules/SchoolManagerUniqueIndividuals.php
  23. +10 −0 app/Services/EnrollmentService.php
  24. +59 −0 app/Services/SchoolClass/AvailableTimeService.php
  25. +45 −0 app/Services/SchoolManagerService.php
  26. +1 −2 config/assets.php
  27. +16 −0 database/factories/Enrollment.php
  28. +19 −0 database/factories/LegacySchoolClassFactory.php
  29. +20 −0 database/migrations/2019_03_28_100607_remove_menu_2_fase_exportacao_educacenso.php
  30. +5,615 −0 database/migrations/2019_03_29_165413_atualiza_acentuacao_nomes_municipios.php
  31. +10,354 −0 database/migrations/2019_03_29_165423_atualiza_acentuacao_nomes_distritos.php
  32. +31 −0 database/migrations/2019_04_02_172230_create_manager_roles.php
  33. +35 −0 database/migrations/2019_04_02_172235_insert_manager_roles.php
  34. +31 −0 database/migrations/2019_04_03_092110_create_manager_access_criterias.php
  35. +65 −0 database/migrations/2019_04_03_092135_insert_access_criterias.php
  36. +31 −0 database/migrations/2019_04_03_092204_create_manager_link_types.php
  37. +45 −0 database/migrations/2019_04_03_092214_insert_manager_link_types.php
  38. +43 −0 database/migrations/2019_04_03_172341_create_school_managers.php
  39. +32 −0 database/migrations/2019_04_04_162437_migra_disciplina_educacenso_removidas.php
  40. +38 −0 database/migrations/2019_04_04_163256_insert_school_managers.php
  41. +32 −0 database/migrations/2019_04_04_173044_add_local_funcionamento_diferenciado_to_pmieducar_turma.php
  42. +46 −0 database/migrations/2019_04_04_173231_migra_tipo_atendimento_da_turma_educacenso.php
  43. +32 −0 database/migrations/2019_04_10_152649_add_inep_id_school_managers.php
  44. +35 −0 database/migrations/2019_04_18_112400_alter_school_managers.php
  45. +32 −0 database/migrations/2019_04_22_103824_adiciona_coluna_data_saida_alocacao_servidor.php
  46. +31 −0 database/migrations/2019_04_22_161445_adiciona_coluna_tipo_atendimento_matricula_turma.php
  47. +36 −0 database/migrations/2019_04_22_234853_altera_coluna_veiculo_transporte_escolar_aluno.php
  48. +42 −0 database/migrations/2019_04_23_145541_insert_employees.php
  49. +48 −0 database/migrations/2019_04_25_164508_migrate_recebe_escolarizacao_em_outro_espaco_to_2019.php
  50. +32 −0 database/migrations/2019_04_26_155409_remove_deprecated_etapa_educacenso_from_turmas.php
  51. +41 −52 ieducar/intranet/educacenso_json/etapas_ensino.json
  52. +3 −3 ieducar/intranet/educar_curso_cad.php
  53. +233 −14 ieducar/intranet/educar_escola_cad.php
  54. +2 −2 ieducar/intranet/educar_escola_serie_hora_xml.php
  55. +1 −0 ieducar/intranet/educar_exportacao_educacenso.php
  56. +18 −6 ieducar/intranet/educar_importacao_educacenso.php
  57. +42 −11 ieducar/intranet/educar_matricula_cad.php
  58. +12 −0 ieducar/intranet/educar_matricula_det.php
  59. +2 −2 ieducar/intranet/educar_matricula_etapa_turma_cad.php
  60. +13 −1 ieducar/intranet/educar_matricula_turma_cad.php
  61. +159 −0 ieducar/intranet/educar_matricula_turma_tipo_aee_cad.php
  62. +1 −3 ieducar/intranet/educar_matricula_turma_unificada_cad.php
  63. +15 −2 ieducar/intranet/educar_servidor_alocacao_cad.php
  64. +7 −1 ieducar/intranet/educar_servidor_alocacao_det.php
  65. +55 −7 ieducar/intranet/educar_servidor_vinculo_turma_cad.php
  66. +4 −14 ieducar/intranet/educar_servidor_vinculo_turma_lst.php
  67. +156 −67 ieducar/intranet/educar_turma_cad.php
  68. +36 −27 ieducar/intranet/include/clsCadastro.inc.php
  69. +8 −8 ieducar/intranet/include/pmieducar/clsPmieducarAluno.inc.php
  70. +3 −3 ieducar/intranet/include/pmieducar/clsPmieducarEscola.inc.php
  71. +10 −1 ieducar/intranet/include/pmieducar/clsPmieducarMatriculaTurma.inc.php
  72. +21 −2 ieducar/intranet/include/pmieducar/clsPmieducarServidorAlocacao.inc.php
  73. +44 −8 ieducar/intranet/include/pmieducar/clsPmieducarTurma.inc.php
  74. +2 −2 ieducar/intranet/include/services/matricula/SequencialEnturmacao.php
  75. +8 −1 ieducar/intranet/scripts/etapas.js
  76. +12 −3 ieducar/intranet/styles/custom.css
  77. +9 −14 ieducar/lib/App/Model/Educacenso.php
  78. +23 −0 ieducar/lib/App/Model/Educacenso/LocalFuncionamentoDiferenciado.php
  79. +2 −2 ieducar/modules/Api/Views/AlunoController.php
  80. +484 −474 ieducar/modules/Api/Views/EducacensoAnaliseController.php
  81. +76 −234 ieducar/modules/Api/Views/EducacensoExportController.php
  82. +19 −0 ieducar/modules/Api/Views/ServidorController.php
  83. +1 −1 ieducar/modules/Avaliacao/Assets/Javascripts/Diario.js
  84. +3 −3 ieducar/modules/Avaliacao/Views/DiarioApiController.php
  85. +20 −2 ieducar/modules/Cadastro/Assets/Javascripts/Aluno.js
  86. +125 −6 ieducar/modules/Cadastro/Assets/Javascripts/Escola.js
  87. +201 −0 ieducar/modules/Cadastro/Assets/Javascripts/SchoolManagersModal.js
  88. +48 −101 ieducar/modules/Cadastro/Assets/Javascripts/Turma.js
  89. +17 −23 ieducar/modules/Cadastro/Views/AlunoController.php
  90. +3 −3 ieducar/modules/ComponenteCurricular/Model/CodigoEducacenso.php
  91. +5 −3 ieducar/modules/TabelaArredondamento/Model/Tabela.php
  92. +69 −0 src/Modules/Educacenso/Data/Registro20.php
  93. +55 −0 src/Modules/Educacenso/Data/Registro40.php
  94. +50 −0 src/Modules/Educacenso/Data/Registro50.php
  95. +58 −0 src/Modules/Educacenso/Data/Registro60.php
  96. +29 −0 src/Modules/Educacenso/ExportRule/CargoGestor.php
  97. +41 −0 src/Modules/Educacenso/ExportRule/ComponentesCurriculares.php
  98. +24 −0 src/Modules/Educacenso/ExportRule/CriterioAcessoGestor.php
  99. +29 −0 src/Modules/Educacenso/ExportRule/TipoVinculoServidor.php
  100. +16 −0 src/Modules/Educacenso/Model/ModalidadeCurso.php
  101. +19 −0 src/Modules/Educacenso/Model/SchoolManagerAccessCriteria.php
  102. +9 −0 src/Modules/Educacenso/Model/SchoolManagerRole.php
  103. +38 −0 src/Modules/Educacenso/Model/TipoAtendimentoAluno.php
  104. +13 −0 src/Modules/Educacenso/Model/TipoAtendimentoTurma.php
  105. +37 −0 src/Modules/Educacenso/Model/VeiculoTransporteEscolar.php
  106. +164 −0 src/Modules/Educacenso/Validator/SchoolManagers.php
  107. +5 −1 src/Modules/Servidores/Model/FuncaoExercida.php
  108. +46 −0 src/Modules/ValueObjects/SchoolManagerValueObject.php
  109. +60 −0 src/Support/View/SelectOptions.php
  110. +86 −0 tests/Unit/Educacenso/Validator/SchoolManagerTest.php
  111. +93 −0 tests/Unit/Services/SchoolClass/AvailableTimeServiceTest.php
@@ -0,0 +1,23 @@
<?php
namespace App\Exceptions\Enrollment;
use App\Models\LegacyRegistration;
use RuntimeException;
class ExistsActiveEnrollmentSameTimeException extends RuntimeException
{
/**
* Existe outra enturmação ativa para a turma.
*
* @param LegacyRegistration $registration
*/
public function __construct(LegacyRegistration $registration)
{
$message = 'A matrícula %s já está enturmada em uma turma com esse horário.';
$message = sprintf($message, $registration->id);
parent::__construct($message);
}
}
@@ -3,6 +3,7 @@
namespace App\Http\Controllers;
use Exception;
use Illuminate\Validation\ValidationException;
use Throwable;
use Illuminate\Contracts\Debug\ExceptionHandler;
use Illuminate\Http\Exceptions\HttpResponseException;
@@ -124,6 +125,21 @@ private function loadFileOrAbort($filename)
try {
require_once $filename;
return;
} catch (HttpResponseException $exception) {
// Para evitar encerrar a aplicação com `die` ou `exit`, é lançada
// uma exceção do tipo `HttpResponseException` com uma `Response`
// interna que será a resposta devolvida pela aplicação.
throw $exception;
} catch (ValidationException $exception) {
// Trata as exceções geradas pela validação do Laravel.
// Nesse caso a exception será lançada e o próprio framework fará o redirect
// e tratamento das mensagens de erro
throw $exception;
} catch (Exception $exception) {
// A maioria das vezes será pega a Exception neste catch, apenas
@@ -0,0 +1,270 @@
<?php
namespace App\Models\Educacenso;
use iEducar\Modules\Educacenso\Model\LocalFuncionamento;
use iEducar\Modules\Educacenso\Model\ModalidadeCurso;
use App_Model_TipoMediacaoDidaticoPedagogico;
use App_Model_LocalFuncionamentoDiferenciado;
class Registro20 implements RegistroEducacenso
{
/**
* @var string
*/
public $codTurma;
/**
* @var string
*/
public $codEscola;
/**
* @var string
*/
public $codCurso;
/**
* @var string
*/
public $codSerie;
/**
* @var string
*/
public $nomeTurma;
/**
* @var string
*/
public $horaInicial;
/**
* @var string
*/
public $horaFinal;
/**
* @var array
*/
public $diasSemana;
/**
* @var string
*/
public $tipoAtendimento;
/**
* @var array
*/
public $atividadesComplementares;
/**
* @var string
*/
public $etapaEducacenso;
/**
* @var string
*/
public $nomeEscola;
/**
* @var string
*/
public $tipoMediacaoDidaticoPedagogico;
/**
* @var string
*/
public $possuiServidor;
/**
* @var string
*/
public $possuiServidorDocente;
/**
* @var string
*/
public $possuiServidorLibras;
/**
* @var string
*/
public $possuiServidorLibrasOuAuxiliarEad;
/**
* @var string
*/
public $possuiServidorDiferenteLibrasOuAuxiliarEad;
/**
* @var string
*/
public $possuiAlunoNecessitandoTradutor;
/**
* @var string
*/
public $possuiServidorNecessitandoTradutor;
/**
* @var string
*/
public $localFuncionamentoDiferenciado;
/**
* @var array
*/
public $localFuncionamento;
/**
* @var string
*/
public $modalidadeCurso;
/**
* @var string
*/
public $codCursoProfissional;
/**
* @return bool
*/
public function horarioFuncionamentoValido()
{
if ($this->horaInicial >= $this->horaFinal) {
return false;
}
$horaInicial = explode(':', $this->horaInicial)[0];
$horaFinal = explode(':', $this->horaFinal)[0];
$minutoInicial = explode(':', $this->horaInicial)[1];
$minutoFinal = explode(':', $this->horaFinal)[1];
return $this->validaHoras($horaInicial) && $this->validaHoras($horaFinal) && $this->validaMinutos($minutoInicial) && $this->validaMinutos($minutoFinal);
}
/**
* @return bool
*/
private function validaHoras($horas)
{
return strlen($horas) == 2 && $horas >= '00' && $horas <= '23';
}
/**
* @return bool
*/
private function validaMinutos($minutos)
{
return strlen($minutos) == 2 && $minutos <= '55' && ((int) $minutos % 5) == 0;
}
public function getLocalFuncionamentoDescriptiveValue()
{
$descriptiveValues = LocalFuncionamento::getDescriptiveValues();
$descriptiveValues = array_filter($descriptiveValues, function($key) {
return in_array($key, $this->localFuncionamento);
}, ARRAY_FILTER_USE_KEY);
return implode(', ', $descriptiveValues);
}
public function getModalidadeCursoDescriptiveValue()
{
$descriptiveValues = ModalidadeCurso::getDescriptiveValues();
return $descriptiveValues[$this->modalidadeCurso] ?? null;
}
public function getLocalFuncionamentoDiferenciadoDescription()
{
$locaisFuncionamentoDiferenciado = App_Model_LocalFuncionamentoDiferenciado::getInstance()->getEnums();
return $locaisFuncionamentoDiferenciado[$this->localFuncionamentoDiferenciado] ?? '';
}
public function getTipoMediacaoValidaParaModalidadeCurso()
{
$tiposMediacao = App_Model_TipoMediacaoDidaticoPedagogico::getInstance()->getEnums();
switch ($this->modalidadeCurso) {
case ModalidadeCurso::ENSINO_REGULAR:
return "{$tiposMediacao[App_Model_TipoMediacaoDidaticoPedagogico::PRESENCIAL]} ou {$tiposMediacao[App_Model_TipoMediacaoDidaticoPedagogico::EDUCACAO_A_DISTANCIA]}";
break;
case ModalidadeCurso::EDUCACAO_ESPECIAL:
return "{$tiposMediacao[App_Model_TipoMediacaoDidaticoPedagogico::PRESENCIAL]} ou {$tiposMediacao[App_Model_TipoMediacaoDidaticoPedagogico::SEMIPRESENCIAL]}";
break;
case ModalidadeCurso::EJA:
return "{$tiposMediacao[App_Model_TipoMediacaoDidaticoPedagogico::PRESENCIAL]}, {$tiposMediacao[App_Model_TipoMediacaoDidaticoPedagogico::SEMIPRESENCIAL]} ou {$tiposMediacao[App_Model_TipoMediacaoDidaticoPedagogico::EDUCACAO_A_DISTANCIA]}";
break;
case ModalidadeCurso::EDUCACAO_PROFISSIONAL:
return "{$tiposMediacao[App_Model_TipoMediacaoDidaticoPedagogico::PRESENCIAL]} ou {$tiposMediacao[App_Model_TipoMediacaoDidaticoPedagogico::EDUCACAO_A_DISTANCIA]}";
break;
}
}
public function getForbiddenDisciplines()
{
switch ($this->etapaEducacenso) {
case 14:
case 15:
case 16:
case 17:
case 18:
case 69:
return [1,2,4,17,25,29];
break;
case 19:
case 20:
case 21:
case 41:
case 70:
return [17,25,28];
break;
case 23:
case 22:
case 56:
case 72:
return [17,25];
break;
case 73:
return [25];
break;
case 25:
case 26:
case 27:
case 28:
case 29:
case 71:
return [5,17,25,28];
break;
case 30:
case 31:
case 32:
case 33:
case 34:
case 74:
case 67:
return [5,25,28];
break;
case 35:
case 36:
case 37:
case 38:
return [17,28];
break;
case 39:
case 40:
case 64:
case 68:
return [1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,23,25,26,27,28,29,30,31,99];
break;
default:
return [];
break;
}
}
}
@@ -0,0 +1,40 @@
<?php
namespace App\Models\Educacenso;
use iEducar\Modules\Educacenso\Model\DependenciaAdministrativaEscola;
use iEducar\Modules\Educacenso\Model\TratamentoLixo;
use iEducar\Modules\Educacenso\Model\RecursosAcessibilidade;
use iEducar\Modules\Educacenso\Model\UsoInternet;
use iEducar\Modules\Educacenso\Model\Equipamentos;
use iEducar\Modules\Educacenso\Model\ReservaVagasCotas;
use iEducar\Modules\Educacenso\Model\RedeLocal;
use iEducar\Modules\Educacenso\Model\OrgaosColegiados;
class Registro40 implements RegistroEducacenso
{
public $registro;
public $inepEscola;
public $codigoPessoa;
public $inepGestor;
public $cargo;
public $criterioAcesso;
public $especificacaoCriterioAcesso;
public $tipoVinculo;
public $dependenciaAdministrativa;
public function isDependenciaAdministrativaPublica()
{
return $this->dependenciaAdministrativa == DependenciaAdministrativaEscola::MUNICIPAL ||
$this->dependenciaAdministrativa == DependenciaAdministrativaEscola::ESTADUAL ||
$this->dependenciaAdministrativa == DependenciaAdministrativaEscola::FEDERAL;
}
}

0 comments on commit 73f0193

Please sign in to comment.
You can’t perform that action at this time.