Skip to content

Commit

Permalink
Merge branch 'main' into issue-4306
Browse files Browse the repository at this point in the history
  • Loading branch information
edineivaldameri committed Apr 16, 2024
2 parents 41b94f5 + c80f7cb commit 87a23de
Show file tree
Hide file tree
Showing 10 changed files with 56 additions and 13 deletions.
4 changes: 2 additions & 2 deletions app/Models/Educacenso/Registro20.php
Original file line number Diff line number Diff line change
Expand Up @@ -283,15 +283,15 @@ public function getTipoMediacaoValidaParaModalidadeCurso()

break;
case ModalidadeCurso::EDUCACAO_ESPECIAL:
return "{$tiposMediacao[App_Model_TipoMediacaoDidaticoPedagogico::PRESENCIAL]}";
return "{$tiposMediacao[App_Model_TipoMediacaoDidaticoPedagogico::PRESENCIAL]} ou {$tiposMediacao[App_Model_TipoMediacaoDidaticoPedagogico::SEMIPRESENCIAL]}";

break;
case ModalidadeCurso::EJA:
return "{$tiposMediacao[App_Model_TipoMediacaoDidaticoPedagogico::PRESENCIAL]} 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]}";
return "{$tiposMediacao[App_Model_TipoMediacaoDidaticoPedagogico::PRESENCIAL]}, {$tiposMediacao[App_Model_TipoMediacaoDidaticoPedagogico::SEMIPRESENCIAL]} ou {$tiposMediacao[App_Model_TipoMediacaoDidaticoPedagogico::EDUCACAO_A_DISTANCIA]}";

break;
}
Expand Down
1 change: 1 addition & 0 deletions app/Models/Educacenso/Registro60.php
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,7 @@ public function transportePublicoRequired()
{
$tiposMediacaoPresencial = [
TipoMediacaoDidaticoPedagogico::PRESENCIAL,
TipoMediacaoDidaticoPedagogico::SEMIPRESENCIAL,
];

return $this->tipoAtendimentoTurma == TipoAtendimentoTurma::ESCOLARIZACAO
Expand Down
19 changes: 19 additions & 0 deletions app/Rules/CheckMandatoryCensoFields.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
use App\Models\LegacySchool;
use App_Model_LocalFuncionamentoDiferenciado;
use App_Model_TipoMediacaoDidaticoPedagogico;
use iEducar\Modules\Educacenso\Model\EstruturaCurricular;
use iEducar\Modules\Educacenso\Model\FormaOrganizacaoTurma;
use iEducar\Modules\Educacenso\Model\ModalidadeCurso;
use iEducar\Modules\Educacenso\Model\TipoAtendimentoTurma;
Expand Down Expand Up @@ -216,6 +217,14 @@ private function validaEtapaEducacenso($params)
return false;
}

if ($params->tipo_mediacao_didatico_pedagogico == App_Model_TipoMediacaoDidaticoPedagogico::SEMIPRESENCIAL &&
isset($params->etapa_educacenso) &&
!in_array($params->etapa_educacenso, [69, 70, 71, 72])) {
$this->message = 'Quando o campo: Tipo de mediação didático-pedagógica é: Semipresencial, o campo: Etapa de ensino deve ser uma das seguintes opções: 69, 70, 71 ou 72.';

return false;
}

if ($params->tipo_mediacao_didatico_pedagogico == App_Model_TipoMediacaoDidaticoPedagogico::EDUCACAO_A_DISTANCIA &&
isset($params->etapa_educacenso) &&
!in_array((int) $params->etapa_educacenso, [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 64, 70, 71, 73, 74, 67, 68], true)) {
Expand Down Expand Up @@ -339,6 +348,16 @@ public function validaCampoEstruturaCurricular(mixed $params)
return false;
}

if (
is_array($estruturaCurricular) &&
!in_array(EstruturaCurricular::FORMACAO_GERAL_BASICA, $estruturaCurricular, true) &&
$params->tipo_mediacao_didatico_pedagogico == App_Model_TipoMediacaoDidaticoPedagogico::SEMIPRESENCIAL
) {
$this->message = 'Quando o campo: <b>Tipo de mediação didático-pedagógica</b> é: <b>Semipresencial</b>, o campo: <b>Estrutura curricular</b> deve ter a opção <b>Formação geral básica</b> informada.';

return false;
}

$etapaEnsinoCanNotContainsWithFormacaoGeralBasica = [1, 2, 3, 39, 40, 64, 68];
if (is_array($estruturaCurricular) &&
in_array(1, $estruturaCurricular, true) &&
Expand Down
2 changes: 1 addition & 1 deletion ieducar/intranet/educar_turma_cad.php
Original file line number Diff line number Diff line change
Expand Up @@ -634,7 +634,7 @@ public function Gerar()
2 => 'Não',
];

$options = ['label' => 'Classe com ensino desenvolvido com a Língua Brasileira de Sinais – Libras como primeira língua e a língua portuguesa de forma escrita como segunda língua (bilingue para surdos)', 'resources' => $resources, 'value' => $this->classe_com_lingua_brasileira_sinais, 'required' => $obrigarCamposCenso, 'size' => 70];
$options = ['label' => 'Classe bilíngue de surdos tendo a Libras (Língua Brasileira de Sinais) como língua de instrução, ensino, comunicação e interação e a língua portuguesa escrita como segunda língua', 'resources' => $resources, 'value' => $this->classe_com_lingua_brasileira_sinais, 'required' => $obrigarCamposCenso, 'size' => 70];
$this->inputsHelper()->select(attrName: 'classe_com_lingua_brasileira_sinais', inputOptions: $options);

$options = ['label' => 'Não informar esta turma no Censo escolar',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,12 @@
class App_Model_TipoMediacaoDidaticoPedagogico extends CoreExt_Enum
{
const PRESENCIAL = 1;

const SEMIPRESENCIAL = 2;
const EDUCACAO_A_DISTANCIA = 3;

protected $_data = [
self::PRESENCIAL => 'Presencial',
self::SEMIPRESENCIAL => 'Semipresencial',
self::EDUCACAO_A_DISTANCIA => 'Educação a distância',
];

Expand Down
31 changes: 26 additions & 5 deletions ieducar/modules/Api/Views/EducacensoAnaliseController.php
Original file line number Diff line number Diff line change
Expand Up @@ -892,7 +892,7 @@ protected function analisaEducacensoRegistro20()
if (is_null($turma->classeComLinguaBrasileiraSinais)) {
$mensagem[] = [
'text' => "Dados para formular o registro 20 da escola {$turma->nomeEscola} não encontrados. Informe se a turma {$nomeTurma} é de ensino desenvolvido com a Língua Brasileira de Sinais.",
'path' => '(Escola > Cadastros > Turmas > Editar > Aba: Dados adicionais > Campo: Classe com ensino desenvolvido com a Língua Brasileira de Sinais – Libras como primeira língua e a língua portuguesa de forma escrita como segunda língua (bilingue para surdos))',
'path' => '(Escola > Cadastros > Turmas > Editar > Aba: Dados adicionais > Campo: Classe bilíngue de surdos tendo a Libras (Língua Brasileira de Sinais) como língua de instrução, ensino, comunicação e interação e a língua portuguesa escrita como segunda língua)',
'linkPath' => "/intranet/educar_turma_cad.php?cod_turma={$turma->codTurma}",
'fail' => true,
];
Expand Down Expand Up @@ -932,7 +932,7 @@ protected function analisaEducacensoRegistro20()
];
}

if ($turma->tipoAtendimento != 0 && in_array($turma->tipoMediacaoDidaticoPedagogico, [App_Model_TipoMediacaoDidaticoPedagogico::EDUCACAO_A_DISTANCIA])) {
if ($turma->tipoAtendimento != 0 && in_array($turma->tipoMediacaoDidaticoPedagogico, [App_Model_TipoMediacaoDidaticoPedagogico::EDUCACAO_A_DISTANCIA, App_Model_TipoMediacaoDidaticoPedagogico::SEMIPRESENCIAL])) {
$descricaoTipoMediacao = (App_Model_TipoMediacaoDidaticoPedagogico::getInstance()->getEnums())[$turma->tipoMediacaoDidaticoPedagogico];

$mensagem[] = [
Expand All @@ -952,6 +952,19 @@ protected function analisaEducacensoRegistro20()
];
}

if (
$turma->tipoMediacaoDidaticoPedagogico == App_Model_TipoMediacaoDidaticoPedagogico::SEMIPRESENCIAL &&
count(array_filter($turma->estruturaCurricular)) > 0 &&
!in_array(EstruturaCurricular::FORMACAO_GERAL_BASICA, $turma->estruturaCurricular)
) {
$mensagem[] = [
'text' => "Dados para formular o registro 20 da escola {$turma->nomeEscola} possui valor inválido. Verificamos que o tipo de mediação didático pedagógico da turma {$nomeTurma} é semipresencial, portanto a turma deve ter estrutura curricular de formação geral básica.",
'path' => '(Escola > Cadastros > Turmas > Editar > Aba: Dados adicionais > Campo: Estrutura curricular)',
'linkPath' => "/intranet/educar_turma_cad.php?cod_turma={$turma->codTurma}",
'fail' => true
];
}

if ($atividadeComplementar && !$existeAtividadeComplementar) {
$mensagem[] = [
'text' => "Dados para formular o registro 20 da escola {$turma->nomeEscola} não encontrados. Verificamos que a turma {$nomeTurma} é de atividades complementares, portanto é necessário informar quais atividades complementares são trabalhadas.",
Expand All @@ -970,9 +983,9 @@ protected function analisaEducacensoRegistro20()
];
}

if (is_null($turma->localFuncionamentoDiferenciado) && in_array($turma->tipoMediacaoDidaticoPedagogico, [App_Model_TipoMediacaoDidaticoPedagogico::PRESENCIAL])) {
if (is_null($turma->localFuncionamentoDiferenciado) && in_array($turma->tipoMediacaoDidaticoPedagogico, [App_Model_TipoMediacaoDidaticoPedagogico::PRESENCIAL, App_Model_TipoMediacaoDidaticoPedagogico::SEMIPRESENCIAL])) {
$mensagem[] = [
'text' => "Dados para formular o registro 20 da escola {$turma->nomeEscola} não encontrados. Verificamos que a turma {$nomeTurma} é presencial, portanto é necessário informar se ela possui local de funcionamento diferenciado.",
'text' => "Dados para formular o registro 20 da escola {$turma->nomeEscola} não encontrados. Verificamos que a turma {$nomeTurma} é presencial ou semipresencial, portanto é necessário informar se ela possui local de funcionamento diferenciado.",
'path' => '(Escola > Cadastros > Turmas > Editar > Aba: Dados adicionais > Campo: Local de funcionamento diferenciado da turma)',
'linkPath' => "/intranet/educar_turma_cad.php?cod_turma={$turma->codTurma}",
'fail' => true,
Expand All @@ -989,7 +1002,8 @@ protected function analisaEducacensoRegistro20()
];
}

if (($turma->tipoMediacaoDidaticoPedagogico == App_Model_TipoMediacaoDidaticoPedagogico::EDUCACAO_A_DISTANCIA && !in_array($turma->modalidadeCurso, [ModalidadeCurso::ENSINO_REGULAR, ModalidadeCurso::EJA, ModalidadeCurso::EDUCACAO_PROFISSIONAL]))
if (($turma->tipoMediacaoDidaticoPedagogico == App_Model_TipoMediacaoDidaticoPedagogico::SEMIPRESENCIAL && !in_array($turma->modalidadeCurso, [ModalidadeCurso::EDUCACAO_ESPECIAL, ModalidadeCurso::EJA])) ||
($turma->tipoMediacaoDidaticoPedagogico == App_Model_TipoMediacaoDidaticoPedagogico::EDUCACAO_A_DISTANCIA && !in_array($turma->modalidadeCurso, [ModalidadeCurso::ENSINO_REGULAR, ModalidadeCurso::EJA, ModalidadeCurso::EDUCACAO_PROFISSIONAL]))
) {
$valuesDescription = $turma->getModalidadeCursoDescriptiveValue();
$opcoesPermitidas = $turma->getTipoMediacaoValidaParaModalidadeCurso();
Expand Down Expand Up @@ -1057,6 +1071,13 @@ protected function analisaEducacensoRegistro20()
$opcoesEtapaEducacenso = '';

switch ($turma->tipoMediacaoDidaticoPedagogico) {
case App_Model_TipoMediacaoDidaticoPedagogico::SEMIPRESENCIAL:
if (!in_array($turma->etapaEducacenso, [69, 70, 71, 72])) {
$opcoesEtapaEducacenso = '69, 70, 71 ou 72';
$valid = false;
}

break;
case App_Model_TipoMediacaoDidaticoPedagogico::EDUCACAO_A_DISTANCIA:
if (!in_array($turma->etapaEducacenso, [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 70, 71, 73, 74, 64, 67, 68])) {
$opcoesEtapaEducacenso = '25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 70, 71, 73, 74, 64, 67 ou 68';
Expand Down
4 changes: 2 additions & 2 deletions public/vendor/legacy/Cadastro/Assets/Javascripts/Turma.js
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ let verificaEtapaEducacenso = ()=>{
}

let verificaOutrasUnidadesCurricularesObrigatorias = ()=> {
$j("#outras_unidades_curriculares_obrigatorias").prop('disabled', ! $j('#estrutura_curricular').val().includes("2"));
$j("#outras_unidades_curriculares_obrigatorias").prop('disabled', !$j('#estrutura_curricular').val() || ! $j('#estrutura_curricular').val().includes("2"));
}

let verificaFormaOrganizacaoTurma = ()=> {
Expand Down Expand Up @@ -75,7 +75,7 @@ let verificaUnidadeCurricular = ()=> {

let verificaLocalFuncionamentoDiferenciado = () => {
$j('#local_funcionamento_diferenciado').makeUnrequired();
let habilitaCampo = [1].includes(+($j('#tipo_mediacao_didatico_pedagogico').val()));
let habilitaCampo = [1,2].includes(+($j('#tipo_mediacao_didatico_pedagogico').val()));
$j('#local_funcionamento_diferenciado').prop('disabled', !habilitaCampo);

if (habilitaCampo) {
Expand Down
2 changes: 1 addition & 1 deletion src/Modules/Educacenso/Data/Registro20.php
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ public function getRecordExportData($record)
$canExportComponente ? $this->getCensoValueForDiscipline(32, $componentesEducacenso, $record->disciplinasEducacensoComDocentes) : '', // 73 32. Estágio Curricular Supervisionado
$canExportComponente ? $this->getCensoValueForDiscipline(33, $componentesEducacenso, $record->disciplinasEducacensoComDocentes) : '', // 74 33. Projeto de vida
$canExportComponente ? $this->getCensoValueForDiscipline(99, $componentesEducacenso, $record->disciplinasEducacensoComDocentes) : '', // 75 99. Outras áreas do conhecimento
$record->classeComLinguaBrasileiraSinais == 1 ? 1 : 0, // 76 Classe com ensino desenvolvido com a Língua Brasileira de Sinais – Libras como primeira língua e a língua portuguesa de forma escrita
$record->classeComLinguaBrasileiraSinais == 1 ? 1 : 0, // 76 Classe bilíngue de surdos tendo a Libras (Língua Brasileira de Sinais) como língua de instrução, ensino, comunicação e interação e a língua portuguesa escrita como segunda língua
];
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ public static function handle(RegistroEducacenso $registro60): RegistroEducacens
{
$arrayTipoMediacao = [
TipoMediacaoDidaticoPedagogico::PRESENCIAL,
TipoMediacaoDidaticoPedagogico::SEMIPRESENCIAL,
];

if ($registro60->tipoAtendimentoTurma != TipoAtendimentoTurma::ESCOLARIZACAO ||
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@
class TipoMediacaoDidaticoPedagogico
{
public const PRESENCIAL = 1;

public const SEMIPRESENCIAL = 2;
public const EDUCACAO_A_DISTANCIA = 3;
}

0 comments on commit 87a23de

Please sign in to comment.