From 1ab83913d693a8e6383bce80151255edd351ddcf Mon Sep 17 00:00:00 2001 From: Eder Soares Date: Thu, 7 Jun 2018 11:29:58 -0300 Subject: [PATCH 01/38] Corrige alguns erros no arquivo ieducar/modules/Avaliacao/Service/Boletim.php MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove trecho de código não utilizado - Inicializa variáveis antes de serem usadas Refs #3748 --- ieducar/modules/Avaliacao/Service/Boletim.php | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/ieducar/modules/Avaliacao/Service/Boletim.php b/ieducar/modules/Avaliacao/Service/Boletim.php index 95b0e5e2ac..b5dc0baa15 100644 --- a/ieducar/modules/Avaliacao/Service/Boletim.php +++ b/ieducar/modules/Avaliacao/Service/Boletim.php @@ -1433,10 +1433,6 @@ public function getSituacaoNotas() $mediaGeral = $this->getMediasGerais(); - if (0 == count($mediasGerais)) { - $situacaoGeral = App_Model_MatriculaSituacao::EM_ANDAMENTO; - } - if ($this->getRegra()->get('tipoNota') == RegraAvaliacao_Model_Nota_TipoValor::NUMERICA) { $media = $mediaGeral->mediaArredondada; } @@ -1466,6 +1462,7 @@ public function getSituacaoNotas() } foreach($mediasComponentes as $id => $mediaComponente){ + $situacao->componentesCurriculares[$id] = new stdClass(); $situacao->componentesCurriculares[$id]->situacao = $situacaoGeral; } @@ -1496,6 +1493,7 @@ public function getSituacaoNotas() $qtdComponenteReprovado = 0; $qtdComponentes = 0; $somaMedias = 0; + $media = 0; $turmaId = $this->getOption('ref_cod_turma'); foreach ($mediasComponentes as $id => $mediaComponente) { From 2e6e688ecb38b3fa80865d230dc1f88fa700085b Mon Sep 17 00:00:00 2001 From: Eder Soares Date: Thu, 7 Jun 2018 13:41:58 -0300 Subject: [PATCH 02/38] =?UTF-8?q?Muda=20par=C3=A2metro=20do=20construtor?= =?UTF-8?q?=20para=20ser=20null=20como=20default?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - O parâmetro $str_passaporte passa a ser null como default - Aplica code style no construtor Refs #3748 --- .../include/pessoa/clsDocumento.inc.php | 86 +++++++++++++++---- 1 file changed, 67 insertions(+), 19 deletions(-) diff --git a/ieducar/intranet/include/pessoa/clsDocumento.inc.php b/ieducar/intranet/include/pessoa/clsDocumento.inc.php index 7635ed2ba2..45acf3b30e 100644 --- a/ieducar/intranet/include/pessoa/clsDocumento.inc.php +++ b/ieducar/intranet/include/pessoa/clsDocumento.inc.php @@ -67,33 +67,81 @@ class clsDocumento var $schema = "cadastro"; /** - * Construtor + * clsDocumento constructor. * - * @return Object:clsDocumento + * @param bool $int_idpes + * @param bool $int_rg + * @param bool $str_data_exp_rg + * @param bool $str_sigla_uf_exp_rg + * @param bool $int_tipo_cert_civil + * @param bool $int_num_termo + * @param bool $int_num_livro + * @param bool $int_num_folha + * @param bool $str_data_emissao_cert_civil + * @param bool $str_sigla_uf_cert_civil + * @param bool $str_cartorio_cert_civil + * @param bool $int_num_cart_trabalho + * @param bool $int_serie_cart_trabalho + * @param bool $str_data_emissao_cart_trabalho + * @param bool $str_sigla_uf_cart_trabalho + * @param bool $int_num_tit_eleitor + * @param bool $int_zona_tit_eleitor + * @param bool $int_secao_tit_eleitor + * @param bool $int_idorg_exp_rg + * @param null $str_certidao_nascimento + * @param null $str_certidao_casamento + * @param null $str_passaporte + * @param null $str_comprovante_residencia + * @param null $str_declaracao_trabalho_autonomo */ - function __construct( $int_idpes = false, $int_rg = false, $str_data_exp_rg = false, $str_sigla_uf_exp_rg = false, $int_tipo_cert_civil = false, $int_num_termo = false, $int_num_livro = false, $int_num_folha = false, $str_data_emissao_cert_civil = false, $str_sigla_uf_cert_civil = false, $str_cartorio_cert_civil = false, $int_num_cart_trabalho = false, $int_serie_cart_trabalho = false, $str_data_emissao_cart_trabalho = false, $str_sigla_uf_cart_trabalho = false, $int_num_tit_eleitor = false, $int_zona_tit_eleitor = false, $int_secao_tit_eleitor = false, $int_idorg_exp_rg = false, $str_certidao_nascimento = null, $str_certidao_casamento = null, $str_passaporte, $str_comprovante_residencia = null, $str_declaracao_trabalho_autonomo = null) - { + public function __construct( + $int_idpes = false, + $int_rg = false, + $str_data_exp_rg = false, + $str_sigla_uf_exp_rg = false, + $int_tipo_cert_civil = false, + $int_num_termo = false, + $int_num_livro = false, + $int_num_folha = false, + $str_data_emissao_cert_civil = false, + $str_sigla_uf_cert_civil = false, + $str_cartorio_cert_civil = false, + $int_num_cart_trabalho = false, + $int_serie_cart_trabalho = false, + $str_data_emissao_cart_trabalho = false, + $str_sigla_uf_cart_trabalho = false, + $int_num_tit_eleitor = false, + $int_zona_tit_eleitor = false, + $int_secao_tit_eleitor = false, + $int_idorg_exp_rg = false, + $str_certidao_nascimento = null, + $str_certidao_casamento = null, + $str_passaporte = null, + $str_comprovante_residencia = null, + $str_declaracao_trabalho_autonomo = null + ) { $objPessoa = new clsFisica($int_idpes); - if($objPessoa->detalhe()) - { + + if ($objPessoa->detalhe()) { $this->idpes= $int_idpes; } $this->rg = $int_rg; $this->data_exp_rg = $str_data_exp_rg; $objUj = new clsUf($str_sigla_uf_exp_rg); - if($objUj->detalhe()) - { + + if ($objUj->detalhe()) { $this->sigla_uf_exp_rg = $str_sigla_uf_exp_rg; } + $this->tipo_cert_civil = $int_tipo_cert_civil; $this->num_termo = $int_num_termo; $this->num_livro = $int_num_livro; $this->num_folha = $int_num_folha; $this->data_emissao_cert_civil = $str_data_emissao_cert_civil; $objUj = new clsUf($str_sigla_uf_cert_civil); - if($objUj->detalhe()) - { + + if($objUj->detalhe()) { $this->sigla_uf_cert_civil= $str_sigla_uf_cert_civil; } @@ -103,8 +151,8 @@ function __construct( $int_idpes = false, $int_rg = false, $str_data_exp_rg = fa $this->data_emissao_cart_trabalho = $str_data_emissao_cart_trabalho; $objUj = new clsUf($str_sigla_uf_cart_trabalho); - if($objUj->detalhe()) - { + + if ($objUj->detalhe()) { $this->sigla_uf_cart_trabalho= $str_sigla_uf_cart_trabalho; } @@ -113,16 +161,16 @@ function __construct( $int_idpes = false, $int_rg = false, $str_data_exp_rg = fa $this->secao_tit_eleitor = $int_secao_tit_eleitor; $objOrgEmisRg = new clsOrgaoEmissorRg($int_idorg_exp_rg); - if ($objOrgEmisRg->detalhe()) - { + + if ($objOrgEmisRg->detalhe()) { $this->idorg_exp_rg = $int_idorg_exp_rg; } - $this->certidao_nascimento = $str_certidao_nascimento; - $this->certidao_casamento = $str_certidao_casamento; - $this->passaporte = $str_passaporte; - $this->comprovante_residencia = $str_comprovante_residencia; - $this->declaracao_trabalho_autonomo = $str_declaracao_trabalho_autonomo; + $this->certidao_nascimento = $str_certidao_nascimento; + $this->certidao_casamento = $str_certidao_casamento; + $this->passaporte = $str_passaporte; + $this->comprovante_residencia = $str_comprovante_residencia; + $this->declaracao_trabalho_autonomo = $str_declaracao_trabalho_autonomo; $this->tabela = "documento"; } From dd289d9e0e5ffb40a809b7c14ee8744355e4f919 Mon Sep 17 00:00:00 2001 From: Eder Soares Date: Thu, 7 Jun 2018 13:51:38 -0300 Subject: [PATCH 03/38] =?UTF-8?q?Inicializa=20vari=C3=A1vel=20como=20array?= =?UTF-8?q?=20para=20evitar=20warning?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Refs #3748 --- ieducar/modules/Avaliacao/Service/Boletim.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ieducar/modules/Avaliacao/Service/Boletim.php b/ieducar/modules/Avaliacao/Service/Boletim.php index b5dc0baa15..c30fd6f29c 100644 --- a/ieducar/modules/Avaliacao/Service/Boletim.php +++ b/ieducar/modules/Avaliacao/Service/Boletim.php @@ -951,6 +951,8 @@ public function getParecerDescritivo($etapa = 1, $id = NULL) RegraAvaliacao_Model_TipoParecerDescritivo::ETAPA_COMPONENTE ); + $pareceres = []; + if (in_array($parecerDescritivo, $gerais)) { $pareceres = $this->getPareceresGerais(); } From 3025770d457ec704c00349f57f98d6a659b8c836 Mon Sep 17 00:00:00 2001 From: Rodrigo Rodrigues Date: Fri, 29 Jun 2018 09:25:09 -0300 Subject: [PATCH 04/38] =?UTF-8?q?Cria=205=20campos=20para=20informar=20c?= =?UTF-8?q?=C3=B3digo=20escola=20compartilha=20pr=C3=A9dio;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Criado mais 5 campos para informar o código da escolar que compartilha prédio, pois a casos de +2 escolas que compartilham o mesmo prédio. --- ieducar/intranet/educar_escola_cad.php | 90 +++++++++++++++++-- .../pmieducar/clsPmieducarEscola.inc.php | 82 ++++++++++++++++- ...ampos_codigo_inep_escola_compartilhada.php | 25 ++++++ .../Cadastro/Assets/Javascripts/Escola.js | 9 +- 4 files changed, 197 insertions(+), 9 deletions(-) create mode 100644 ieducar/misc/database/migrations/20180628204326_cria_campos_codigo_inep_escola_compartilhada.php diff --git a/ieducar/intranet/educar_escola_cad.php b/ieducar/intranet/educar_escola_cad.php index 1d2be3eacb..da8da8a983 100644 --- a/ieducar/intranet/educar_escola_cad.php +++ b/ieducar/intranet/educar_escola_cad.php @@ -87,6 +87,11 @@ class indice extends clsCadastro public $local_funcionamento; public $condicao; public $codigo_inep_escola_compartilhada; + public $codigo_inep_escola_compartilhada2; + public $codigo_inep_escola_compartilhada3; + public $codigo_inep_escola_compartilhada4; + public $codigo_inep_escola_compartilhada5; + public $codigo_inep_escola_compartilhada6; public $decreto_criacao; public $area_terreno_total; public $area_construida; @@ -906,12 +911,28 @@ public function Gerar() $options = array('disabled' => $disabled, 'label' => 'Forma de ocupação do prédio', 'resources' => $resources, 'value' => $this->condicao, 'size' => 70, 'required' => false); $this->inputsHelper()->select('condicao', $options); - $options = array('label' => 'Código da escola que compartilha o prédio', + $options = array('label' => 'Código da escola que compartilha o prédio 1', 'disabled' => $disabled, 'label_hint' => 'Caso compartilhe o prédio escolar com outra escola preencha com o código INEP', 'resources' => $resources, 'value' => $this->codigo_inep_escola_compartilhada, 'required' => false, 'size' => 8, 'max_length' => 8, 'placeholder' => ''); $this->inputsHelper()->integer('codigo_inep_escola_compartilhada', $options); + $options['label'] = 'Código da escola que compartilha o prédio 2'; + $options['value'] = $this->codigo_inep_escola_compartilhada2; + $this->inputsHelper()->integer('codigo_inep_escola_compartilhada2', $options); + $options['label'] = 'Código da escola que compartilha o prédio 3'; + $options['value'] = $this->codigo_inep_escola_compartilhada3; + $this->inputsHelper()->integer('codigo_inep_escola_compartilhada3', $options); + $options['label'] = 'Código da escola que compartilha o prédio 4'; + $options['value'] = $this->codigo_inep_escola_compartilhada4; + $this->inputsHelper()->integer('codigo_inep_escola_compartilhada4', $options); + $options['label'] = 'Código da escola que compartilha o prédio 5'; + $options['value'] = $this->codigo_inep_escola_compartilhada5; + $this->inputsHelper()->integer('codigo_inep_escola_compartilhada5', $options); + $options['label'] = 'Código da escola que compartilha o prédio 6'; + $options['value'] = $this->codigo_inep_escola_compartilhada6; + $this->inputsHelper()->integer('codigo_inep_escola_compartilhada6', $options); + $resources = array(null => 'Selecione', 1 => 'Difícil', @@ -1335,10 +1356,31 @@ public function Novo() return false; } - if (!$this->validaDigitosInepEscola($this->codigo_inep_escola_compartilhada, 'Código da escola que compartilha o prédio')) { + if (!$this->validaDigitosInepEscola($this->codigo_inep_escola_compartilhada, 'Código da escola que compartilha o prédio 1')) { return false; } + if (!$this->validaDigitosInepEscola($this->codigo_inep_escola_compartilhada2, 'Código da escola que compartilha o prédio 2')) { + return false; + } + + if (!$this->validaDigitosInepEscola($this->codigo_inep_escola_compartilhada3, 'Código da escola que compartilha o prédio 3')) { + return false; + } + + if (!$this->validaDigitosInepEscola($this->codigo_inep_escola_compartilhada4, 'Código da escola que compartilha o prédio 4')) { + return false; + } + + if (!$this->validaDigitosInepEscola($this->codigo_inep_escola_compartilhada5, 'Código da escola que compartilha o prédio 5')) { + return false; + } + + if (!$this->validaDigitosInepEscola($this->codigo_inep_escola_compartilhada6, 'Código da escola que compartilha o prédio 6')) { + return false; + } + + if (in_array(5, $this->abastecimento_agua) && count($this->abastecimento_agua) > 1) { $this->mensagem = 'Não é possível informar mais de uma opção no campo: Abastecimento de água, quando a opção: Inexistente estiver selecionada.'; return false; @@ -1379,6 +1421,11 @@ public function Novo() $obj->local_funcionamento = $this->local_funcionamento; $obj->condicao = $this->condicao; $obj->codigo_inep_escola_compartilhada = $this->codigo_inep_escola_compartilhada; + $obj->codigo_inep_escola_compartilhada2 = $this->codigo_inep_escola_compartilhada2; + $obj->codigo_inep_escola_compartilhada3 = $this->codigo_inep_escola_compartilhada3; + $obj->codigo_inep_escola_compartilhada4 = $this->codigo_inep_escola_compartilhada4; + $obj->codigo_inep_escola_compartilhada5 = $this->codigo_inep_escola_compartilhada5; + $obj->codigo_inep_escola_compartilhada6 = $this->codigo_inep_escola_compartilhada6; $obj->decreto_criacao = $this->decreto_criacao; $obj->area_terreno_total = $this->area_terreno_total; $obj->area_construida = $this->area_construida; @@ -1547,6 +1594,11 @@ public function Novo() $obj->local_funcionamento = $this->local_funcionamento; $obj->condicao = $this->condicao; $obj->codigo_inep_escola_compartilhada = $this->codigo_inep_escola_compartilhada; + $obj->codigo_inep_escola_compartilhada2 = $this->codigo_inep_escola_compartilhada2; + $obj->codigo_inep_escola_compartilhada3 = $this->codigo_inep_escola_compartilhada3; + $obj->codigo_inep_escola_compartilhada4 = $this->codigo_inep_escola_compartilhada4; + $obj->codigo_inep_escola_compartilhada5 = $this->codigo_inep_escola_compartilhada5; + $obj->codigo_inep_escola_compartilhada6 = $this->codigo_inep_escola_compartilhada6; $obj->decreto_criacao = $this->decreto_criacao; $obj->area_terreno_total = $this->area_terreno_total; $obj->area_construida = $this->area_construida; @@ -1695,7 +1747,27 @@ public function Editar() return false; } - if (!$this->validaDigitosInepEscola($this->codigo_inep_escola_compartilhada, 'Código da escola que compartilha o prédio')) { + if (!$this->validaDigitosInepEscola($this->codigo_inep_escola_compartilhada, 'Código da escola que compartilha o prédio 1')) { + return false; + } + + if (!$this->validaDigitosInepEscola($this->codigo_inep_escola_compartilhada2, 'Código da escola que compartilha o prédio 2')) { + return false; + } + + if (!$this->validaDigitosInepEscola($this->codigo_inep_escola_compartilhada3, 'Código da escola que compartilha o prédio 3')) { + return false; + } + + if (!$this->validaDigitosInepEscola($this->codigo_inep_escola_compartilhada4, 'Código da escola que compartilha o prédio 4')) { + return false; + } + + if (!$this->validaDigitosInepEscola($this->codigo_inep_escola_compartilhada5, 'Código da escola que compartilha o prédio 5')) { + return false; + } + + if (!$this->validaDigitosInepEscola($this->codigo_inep_escola_compartilhada6, 'Código da escola que compartilha o prédio 6')) { return false; } @@ -1741,8 +1813,11 @@ public function Editar() $obj->local_funcionamento = $this->local_funcionamento; $obj->condicao = $this->condicao; $obj->codigo_inep_escola_compartilhada = $this->codigo_inep_escola_compartilhada; - $obj->codigo_inep_escola_compartilhada = $this->codigo_inep_escola_compartilhada; - $obj->codigo_inep_escola_compartilhada = $this->codigo_inep_escola_compartilhada; + $obj->codigo_inep_escola_compartilhada2 = $this->codigo_inep_escola_compartilhada2; + $obj->codigo_inep_escola_compartilhada3 = $this->codigo_inep_escola_compartilhada3; + $obj->codigo_inep_escola_compartilhada4 = $this->codigo_inep_escola_compartilhada4; + $obj->codigo_inep_escola_compartilhada5 = $this->codigo_inep_escola_compartilhada5; + $obj->codigo_inep_escola_compartilhada6 = $this->codigo_inep_escola_compartilhada6; $obj->decreto_criacao = $this->decreto_criacao; $obj->area_terreno_total = $this->area_terreno_total; $obj->area_construida = $this->area_construida; @@ -1843,6 +1918,11 @@ public function Editar() $obj->local_funcionamento = $this->local_funcionamento; $obj->condicao = $this->condicao; $obj->codigo_inep_escola_compartilhada = $this->codigo_inep_escola_compartilhada; + $obj->codigo_inep_escola_compartilhada2 = $this->codigo_inep_escola_compartilhada2; + $obj->codigo_inep_escola_compartilhada3 = $this->codigo_inep_escola_compartilhada3; + $obj->codigo_inep_escola_compartilhada4 = $this->codigo_inep_escola_compartilhada4; + $obj->codigo_inep_escola_compartilhada5 = $this->codigo_inep_escola_compartilhada5; + $obj->codigo_inep_escola_compartilhada6 = $this->codigo_inep_escola_compartilhada6; $obj->decreto_criacao = $this->decreto_criacao; $obj->area_terreno_total = $this->area_terreno_total; $obj->area_construida = $this->area_construida; diff --git a/ieducar/intranet/include/pmieducar/clsPmieducarEscola.inc.php b/ieducar/intranet/include/pmieducar/clsPmieducarEscola.inc.php index 5b0d6a0993..e10e3a11ab 100644 --- a/ieducar/intranet/include/pmieducar/clsPmieducarEscola.inc.php +++ b/ieducar/intranet/include/pmieducar/clsPmieducarEscola.inc.php @@ -70,6 +70,11 @@ class clsPmieducarEscola var $local_funcionamento; var $condicao; var $codigo_inep_escola_compartilhada; + var $codigo_inep_escola_compartilhada2; + var $codigo_inep_escola_compartilhada3; + var $codigo_inep_escola_compartilhada4; + var $codigo_inep_escola_compartilhada5; + var $codigo_inep_escola_compartilhada6; var $decreto_criacao; var $area_terreno_total; var $area_disponivel; @@ -232,8 +237,11 @@ function __construct($cod_escola = NULL, e.dependencia_patio_coberto, e.dependencia_patio_descoberto, e.dependencia_alojamento_aluno, e.dependencia_alojamento_professor, e.dependencia_area_verde, e.dependencia_lavanderia, e.dependencia_nenhuma_relacionada, e.dependencia_numero_salas_existente, dependencia_numero_salas_utilizadas, e.total_funcionario, e.atendimento_aee, e.fundamental_ciclo, e.localizacao_diferenciada, e.materiais_didaticos_especificos, e.educacao_indigena, e.lingua_ministrada, e.espaco_brasil_aprendizado, - e.abre_final_semana, e.codigo_lingua_indigena, e.atividade_complementar, e.proposta_pedagogica, e.local_funcionamento, e.codigo_inep_escola_compartilhada, e.televisoes, e.videocassetes, e.dvds, e.antenas_parabolicas, e.copiadoras, - e.retroprojetores, e.impressoras, e.aparelhos_de_som, e.projetores_digitais, e.faxs, e.maquinas_fotograficas, e.computadores, e.computadores_administrativo, e.computadores_alunos, e.impressoras_multifuncionais, e.acesso_internet, e.banda_larga, e.ato_criacao, e.ato_autorizativo, e.ref_idpes_secretario_escolar, e.utiliza_regra_diferenciada, e.categoria_escola_privada, e.conveniada_com_poder_publico, e.mantenedora_escola_privada, e.cnpj_mantenedora_principal, e.email_gestor + e.abre_final_semana, e.codigo_lingua_indigena, e.atividade_complementar, e.proposta_pedagogica, e.local_funcionamento, e.codigo_inep_escola_compartilhada, e.codigo_inep_escola_compartilhada2, e.codigo_inep_escola_compartilhada3, e.codigo_inep_escola_compartilhada4, + e.codigo_inep_escola_compartilhada5, e.codigo_inep_escola_compartilhada6, e.televisoes, e.videocassetes, e.dvds, e.antenas_parabolicas, e.copiadoras, e.retroprojetores, e.impressoras, e.aparelhos_de_som, + e.projetores_digitais, e.faxs, e.maquinas_fotograficas, e.computadores, e.computadores_administrativo, e.computadores_alunos, e.impressoras_multifuncionais, e.acesso_internet, e.banda_larga, e.ato_criacao, + e.ato_autorizativo, e.ref_idpes_secretario_escolar, e.utiliza_regra_diferenciada, e.categoria_escola_privada, e.conveniada_com_poder_publico, e.mantenedora_escola_privada, e.cnpj_mantenedora_principal, + e.email_gestor '; if (is_numeric($ref_usuario_cad)) { @@ -515,6 +523,36 @@ function cadastra() $gruda = ", "; } + if (is_numeric($this->codigo_inep_escola_compartilhada2)) { + $campos .= "{$gruda}codigo_inep_escola_compartilhada2"; + $valores .= "{$gruda}'{$this->codigo_inep_escola_compartilhada2}'"; + $gruda = ", "; + } + + if (is_numeric($this->codigo_inep_escola_compartilhada3)) { + $campos .= "{$gruda}codigo_inep_escola_compartilhada3"; + $valores .= "{$gruda}'{$this->codigo_inep_escola_compartilhada3}'"; + $gruda = ", "; + } + + if (is_numeric($this->codigo_inep_escola_compartilhada4)) { + $campos .= "{$gruda}codigo_inep_escola_compartilhada4"; + $valores .= "{$gruda}'{$this->codigo_inep_escola_compartilhada4}'"; + $gruda = ", "; + } + + if (is_numeric($this->codigo_inep_escola_compartilhada5)) { + $campos .= "{$gruda}codigo_inep_escola_compartilhada5"; + $valores .= "{$gruda}'{$this->codigo_inep_escola_compartilhada5}'"; + $gruda = ", "; + } + + if (is_numeric($this->codigo_inep_escola_compartilhada6)) { + $campos .= "{$gruda}codigo_inep_escola_compartilhada6"; + $valores .= "{$gruda}'{$this->codigo_inep_escola_compartilhada6}'"; + $gruda = ", "; + } + if (is_numeric($this->num_pavimentos)) { $campos .= "{$gruda}num_pavimentos"; $valores .= "{$gruda}'{$this->num_pavimentos}'"; @@ -1168,6 +1206,46 @@ function edita() $gruda = ", "; } + if (is_numeric($this->codigo_inep_escola_compartilhada2)) { + $set .= "{$gruda}codigo_inep_escola_compartilhada2 = '{$this->codigo_inep_escola_compartilhada2}'"; + $gruda = ", "; + }else{ + $set .= "{$gruda}codigo_inep_escola_compartilhada2 = NULL "; + $gruda = ", "; + } + + if (is_numeric($this->codigo_inep_escola_compartilhada3)) { + $set .= "{$gruda}codigo_inep_escola_compartilhada3 = '{$this->codigo_inep_escola_compartilhada3}'"; + $gruda = ", "; + }else{ + $set .= "{$gruda}codigo_inep_escola_compartilhada3 = NULL "; + $gruda = ", "; + } + + if (is_numeric($this->codigo_inep_escola_compartilhada4)) { + $set .= "{$gruda}codigo_inep_escola_compartilhada4 = '{$this->codigo_inep_escola_compartilhada4}'"; + $gruda = ", "; + }else{ + $set .= "{$gruda}codigo_inep_escola_compartilhada4 = NULL "; + $gruda = ", "; + } + + if (is_numeric($this->codigo_inep_escola_compartilhada5)) { + $set .= "{$gruda}codigo_inep_escola_compartilhada5 = '{$this->codigo_inep_escola_compartilhada5}'"; + $gruda = ", "; + }else{ + $set .= "{$gruda}codigo_inep_escola_compartilhada5 = NULL "; + $gruda = ", "; + } + + if (is_numeric($this->codigo_inep_escola_compartilhada6)) { + $set .= "{$gruda}codigo_inep_escola_compartilhada6 = '{$this->codigo_inep_escola_compartilhada6}'"; + $gruda = ", "; + }else{ + $set .= "{$gruda}codigo_inep_escola_compartilhada6 = NULL "; + $gruda = ", "; + } + if (is_string($this->area_terreno_total)) { $set .= "{$gruda}area_terreno_total = '{$this->area_terreno_total}'"; $gruda = ", "; diff --git a/ieducar/misc/database/migrations/20180628204326_cria_campos_codigo_inep_escola_compartilhada.php b/ieducar/misc/database/migrations/20180628204326_cria_campos_codigo_inep_escola_compartilhada.php new file mode 100644 index 0000000000..d3d1293ce1 --- /dev/null +++ b/ieducar/misc/database/migrations/20180628204326_cria_campos_codigo_inep_escola_compartilhada.php @@ -0,0 +1,25 @@ +execute("ALTER TABLE pmieducar.escola ADD COLUMN codigo_inep_escola_compartilhada2 INTEGER;"); + $this->execute("ALTER TABLE pmieducar.escola ADD COLUMN codigo_inep_escola_compartilhada3 INTEGER;"); + $this->execute("ALTER TABLE pmieducar.escola ADD COLUMN codigo_inep_escola_compartilhada4 INTEGER;"); + $this->execute("ALTER TABLE pmieducar.escola ADD COLUMN codigo_inep_escola_compartilhada5 INTEGER;"); + $this->execute("ALTER TABLE pmieducar.escola ADD COLUMN codigo_inep_escola_compartilhada6 INTEGER;"); + } + + public function down() + { + $this->execute("ALTER TABLE pmieducar.escola DROP COLUMN codigo_inep_escola_compartilhada2;"); + $this->execute("ALTER TABLE pmieducar.escola DROP COLUMN codigo_inep_escola_compartilhada3;"); + $this->execute("ALTER TABLE pmieducar.escola DROP COLUMN codigo_inep_escola_compartilhada4;"); + $this->execute("ALTER TABLE pmieducar.escola DROP COLUMN codigo_inep_escola_compartilhada5;"); + $this->execute("ALTER TABLE pmieducar.escola DROP COLUMN codigo_inep_escola_compartilhada6;"); + + } +} diff --git a/ieducar/modules/Cadastro/Assets/Javascripts/Escola.js b/ieducar/modules/Cadastro/Assets/Javascripts/Escola.js index b2132c9df0..33d14ee5e9 100644 --- a/ieducar/modules/Cadastro/Assets/Javascripts/Escola.js +++ b/ieducar/modules/Cadastro/Assets/Javascripts/Escola.js @@ -124,7 +124,12 @@ $j('#local_funcionamento').change( function(){ var disabled = this.value != 3; $j('#condicao').prop("disabled",disabled); - $j('#codigo_inep_escola_compartilhada').prop("disabled",disabled); + $j('#codigo_inep_escola_compartilhada1').prop("disabled",disabled); + $j('#codigo_inep_escola_compartilhada2').prop("disabled",disabled); + $j('#codigo_inep_escola_compartilhada3').prop("disabled",disabled); + $j('#codigo_inep_escola_compartilhada4').prop("disabled",disabled); + $j('#codigo_inep_escola_compartilhada5').prop("disabled",disabled); + $j('#codigo_inep_escola_compartilhada6').prop("disabled",disabled); $j('#condicao').makeUnrequired(); $j('#dependencia_numero_salas_existente').makeUnrequired(); if (!disabled && obrigarCamposCenso) { @@ -445,4 +450,4 @@ if ( document.getElementById('ref_cod_instituicao') ) } } -} \ No newline at end of file +} From 7d624a0fa79a6901e835075036d5fa92dea06e22 Mon Sep 17 00:00:00 2001 From: Rodrigo Rodrigues Date: Fri, 29 Jun 2018 11:09:02 -0300 Subject: [PATCH 05/38] =?UTF-8?q?Melhoria=20de=20c=C3=B3digo;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ieducar/intranet/educar_escola_cad.php | 37 ++++++++----------- .../Cadastro/Assets/Javascripts/Escola.js | 2 +- 2 files changed, 16 insertions(+), 23 deletions(-) diff --git a/ieducar/intranet/educar_escola_cad.php b/ieducar/intranet/educar_escola_cad.php index da8da8a983..993c632026 100644 --- a/ieducar/intranet/educar_escola_cad.php +++ b/ieducar/intranet/educar_escola_cad.php @@ -911,28 +911,7 @@ public function Gerar() $options = array('disabled' => $disabled, 'label' => 'Forma de ocupação do prédio', 'resources' => $resources, 'value' => $this->condicao, 'size' => 70, 'required' => false); $this->inputsHelper()->select('condicao', $options); - $options = array('label' => 'Código da escola que compartilha o prédio 1', - 'disabled' => $disabled, - 'label_hint' => 'Caso compartilhe o prédio escolar com outra escola preencha com o código INEP', - 'resources' => $resources, 'value' => $this->codigo_inep_escola_compartilhada, 'required' => false, - 'size' => 8, 'max_length' => 8, 'placeholder' => ''); - $this->inputsHelper()->integer('codigo_inep_escola_compartilhada', $options); - $options['label'] = 'Código da escola que compartilha o prédio 2'; - $options['value'] = $this->codigo_inep_escola_compartilhada2; - $this->inputsHelper()->integer('codigo_inep_escola_compartilhada2', $options); - $options['label'] = 'Código da escola que compartilha o prédio 3'; - $options['value'] = $this->codigo_inep_escola_compartilhada3; - $this->inputsHelper()->integer('codigo_inep_escola_compartilhada3', $options); - $options['label'] = 'Código da escola que compartilha o prédio 4'; - $options['value'] = $this->codigo_inep_escola_compartilhada4; - $this->inputsHelper()->integer('codigo_inep_escola_compartilhada4', $options); - $options['label'] = 'Código da escola que compartilha o prédio 5'; - $options['value'] = $this->codigo_inep_escola_compartilhada5; - $this->inputsHelper()->integer('codigo_inep_escola_compartilhada5', $options); - $options['label'] = 'Código da escola que compartilha o prédio 6'; - $options['value'] = $this->codigo_inep_escola_compartilhada6; - $this->inputsHelper()->integer('codigo_inep_escola_compartilhada6', $options); - + $this->geraCamposCodigoInepEscolaCompartilhada(); $resources = array(null => 'Selecione', 1 => 'Difícil', @@ -2316,6 +2295,20 @@ protected function validaDigitosInepEscola($inep, $nomeCampo) } return true; } + + protected function geraCamposCodigoInepEscolaCompartilhada() { + $options = array('label_hint' => 'Caso compartilhe o prédio escolar com outra escola preencha com o código INEP', + 'required' => false, 'size' => 8, 'max_length' => 8, 'placeholder' => ''); + + for ( $i = 1; $i <= 6; $i++){ + $seq = $i == 1 ? '' : $i; + $options['label'] = 'Código da escola que compartilha o prédio '.$seq; + $campo = 'codigo_inep_escola_compartilhada'.$seq; + $options['value'] = $this->$campo; + $this->inputsHelper()->integer('codigo_inep_escola_compartilhada'.$seq, $options); + } + + } } // cria uma extensao da classe base diff --git a/ieducar/modules/Cadastro/Assets/Javascripts/Escola.js b/ieducar/modules/Cadastro/Assets/Javascripts/Escola.js index 33d14ee5e9..e572d57482 100644 --- a/ieducar/modules/Cadastro/Assets/Javascripts/Escola.js +++ b/ieducar/modules/Cadastro/Assets/Javascripts/Escola.js @@ -124,7 +124,7 @@ $j('#local_funcionamento').change( function(){ var disabled = this.value != 3; $j('#condicao').prop("disabled",disabled); - $j('#codigo_inep_escola_compartilhada1').prop("disabled",disabled); + $j('#codigo_inep_escola_compartilhada').prop("disabled",disabled); $j('#codigo_inep_escola_compartilhada2').prop("disabled",disabled); $j('#codigo_inep_escola_compartilhada3').prop("disabled",disabled); $j('#codigo_inep_escola_compartilhada4').prop("disabled",disabled); From f774cadac8ef60af15fc5974d44c381f304d3291 Mon Sep 17 00:00:00 2001 From: Rodrigo Rodrigues Date: Fri, 29 Jun 2018 11:42:51 -0300 Subject: [PATCH 06/38] =?UTF-8?q?Redu=C3=A7=C3=A3o=20de=20c=C3=B3digo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ieducar/intranet/educar_escola_cad.php | 61 +++++++------------------- 1 file changed, 15 insertions(+), 46 deletions(-) diff --git a/ieducar/intranet/educar_escola_cad.php b/ieducar/intranet/educar_escola_cad.php index 993c632026..8e3d7aa83e 100644 --- a/ieducar/intranet/educar_escola_cad.php +++ b/ieducar/intranet/educar_escola_cad.php @@ -1335,31 +1335,15 @@ public function Novo() return false; } - if (!$this->validaDigitosInepEscola($this->codigo_inep_escola_compartilhada, 'Código da escola que compartilha o prédio 1')) { - return false; - } - - if (!$this->validaDigitosInepEscola($this->codigo_inep_escola_compartilhada2, 'Código da escola que compartilha o prédio 2')) { - return false; - } - - if (!$this->validaDigitosInepEscola($this->codigo_inep_escola_compartilhada3, 'Código da escola que compartilha o prédio 3')) { - return false; - } - - if (!$this->validaDigitosInepEscola($this->codigo_inep_escola_compartilhada4, 'Código da escola que compartilha o prédio 4')) { - return false; - } - - if (!$this->validaDigitosInepEscola($this->codigo_inep_escola_compartilhada5, 'Código da escola que compartilha o prédio 5')) { - return false; - } - - if (!$this->validaDigitosInepEscola($this->codigo_inep_escola_compartilhada6, 'Código da escola que compartilha o prédio 6')) { - return false; + for ( $i = 1; $i <= 6; $i++) { + $seq = $i == 1 ? '' : $i; + $campo = 'codigo_inep_escola_compartilhada'.$seq; + $ret = $this->validaDigitosInepEscola($this->$campo, 'Código da escola que compartilha o prédio '.$i); + if (!$ret) { + return false; + } } - if (in_array(5, $this->abastecimento_agua) && count($this->abastecimento_agua) > 1) { $this->mensagem = 'Não é possível informar mais de uma opção no campo: Abastecimento de água, quando a opção: Inexistente estiver selecionada.'; return false; @@ -1726,28 +1710,13 @@ public function Editar() return false; } - if (!$this->validaDigitosInepEscola($this->codigo_inep_escola_compartilhada, 'Código da escola que compartilha o prédio 1')) { - return false; - } - - if (!$this->validaDigitosInepEscola($this->codigo_inep_escola_compartilhada2, 'Código da escola que compartilha o prédio 2')) { - return false; - } - - if (!$this->validaDigitosInepEscola($this->codigo_inep_escola_compartilhada3, 'Código da escola que compartilha o prédio 3')) { - return false; - } - - if (!$this->validaDigitosInepEscola($this->codigo_inep_escola_compartilhada4, 'Código da escola que compartilha o prédio 4')) { - return false; - } - - if (!$this->validaDigitosInepEscola($this->codigo_inep_escola_compartilhada5, 'Código da escola que compartilha o prédio 5')) { - return false; - } - - if (!$this->validaDigitosInepEscola($this->codigo_inep_escola_compartilhada6, 'Código da escola que compartilha o prédio 6')) { - return false; + for ( $i = 1; $i <= 6; $i++) { + $seq = $i == 1 ? '' : $i; + $campo = 'codigo_inep_escola_compartilhada'.$seq; + $ret = $this->validaDigitosInepEscola($this->$campo, 'Código da escola que compartilha o prédio '.$i); + if (!$ret) { + return false; + } } $mantenedora_escola_privada = implode(',', $this->mantenedora_escola_privada); @@ -2302,7 +2271,7 @@ protected function geraCamposCodigoInepEscolaCompartilhada() { for ( $i = 1; $i <= 6; $i++){ $seq = $i == 1 ? '' : $i; - $options['label'] = 'Código da escola que compartilha o prédio '.$seq; + $options['label'] = 'Código da escola que compartilha o prédio '.$i; $campo = 'codigo_inep_escola_compartilhada'.$seq; $options['value'] = $this->$campo; $this->inputsHelper()->integer('codigo_inep_escola_compartilhada'.$seq, $options); From e1fc4f1abafe058373a341e4a5d4fe9618ae8a58 Mon Sep 17 00:00:00 2001 From: Rodrigo Rodrigues Date: Fri, 29 Jun 2018 16:03:52 -0300 Subject: [PATCH 07/38] =?UTF-8?q?Ajusta=20exporta=C3=A7=C3=A3o=20censo=20c?= =?UTF-8?q?onsiderar=20novos=20campos=20c=C3=B3digo=20escola=20compartilha?= =?UTF-8?q?da;=20Refs=20#3870?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adicionado novos campos na exportação do censo no registro 10 campos 15 a 19; Campos código inep da escola compartilha são usados quando a escola compartilha o mesmo prédio com outras instituições de ensino. --- .../Api/Views/EducacensoExportController.php | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/ieducar/modules/Api/Views/EducacensoExportController.php b/ieducar/modules/Api/Views/EducacensoExportController.php index a8a1a8529b..176361fd66 100644 --- a/ieducar/modules/Api/Views/EducacensoExportController.php +++ b/ieducar/modules/Api/Views/EducacensoExportController.php @@ -429,7 +429,12 @@ protected function exportaDadosRegistro10($escolaId, $ano){ e.local_funcionamento, e.condicao as r10s12, - e.codigo_inep_escola_compartilhada, + e.codigo_inep_escola_compartilhada as r10s14, + e.codigo_inep_escola_compartilhada2 as r10s15, + e.codigo_inep_escola_compartilhada3 as r10s16, + e.codigo_inep_escola_compartilhada4 as r10s17, + e.codigo_inep_escola_compartilhada5 as r10s18, + e.codigo_inep_escola_compartilhada6 as r10s19, e.agua_consumida as r10s20, (ARRAY[1] <@ e.abastecimento_agua)::int as r10s21, (ARRAY[2] <@ e.abastecimento_agua)::int as r10s22, @@ -585,9 +590,16 @@ protected function exportaDadosRegistro10($escolaId, $ano){ ${'r10s'.$i} = 0; } - if($codigo_inep_escola_compartilhada !=null){ + $isEscolaCompartilhada = false; + for ($i=14; $i <= 19 ; $i++){ + ${'r10s'.$i} = ${'r10s'.$i}; + if (${'r10s'.$i} != null && !$isEscolaCompartilhada){ + $isEscolaCompartilhada = true; + } + } + + if($isEscolaCompartilhada){ $r10s13 = 1; - $r10s14 = $codigo_inep_escola_compartilhada; }else $r10s13 = 0; From 61bb19dbea74f32eb6bf8d7cc46e7898ad2b6ff0 Mon Sep 17 00:00:00 2001 From: Rodrigo Rodrigues Date: Fri, 29 Jun 2018 16:22:57 -0300 Subject: [PATCH 08/38] =?UTF-8?q?Melhoria=20de=20c=C3=B3digo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ieducar/modules/Api/Views/EducacensoExportController.php | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/ieducar/modules/Api/Views/EducacensoExportController.php b/ieducar/modules/Api/Views/EducacensoExportController.php index 176361fd66..119c6a62a8 100644 --- a/ieducar/modules/Api/Views/EducacensoExportController.php +++ b/ieducar/modules/Api/Views/EducacensoExportController.php @@ -590,15 +590,14 @@ protected function exportaDadosRegistro10($escolaId, $ano){ ${'r10s'.$i} = 0; } - $isEscolaCompartilhada = false; + $existeEscolaCompartilhada = false; for ($i=14; $i <= 19 ; $i++){ - ${'r10s'.$i} = ${'r10s'.$i}; - if (${'r10s'.$i} != null && !$isEscolaCompartilhada){ - $isEscolaCompartilhada = true; + if (${'r10s'.$i} != null && !$existeEscolaCompartilhada){ + $existeEscolaCompartilhada = true; } } - if($isEscolaCompartilhada){ + if($existeEscolaCompartilhada){ $r10s13 = 1; }else $r10s13 = 0; From dcb1993377ba2bb328a69230eba936114956d626 Mon Sep 17 00:00:00 2001 From: Eder Soares Date: Mon, 2 Jul 2018 14:02:21 -0300 Subject: [PATCH 09/38] =?UTF-8?q?Corrigido=20espa=C3=A7o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ieducar/intranet/include/pessoa/clsDocumento.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ieducar/intranet/include/pessoa/clsDocumento.inc.php b/ieducar/intranet/include/pessoa/clsDocumento.inc.php index 67a01bd3d0..137dba1712 100644 --- a/ieducar/intranet/include/pessoa/clsDocumento.inc.php +++ b/ieducar/intranet/include/pessoa/clsDocumento.inc.php @@ -153,7 +153,7 @@ public function __construct( $objUj = new clsUf($str_sigla_uf_cart_trabalho); if ($objUj->detalhe()) { - $this->sigla_uf_cart_trabalho= $str_sigla_uf_cart_trabalho; + $this->sigla_uf_cart_trabalho = $str_sigla_uf_cart_trabalho; } $this->num_tit_eleitor = $int_num_tit_eleitor; From 9061ea399cca6f62ab9bdbb7cc04f27a008eb4fc Mon Sep 17 00:00:00 2001 From: bonot Date: Tue, 3 Jul 2018 11:36:33 -0300 Subject: [PATCH 10/38] =?UTF-8?q?Considera=20apenas=20enturma=C3=A7=C3=B5e?= =?UTF-8?q?s=20ativas=20na=20an=C3=A1lise?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ieducar/modules/Api/Views/EducacensoAnaliseController.php | 1 + 1 file changed, 1 insertion(+) diff --git a/ieducar/modules/Api/Views/EducacensoAnaliseController.php b/ieducar/modules/Api/Views/EducacensoAnaliseController.php index 5bcc61c51a..3469067654 100644 --- a/ieducar/modules/Api/Views/EducacensoAnaliseController.php +++ b/ieducar/modules/Api/Views/EducacensoAnaliseController.php @@ -1414,6 +1414,7 @@ protected function analisaEducacensoRegistro80() { AND turma.visivel = TRUE AND COALESCE(turma.nao_informar_educacenso, 0) = 0 AND matricula.ativo = 1 + AND matricula_turma.ativo = 1 AND matricula.ano = $1 AND escola.cod_escola = $2 AND COALESCE(matricula.data_matricula,matricula.data_cadastro) BETWEEN DATE($3) AND DATE($4) From 9e37423bc37ff1c7196458760fefd4d43a0dab19 Mon Sep 17 00:00:00 2001 From: Eder Soares Date: Wed, 4 Jul 2018 15:38:06 -0300 Subject: [PATCH 11/38] Aplicado fix-style --- .../intranet/educar_servidor_alocacao_cad.php | 585 +++++++++--------- 1 file changed, 277 insertions(+), 308 deletions(-) diff --git a/ieducar/intranet/educar_servidor_alocacao_cad.php b/ieducar/intranet/educar_servidor_alocacao_cad.php index 9cea8be439..e6e16aecfb 100644 --- a/ieducar/intranet/educar_servidor_alocacao_cad.php +++ b/ieducar/intranet/educar_servidor_alocacao_cad.php @@ -1,365 +1,335 @@ - * - * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo - * sob os termos da Licença Pública Geral GNU conforme publicada pela Free - * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) - * qualquer versão posterior. - * - * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM - * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU - * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral - * do GNU para mais detalhes. - * - * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto - * com este programa; se não, escreva para a Free Software Foundation, Inc., no - * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. - * - * @author Adriano Erik Weiguert Nagasava - * @author Haissam Yebahi - * @category i-Educar - * @license @@license@@ - * @package iEd_Pmieducar - * @since Arquivo disponível desde a versão 1.0.0 - * @version $Id$ - */ - require_once 'include/clsBase.inc.php'; require_once 'include/clsCadastro.inc.php'; require_once 'include/clsBanco.inc.php'; require_once 'include/pmieducar/geral.inc.php'; -require_once "lib/Portabilis/String/Utils.php"; +require_once 'lib/Portabilis/String/Utils.php'; require_once 'lib/Portabilis/Date/Utils.php'; -/** - * clsIndexBase class. - * - * @author Adriano Erik Weiguert Nagasava - * @author Haissam Yebahi - * @category i-Educar - * @license @@license@@ - * @package iEd_Pmieducar - * @since Classe disponível desde a versão 1.0.0 - * @version @@package_version@@ - */ class clsIndexBase extends clsBase { - function Formular() - { - $this->SetTitulo($this->_instituicao . ' Servidores - Servidor Alocação'); - $this->processoAp = 635; - $this->addEstilo('localizacaoSistema'); - } + public function Formular() + { + $this->SetTitulo($this->_instituicao . ' Servidores - Servidor Alocação'); + $this->processoAp = 635; + $this->addEstilo('localizacaoSistema'); + } } -/** - * indice class. - * - * @author Adriano Erik Weiguert Nagasava - * @author Haissam Yebahi - * @category i-Educar - * @license @@license@@ - * @package iEd_Pmieducar - * @since Classe disponível desde a versão 1.0.0 - * @version @@package_version@@ - */ class indice extends clsCadastro { - var $pessoa_logada; - var $cod_servidor_alocacao; - var $ref_ref_cod_instituicao; - var $ref_usuario_exc; - var $ref_usuario_cad; - var $ref_cod_escola; - var $ref_cod_servidor; - var $data_cadastro; - var $data_exclusao; - var $ativo; - var $carga_horaria_alocada; - var $carga_horaria_disponivel; - var $periodo; - var $ref_cod_funcionario_vinculo; - var $ano; - var $data_admissao; - var $alocacao_array = array(); - var $alocacao_excluida_array = array(); - - static $escolasPeriodos = array(); - static $periodos = array(); - - function Inicializar() - { - $retorno = 'Novo'; - @session_start(); - $this->pessoa_logada = $_SESSION['id_pessoa']; - @session_write_close(); - - $ref_cod_servidor = $_GET['ref_cod_servidor']; - $ref_ref_cod_instituicao = $_GET['ref_cod_instituicao']; - $cod_servidor_alocacao = $_GET['cod_servidor_alocacao']; - - if (is_numeric($cod_servidor_alocacao)) { - $this->cod_servidor_alocacao = $cod_servidor_alocacao; - - $servidorAlocacao = new clsPmieducarServidorAlocacao($this->cod_servidor_alocacao); - $servidorAlocacao = $servidorAlocacao->detalhe(); - - $this->ref_ref_cod_instituicao = $servidorAlocacao['ref_ref_cod_instituicao']; - $this->ref_cod_servidor = $servidorAlocacao['ref_cod_servidor']; - $this->ref_cod_escola = $servidorAlocacao['ref_cod_escola']; - $this->periodo = $servidorAlocacao['periodo']; - $this->carga_horaria_alocada = $servidorAlocacao['carga_horaria']; - $this->cod_servidor_funcao = $servidorAlocacao['ref_cod_servidor_funcao']; - $this->ref_cod_funcionario_vinculo = $servidorAlocacao['ref_cod_funcionario_vinculo']; - $this->ativo = $servidorAlocacao['ativo']; - $this->ano = $servidorAlocacao['ano']; - $this->data_admissao = $servidorAlocacao['data_admissao']; - - } else if (is_numeric($ref_cod_servidor) && is_numeric($ref_ref_cod_instituicao)) { - $this->ref_ref_cod_instituicao = $ref_ref_cod_instituicao; - $this->ref_cod_servidor = $ref_cod_servidor; - $this->ref_cod_instituicao = $ref_ref_cod_instituicao; - } else { - header('Location: educar_servidor_lst.php'); - die(); + public $pessoa_logada; + public $cod_servidor_alocacao; + public $ref_ref_cod_instituicao; + public $ref_usuario_exc; + public $ref_usuario_cad; + public $ref_cod_escola; + public $ref_cod_servidor; + public $data_cadastro; + public $data_exclusao; + public $ativo; + public $carga_horaria_alocada; + public $carga_horaria_disponivel; + public $periodo; + public $ref_cod_funcionario_vinculo; + public $ano; + public $data_admissao; + public $alocacao_array = []; + public $alocacao_excluida_array = []; + + public static $escolasPeriodos = []; + public static $periodos = []; + + public function Inicializar() + { + $retorno = 'Novo'; + @session_start(); + $this->pessoa_logada = $_SESSION['id_pessoa']; + @session_write_close(); + + $ref_cod_servidor = $_GET['ref_cod_servidor']; + $ref_ref_cod_instituicao = $_GET['ref_cod_instituicao']; + $cod_servidor_alocacao = $_GET['cod_servidor_alocacao']; + + if (is_numeric($cod_servidor_alocacao)) { + $this->cod_servidor_alocacao = $cod_servidor_alocacao; + + $servidorAlocacao = new clsPmieducarServidorAlocacao($this->cod_servidor_alocacao); + $servidorAlocacao = $servidorAlocacao->detalhe(); + + $this->ref_ref_cod_instituicao = $servidorAlocacao['ref_ref_cod_instituicao']; + $this->ref_cod_servidor = $servidorAlocacao['ref_cod_servidor']; + $this->ref_cod_escola = $servidorAlocacao['ref_cod_escola']; + $this->periodo = $servidorAlocacao['periodo']; + $this->carga_horaria_alocada = $servidorAlocacao['carga_horaria']; + $this->cod_servidor_funcao = $servidorAlocacao['ref_cod_servidor_funcao']; + $this->ref_cod_funcionario_vinculo = $servidorAlocacao['ref_cod_funcionario_vinculo']; + $this->ativo = $servidorAlocacao['ativo']; + $this->ano = $servidorAlocacao['ano']; + $this->data_admissao = $servidorAlocacao['data_admissao']; + } elseif (is_numeric($ref_cod_servidor) && is_numeric($ref_ref_cod_instituicao)) { + $this->ref_ref_cod_instituicao = $ref_ref_cod_instituicao; + $this->ref_cod_servidor = $ref_cod_servidor; + $this->ref_cod_instituicao = $ref_ref_cod_instituicao; + } else { + header('Location: educar_servidor_lst.php'); + die(); + } + + $obj_permissoes = new clsPermissoes(); + $obj_permissoes->permissao_cadastra( + 635, $this->pessoa_logada, 7, 'educar_servidor_lst.php' + ); + + if ($obj_permissoes->permissao_excluir(635, $this->pessoa_logada, 7)) { + $this->fexcluir = true; + } + + $this->url_cancelar = sprintf( + 'educar_servidor_alocacao_lst.php?ref_cod_servidor=%d&ref_cod_instituicao=%d', $this->ref_cod_servidor, $this->ref_ref_cod_instituicao + ); + $this->nome_url_cancelar = 'Cancelar'; + + $localizacao = new LocalizacaoSistema(); + $localizacao->entradaCaminhos([ + $_SERVER['SERVER_NAME'].'/intranet' => 'Início', + 'educar_servidores_index.php' => 'Servidores', + '' => 'Alocar servidor' + ]); + + $this->enviaLocalizacao($localizacao->montar()); + + return $retorno; } - $obj_permissoes = new clsPermissoes(); - $obj_permissoes->permissao_cadastra(635, $this->pessoa_logada, 7, - 'educar_servidor_lst.php'); + public function Gerar() + { + $obj_inst = new clsPmieducarInstituicao($this->ref_ref_cod_instituicao); + $inst_det = $obj_inst->detalhe(); - if ($obj_permissoes->permissao_excluir(635, $this->pessoa_logada, 7)) { - $this->fexcluir = TRUE; - } + $this->campoRotulo('nm_instituicao', 'Instituição', $inst_det['nm_instituicao']); + $this->campoOculto('ref_ref_cod_instituicao', $this->ref_ref_cod_instituicao); + $this->campoOculto('cod_servidor_alocacao', $this->cod_servidor_alocacao); - $this->url_cancelar = sprintf( - 'educar_servidor_alocacao_lst.php?ref_cod_servidor=%d&ref_cod_instituicao=%d', - $this->ref_cod_servidor, $this->ref_ref_cod_instituicao - ); - $this->nome_url_cancelar = 'Cancelar'; + // Dados do servidor + $objTemp = new clsPmieducarServidor( + $this->ref_cod_servidor, + null, + null, + null, + null, + null, + 1, + $this->ref_ref_cod_instituicao + ); - $localizacao = new LocalizacaoSistema(); - $localizacao->entradaCaminhos( array( - $_SERVER['SERVER_NAME']."/intranet" => "Início", - "educar_servidores_index.php" => "Servidores", - "" => "Alocar servidor" - )); - $this->enviaLocalizacao($localizacao->montar()); + $det = $objTemp->detalhe(); - return $retorno; - } + if ($det) { + $this->carga_horaria_disponivel = $det['carga_horaria']; + } - function Gerar() - { + if ($this->ref_cod_servidor) { + $objTemp = new clsPessoaFisica($this->ref_cod_servidor); + $detalhe = $objTemp->detalhe(); + $nm_servidor = $detalhe['nome']; + } - $obj_inst = new clsPmieducarInstituicao($this->ref_ref_cod_instituicao); - $inst_det = $obj_inst->detalhe(); + $this->campoRotulo('nm_servidor', 'Servidor', $nm_servidor); - $this->campoRotulo('nm_instituicao', 'Instituição', $inst_det['nm_instituicao']); - $this->campoOculto("ref_ref_cod_instituicao", $this->ref_ref_cod_instituicao); - $this->campoOculto("cod_servidor_alocacao", $this->cod_servidor_alocacao); + $this->campoOculto('ref_cod_servidor', $this->ref_cod_servidor); - // Dados do servidor - $objTemp = new clsPmieducarServidor($this->ref_cod_servidor, NULL, - NULL, NULL, NULL, NULL, 1, $this->ref_ref_cod_instituicao); - $det = $objTemp->detalhe(); + // Carga horária + $carga = $this->carga_horaria_disponivel; + $this->campoRotulo('carga_horaria_disponivel', 'Carga horária do servidor', $carga . ':00'); - if ($det) { - $this->carga_horaria_disponivel = $det['carga_horaria']; - } + $this->inputsHelper()->integer('ano', ['value' => $this->ano, 'max_length' => 4]); - if ($this->ref_cod_servidor) { - $objTemp = new clsPessoaFisica($this->ref_cod_servidor); - $detalhe = $objTemp->detalhe(); - //$detalhe = $detalhe['idpes']->detalhe(); - $nm_servidor = $detalhe['nome']; - } + $this->inputsHelper()->dynamic('escola'); - $this->campoRotulo('nm_servidor', 'Servidor', $nm_servidor); + // Períodos + $periodo = [ + 1 => 'Matutino', + 2 => 'Vespertino', + 3 => 'Noturno' + ]; - $this->campoOculto('ref_cod_servidor', $this->ref_cod_servidor); + self::$periodos = $periodo; - // Carga horária - $carga = $this->carga_horaria_disponivel; - $this->campoRotulo('carga_horaria_disponivel', 'Carga horária do servidor', $carga . ':00'); + $this->campoLista('periodo', 'Período', $periodo, $this->periodo, null, false, '', '', false, true); - $this->inputsHelper()->integer('ano', array('value' => $this->ano, 'max_length' => 4)); + // Carga horária + $this->campoHoraServidor('carga_horaria_alocada', 'Carga horária', $this->carga_horaria_alocada, true); - $this->inputsHelper()->dynamic('escola'); + $options = [ + 'label' => 'Data de admissão', + 'placeholder' => 'dd/mm/yyyy', + 'hint' => 'A data deve estar em branco ou dentro do período de datas da exportação para o Educacenso, para o servidor ser exportado.', + 'value' => $this->data_admissao, + 'required' => false, + ]; - // Períodos - $periodo = array( - 1 => 'Matutino', - 2 => 'Vespertino', - 3 => 'Noturno' - ); - self::$periodos = $periodo; + $this->inputsHelper()->date('data_admissao', $options); - $this->campoLista('periodo', 'Período', $periodo, $this->periodo, NULL, FALSE, '', '', FALSE, TRUE); + // Funções + $obj_funcoes = new clsPmieducarServidorFuncao(); - // Carga horária - $this->campoHoraServidor('carga_horaria_alocada', 'Carga horária', $this->carga_horaria_alocada, TRUE); + $lista_funcoes = $obj_funcoes->funcoesDoServidor($this->ref_ref_cod_instituicao, $this->ref_cod_servidor); - $options = array( - 'label' => 'Data de admissão', - 'placeholder' => 'dd/mm/yyyy', - 'hint' => 'A data deve estar em branco ou dentro do período de datas da exportação para o Educacenso, para o servidor ser exportado.', - 'value' => $this->data_admissao, - 'required' => FALSE, - ); - $this->inputsHelper()->date('data_admissao', $options); + $opcoes = ['' => 'Selecione']; - // Funções - $obj_funcoes = new clsPmieducarServidorFuncao(); + if ($lista_funcoes) { + foreach ($lista_funcoes as $funcao) { + $opcoes[$funcao['cod_servidor_funcao']] = (!empty($funcao['matricula']) ? "{$funcao['funcao']} - {$funcao['matricula']}" : $funcao['funcao']); + } + } - $lista_funcoes = $obj_funcoes->funcoesDoServidor($this->ref_ref_cod_instituicao, $this->ref_cod_servidor); + $this->campoLista('cod_servidor_funcao', 'Função', $opcoes, $this->cod_servidor_funcao, '', false, '', '', false, false); - $opcoes = array('' => 'Selecione'); + // Vínculos + $opcoes = ['' => 'Selecione', 5 => 'Comissionado', 4 => 'Contratado', 3 => 'Efetivo', 6 => 'Estagiário']; - if ($lista_funcoes) { - foreach ($lista_funcoes as $funcao) { - $opcoes[$funcao['cod_servidor_funcao']] = ( !empty($funcao['matricula']) ? "{$funcao['funcao']} - {$funcao['matricula']}" : $funcao['funcao'] ); - } + $this->campoLista('ref_cod_funcionario_vinculo', 'Vínculo', $opcoes, $this->ref_cod_funcionario_vinculo, null, false, '', '', false, false); } - $this->campoLista('cod_servidor_funcao', 'Função', $opcoes, $this->cod_servidor_funcao, '', FALSE, '', '', FALSE, FALSE); - - // Vínculos - $opcoes = array("" => "Selecione", 5 => "Comissionado", 4 => "Contratado", 3 => "Efetivo", 6 => "Estagiário"); - - $this->campoLista("ref_cod_funcionario_vinculo", "Vínculo", $opcoes, $this->ref_cod_funcionario_vinculo, NULL, FALSE, '', '', FALSE, FALSE); - } - - function Novo() - { - @session_start(); - $this->pessoa_logada = $_SESSION['id_pessoa']; - @session_write_close(); - - $obj_permissoes = new clsPermissoes(); - $obj_permissoes->permissao_cadastra(635, $this->pessoa_logada, 7, - "educar_servidor_alocacao_lst.php?ref_cod_servidor={$this->ref_cod_servidor}&ref_cod_instituicao={$this->ref_ref_cod_instituicao}"); - $dataAdmissao = $this->data_admissao ? Portabilis_Date_Utils::brToPgSql($this->data_admissao) : NULL; - - $servidorAlocacao = new clsPmieducarServidorAlocacao($this->cod_servidor_alocacao, - $this->ref_ref_cod_instituicao, - null, - null, - null, - $this->ref_cod_servidor, - null, - null, - null, - null, - null, - null, - null, - $this->ano, - $dataAdmissao); - - $carga_horaria_disponivel = $this->hhmmToMinutes($this->carga_horaria_disponivel); - $carga_horaria_alocada = $this->hhmmToMinutes($this->carga_horaria_alocada); - $carga_horaria_alocada += $this->hhmmToMinutes($servidorAlocacao->getCargaHorariaAno()); - - if ($carga_horaria_disponivel >= $carga_horaria_alocada){ - - $obj_novo = new clsPmieducarServidorAlocacao($this->cod_servidor_alocacao, - $this->ref_ref_cod_instituicao, - null, - $this->pessoa_logada, - $this->ref_cod_escola, - $this->ref_cod_servidor, - null, - null, - $this->ativo, - $this->carga_horaria_alocada, - $this->periodo, - $this->cod_servidor_funcao, - $this->ref_cod_funcionario_vinculo, - $this->ano, - $dataAdmissao); - - if ($obj_novo->periodoAlocado()) { - $this->mensagem = 'Período informado já foi alocado. Por favor, selecione outro.
'; - return FALSE; - } - - $cadastrou = $obj_novo->cadastra(); - - if (!$cadastrou) { - $this->mensagem = 'Cadastro não realizado.
'; - echo ""; - return FALSE; - } - - // Excluí alocação existente - if ($this->cod_servidor_alocacao) { - $obj_tmp = new clsPmieducarServidorAlocacao($this->cod_servidor_alocacao, null, $this->pessoa_logada); - $obj_tmp->excluir(); - } - - // Atualiza código da alocação - $this->cod_servidor_alocacao = $cadastrou; - }else{ - $this->mensagem = 'Não é possível alocar quantidade superior de horas do que o disponível.
'; - $this->alocacao_array = null; - - return false; + + return false; + } + + // Excluí alocação existente + if ($this->cod_servidor_alocacao) { + $obj_tmp = new clsPmieducarServidorAlocacao($this->cod_servidor_alocacao, null, $this->pessoa_logada); + $obj_tmp->excluir(); + } + + // Atualiza código da alocação + $this->cod_servidor_alocacao = $cadastrou; + } else { + $this->mensagem = 'Não é possível alocar quantidade superior de horas do que o disponível.
'; + $this->alocacao_array = null; + + return false; + } + + $this->mensagem .= 'Cadastro efetuado com sucesso.
'; + header('Location: ' . sprintf('educar_servidor_alocacao_det.php?cod_servidor_alocacao=%d', $this->cod_servidor_alocacao)); + die(); } - $this->mensagem .= 'Cadastro efetuado com sucesso.
'; - header('Location: ' . sprintf('educar_servidor_alocacao_det.php?cod_servidor_alocacao=%d', $this->cod_servidor_alocacao)); - die(); - } + public function Editar() + { + return false; + } - function Editar() - { - return FALSE; - } + public function Excluir() + { + @session_start(); + $this->pessoa_logada = $_SESSION['id_pessoa']; + @session_write_close(); - function Excluir() - { + if ($this->cod_servidor_alocacao) { + $obj_tmp = new clsPmieducarServidorAlocacao($this->cod_servidor_alocacao, null, $this->pessoa_logada); + $excluiu = $obj_tmp->excluir(); - @session_start(); - $this->pessoa_logada = $_SESSION['id_pessoa']; - @session_write_close(); + if ($excluiu) { + $this->mensagem = 'Exclusão efetuada com sucesso.
'; + header('Location: '. sprintf('educar_servidor_alocacao_lst.php?ref_cod_servidor=%d&ref_cod_instituicao=%d', $this->ref_cod_servidor, $this->ref_ref_cod_instituicao)); + die(); + } + } - if ($this->cod_servidor_alocacao) { - $obj_tmp = new clsPmieducarServidorAlocacao($this->cod_servidor_alocacao, null, $this->pessoa_logada); - $excluiu = $obj_tmp->excluir(); + $this->mensagem = 'Exclusão não realizada.
'; - if ($excluiu) { - $this->mensagem = "Exclusão efetuada com sucesso.
"; - header("Location: ". sprintf( - 'educar_servidor_alocacao_lst.php?ref_cod_servidor=%d&ref_cod_instituicao=%d', - $this->ref_cod_servidor, $this->ref_ref_cod_instituicao)); - die(); - } + return false; } - $this->mensagem = 'Exclusão não realizada.
'; - return false; - } + public function hhmmToMinutes($hhmm) + { + list($hora, $minuto) = explode(':', $hhmm); + + return (((int)$hora * 60) + $minuto); + } - function hhmmToMinutes($hhmm){ - list($hora, $minuto) = explode(':', $hhmm); - return (((int)$hora * 60) + $minuto); - } + public function arrayHhmmToMinutes($array) + { + $total = 0; + foreach ($array as $key => $value) { + $total += $this->hhmmToMinutes($value); + } - function arrayHhmmToMinutes($array){ - $total = 0; - foreach ($array as $key => $value) { - $total += $this->hhmmToMinutes($value); + return $total; } - return $total; - } } // Instancia objeto de página @@ -373,4 +343,3 @@ function arrayHhmmToMinutes($array){ // Gera o código HTML $pagina->MakeAll(); -?> \ No newline at end of file From b03a57631fdc5a4dd624fceca64430b48c99e521 Mon Sep 17 00:00:00 2001 From: Eder Soares Date: Wed, 4 Jul 2018 17:33:41 -0300 Subject: [PATCH 12/38] Aplicado fix-style: clsPmieducarServidorAlocacao.inc.php --- .../clsPmieducarServidorAlocacao.inc.php | 1671 +++++++++-------- 1 file changed, 870 insertions(+), 801 deletions(-) diff --git a/ieducar/intranet/include/pmieducar/clsPmieducarServidorAlocacao.inc.php b/ieducar/intranet/include/pmieducar/clsPmieducarServidorAlocacao.inc.php index d8d5d7127e..bee2c46b76 100644 --- a/ieducar/intranet/include/pmieducar/clsPmieducarServidorAlocacao.inc.php +++ b/ieducar/intranet/include/pmieducar/clsPmieducarServidorAlocacao.inc.php @@ -1,810 +1,879 @@ - * - * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo - * sob os termos da Licença Pública Geral GNU conforme publicada pela Free - * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) - * qualquer versão posterior. - * - * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM - * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU - * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral - * do GNU para mais detalhes. - * - * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto - * com este programa; se não, escreva para a Free Software Foundation, Inc., no - * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. - * - * @author Prefeitura Municipal de Itajaí - * @category i-Educar - * @license @@license@@ - * @package iEd_Pmieducar - * @since Arquivo disponível desde a versão 1.0.0 - * @version $Id$ - */ - require_once 'include/pmieducar/geral.inc.php'; -/** - * clsPmieducarServidorAlocacao class. - * - * @author Prefeitura Municipal de Itajaí - * @category i-Educar - * @license @@license@@ - * @package iEd_Pmieducar - * @since Classe disponível desde a versão 1.0.0 - * @version @@package_version@@ - */ class clsPmieducarServidorAlocacao { - var $cod_servidor_alocacao; - var $ref_ref_cod_instituicao; - var $ref_usuario_exc; - var $ref_usuario_cad; - var $ref_cod_escola; - var $ref_cod_servidor; - var $ref_cod_servidor_funcao; - var $data_cadastro; - var $data_exclusao; - var $ativo; - var $carga_horaria; - var $periodo; - var $ref_cod_funcionario_vinculo; - var $ano; - var $codUsuario; - var $dataAdmissao; - /** - * Carga horária máxima para um período de alocação (em horas). - * @var float - */ - static $cargaHorariaMax = 36.0; - - /** - * Armazena o total de resultados obtidos na última chamada ao método lista(). - * @var int - */ - var $_total; - - /** - * Nome do schema. - * @var string - */ - var $_schema; - - /** - * Nome da tabela. - * @var string - */ - var $_tabela; - - /** - * Lista separada por vírgula, com os campos que devem ser selecionados na - * próxima chamado ao método lista(). - * @var string - */ - var $_campos_lista; - - /** - * Lista com todos os campos da tabela separados por vírgula, padrão para - * seleção no método lista. - * @var string - */ - var $_todos_campos; - - /** - * Valor que define a quantidade de registros a ser retornada pelo método lista(). - * @var int - */ - var $_limite_quantidade; - - /** - * Define o valor de offset no retorno dos registros no método lista(). - * @var int - */ - var $_limite_offset; - - /** - * Define o campo para ser usado como padrão de ordenação no método lista(). - * @var string - */ - var $_campo_order_by; - - /** - * Define o campo para ser usado como padrão de agrupamento no método lista(). - * @var string - */ - var $_campo_group_by; - - /** - * Construtor. - */ - function __construct( - $cod_servidor_alocacao = NULL, - $ref_ref_cod_instituicao = NULL, - $ref_usuario_exc = NULL, - $ref_usuario_cad = NULL, - $ref_cod_escola = NULL, - $ref_cod_servidor = NULL, - $data_cadastro = NULL, - $data_exclusao = NULL, - $ativo = NULL, - $carga_horaria = NULL, - $periodo = NULL, - $ref_cod_servidor_funcao = NULL, - $ref_cod_funcionario_vinculo = NULL, - $ano = NULL, - $dataAdmissao = NULL - ) - { - $db = new clsBanco(); - $this->_schema = 'pmieducar.'; - $this->_tabela = $this->_schema . 'servidor_alocacao'; - - $this->_campos_lista = $this->_todos_campos = 'cod_servidor_alocacao, ref_ref_cod_instituicao, ref_usuario_exc, ref_usuario_cad, ref_cod_escola, ref_cod_servidor, data_cadastro, data_exclusao, ativo, carga_horaria, periodo, ref_cod_servidor_funcao, ref_cod_funcionario_vinculo, ano, data_admissao '; - - if (is_numeric($ref_usuario_cad)) { - $usuario = new clsPmieducarUsuario($ref_usuario_cad); - if ($usuario->existe()) { - $this->ref_usuario_cad = $ref_usuario_cad; - } - } - - if (is_numeric($ref_usuario_exc)) { - $usuario = new clsPmieducarUsuario($ref_usuario_exc); - if ($usuario->existe()) { - $this->ref_usuario_exc = $ref_usuario_exc; - } - } - - if (is_numeric($ref_cod_escola)) { - $escola = new clsPmieducarEscola($ref_cod_escola); - if ($escola->existe()) { - $this->ref_cod_escola = $ref_cod_escola; - } - } - - if (is_numeric($ref_cod_servidor) && is_numeric($ref_ref_cod_instituicao)) { - $servidor = new clsPmieducarServidor($ref_cod_servidor, NULL, NULL, NULL, - NULL, NULL, NULL, $ref_ref_cod_instituicao); - - if ($servidor->existe()) { - $this->ref_cod_servidor = $ref_cod_servidor; - $this->ref_ref_cod_instituicao = $ref_ref_cod_instituicao; - } - } - - if (is_numeric($cod_servidor_alocacao)) { - $this->cod_servidor_alocacao = $cod_servidor_alocacao; - } - - if (is_string($data_cadastro)) { - $this->data_cadastro = $data_cadastro; - } - - if (is_string($data_exclusao)) { - $this->data_exclusao = $data_exclusao; - } - - if (is_numeric($ativo)) { - $this->ativo = $ativo; - } - - if (is_numeric($ref_cod_servidor_funcao)) { - $this->ref_cod_servidor_funcao = $ref_cod_servidor_funcao; - } - - if (is_numeric($ref_cod_funcionario_vinculo)) { - $this->ref_cod_funcionario_vinculo = $ref_cod_funcionario_vinculo; - } - - // Valida a carga horária - if (is_string($carga_horaria)) { - $datetime = explode(':', $carga_horaria); - $minutos = (((int) $datetime[0]) * 60) + (int) $datetime[1]; - - if ((self::$cargaHorariaMax * 60) >= $minutos) { - $this->carga_horaria = $carga_horaria; - } - } - - if (is_numeric($periodo)) { - $this->periodo = $periodo; - } - - if (is_numeric($ano)) { - $this->ano = $ano; - } - if (is_string($dataAdmissao)) { - $this->dataAdmissao = $dataAdmissao; - } - } - - /** - * Cria um novo registro. - * @return bool - */ - function cadastra() - { - if (is_numeric($this->ref_ref_cod_instituicao) && is_numeric($this->ref_usuario_cad) && - is_numeric($this->ref_cod_escola) && is_numeric($this->ref_cod_servidor) && - is_string($this->carga_horaria) && ($this->periodo) + public $cod_servidor_alocacao; + public $ref_ref_cod_instituicao; + public $ref_usuario_exc; + public $ref_usuario_cad; + public $ref_cod_escola; + public $ref_cod_servidor; + public $ref_cod_servidor_funcao; + public $data_cadastro; + public $data_exclusao; + public $ativo; + public $carga_horaria; + public $periodo; + public $ref_cod_funcionario_vinculo; + public $ano; + public $codUsuario; + public $dataAdmissao; + + /** + * Carga horária máxima para um período de alocação (em horas). + * + * @var float + */ + public static $cargaHorariaMax = 36.0; + + /** + * Armazena o total de resultados obtidos na última chamada ao método lista(). + * + * @var int + */ + public $_total; + + /** + * Nome do schema. + * + * @var string + */ + public $_schema; + + /** + * Nome da tabela. + * + * @var string + */ + public $_tabela; + + /** + * Lista separada por vírgula, com os campos que devem ser selecionados na + * próxima chamado ao método lista(). + * + * @var string + */ + public $_campos_lista; + + /** + * Lista com todos os campos da tabela separados por vírgula, padrão para + * seleção no método lista. + * + * @var string + */ + public $_todos_campos; + + /** + * Valor que define a quantidade de registros a ser retornada pelo método lista(). + * + * @var int + */ + public $_limite_quantidade; + + /** + * Define o valor de offset no retorno dos registros no método lista(). + * + * @var int + */ + public $_limite_offset; + + /** + * Define o campo para ser usado como padrão de ordenação no método lista(). + * + * @var string + */ + public $_campo_order_by; + + /** + * Define o campo para ser usado como padrão de agrupamento no método lista(). + * + * @var string + */ + public $_campo_group_by; + + /** + * clsPmieducarServidorAlocacao constructor. + * + * @param null $cod_servidor_alocacao + * @param null $ref_ref_cod_instituicao + * @param null $ref_usuario_exc + * @param null $ref_usuario_cad + * @param null $ref_cod_escola + * @param null $ref_cod_servidor + * @param null $data_cadastro + * @param null $data_exclusao + * @param null $ativo + * @param null $carga_horaria + * @param null $periodo + * @param null $ref_cod_servidor_funcao + * @param null $ref_cod_funcionario_vinculo + * @param null $ano + * @param null $dataAdmissao + */ + public function __construct( + $cod_servidor_alocacao = null, + $ref_ref_cod_instituicao = null, + $ref_usuario_exc = null, + $ref_usuario_cad = null, + $ref_cod_escola = null, + $ref_cod_servidor = null, + $data_cadastro = null, + $data_exclusao = null, + $ativo = null, + $carga_horaria = null, + $periodo = null, + $ref_cod_servidor_funcao = null, + $ref_cod_funcionario_vinculo = null, + $ano = null, + $dataAdmissao = null ) { - $db = new clsBanco(); - - $campos = ''; - $valores = ''; - $gruda = ''; - - if (is_numeric($this->ref_ref_cod_instituicao)) { - $campos .= "{$gruda}ref_ref_cod_instituicao"; - $valores .= "{$gruda}'{$this->ref_ref_cod_instituicao}'"; - $gruda = ', '; - } - - if (is_numeric($this->ref_usuario_cad)) { - $campos .= "{$gruda}ref_usuario_cad"; - $valores .= "{$gruda}'{$this->ref_usuario_cad}'"; - $gruda = ', '; - } - - if (is_numeric($this->ref_cod_escola)) { - $campos .= "{$gruda}ref_cod_escola"; - $valores .= "{$gruda}'{$this->ref_cod_escola}'"; - $gruda = ', '; - } - - if (is_numeric($this->ref_cod_servidor)) { - $campos .= "{$gruda}ref_cod_servidor"; - $valores .= "{$gruda}'{$this->ref_cod_servidor}'"; - $gruda = ', '; - } - - if (is_numeric($this->ref_cod_servidor_funcao)) { - $campos .= "{$gruda}ref_cod_servidor_funcao"; - $valores .= "{$gruda}'{$this->ref_cod_servidor_funcao}'"; - $gruda = ', '; - } - - if (is_numeric($this->ref_cod_funcionario_vinculo)) { - $campos .= "{$gruda}ref_cod_funcionario_vinculo"; - $valores .= "{$gruda}'{$this->ref_cod_funcionario_vinculo}'"; - $gruda = ', '; - } - - if (is_string($this->carga_horaria)) { - $campos .= "{$gruda}carga_horaria"; - $valores .= "{$gruda}'{$this->carga_horaria}'"; - $gruda = ', '; - } - - if (($this->periodo)) { - $campos .= "{$gruda}periodo"; - $valores .= "{$gruda}'{$this->periodo}'"; - $gruda = ', '; - } - - if (is_numeric($this->ano)) { - $campos .= "{$gruda}ano"; - $valores .= "{$gruda}'{$this->ano}'"; - $gruda = ', '; - } - - if (is_string($this->dataAdmissao) && !empty($this->dataAdmissao)) { - $campos .= "{$gruda}data_admissao"; - $valores .= "{$gruda}'{$this->dataAdmissao}'"; - $gruda = ', '; - } - - $campos .= "{$gruda}data_cadastro"; - $valores .= "{$gruda}NOW()"; - $gruda = ", "; - - $campos .= "{$gruda}ativo"; - $valores .= "{$gruda}'1'"; - $gruda = ", "; - - $db->Consulta("INSERT INTO {$this->_tabela} ($campos) VALUES ($valores)"); - return $db->InsertId("{$this->_tabela}_cod_servidor_alocacao_seq"); - } - return FALSE; - } - - /** - * Edita os dados de um registro. - * @return bool - */ - function edita() - { - if (is_numeric($this->cod_servidor_alocacao) && is_numeric($this->ref_usuario_exc)) { - $db = new clsBanco(); - $set = ''; - - if (is_numeric($this->ref_ref_cod_instituicao)) { - $set .= "{$gruda}ref_ref_cod_instituicao = '{$this->ref_ref_cod_instituicao}'"; - $gruda = ', '; - } - - if (is_numeric($this->ref_usuario_exc)) { - $set .= "{$gruda}ref_usuario_exc = '{$this->ref_usuario_exc}'"; - $gruda = ', '; - } - - if (is_numeric($this->ref_usuario_cad)) { - $set .= "{$gruda}ref_usuario_cad = '{$this->ref_usuario_cad}'"; - $gruda = ', '; - } - - if (is_numeric($this->ref_cod_escola)) { - $set .= "{$gruda}ref_cod_escola = '{$this->ref_cod_escola}'"; - $gruda = ', '; - } - - if (is_numeric($this->ref_cod_servidor)) { - $set .= "{$gruda}ref_cod_servidor = '{$this->ref_cod_servidor}'"; - $gruda = ', '; - } - - if (is_numeric($this->carga_horaria)) { - $set .= "{$gruda}carga_horaria = '{$this->carga_horaria}'"; - $gruda = ', '; - } - - if (is_numeric($this->ref_cod_servidor_funcao)) { - $set .= "{$gruda}ref_cod_servidor_funcao = '{$this->ref_cod_servidor_funcao}'"; - $gruda = ', '; - } - - if (is_numeric($this->ref_cod_funcionario_vinculo)) { - $set .= "{$gruda}ref_cod_funcionario_vinculo = '{$this->ref_cod_funcionario_vinculo}'"; - $gruda = ', '; - } - - if (($this->periodo)) { - $set .= "{$gruda}periodo = '{$this->periodo}'"; - $gruda = ', '; - } - - if (is_string($this->data_cadastro)) { - $set .= "{$gruda}data_cadastro = '{$this->data_cadastro}'"; - $gruda = ', '; - } - - $set .= "{$gruda}data_exclusao = NOW()"; - $gruda = ', '; - - if (is_numeric($this->ativo)) { - $set .= "{$gruda}ativo = '{$this->ativo}'"; - $gruda = ', '; - } - - if (is_string($this->dataAdmissao) && !empty($this->dataAdmissao)) { - $set .= "{$gruda}data_admissao = '{$this->dataAdmissao}'"; - $gruda = ', '; - } else { - $set .= "{$gruda}data_admissao = NULL "; - $gruda = ', '; - } - - if ($set) { - $db->Consulta("UPDATE {$this->_tabela} SET $set WHERE cod_servidor_alocacao = '{$this->cod_servidor_alocacao}'"); - return TRUE; - } - } - - return FALSE; - } - - /** - * Retorna uma lista de registros filtrados de acordo com os parâmetros. - * @return array - */ - function lista($int_cod_servidor_alocacao = NULL, $int_ref_ref_cod_instituicao = NULL, - $int_ref_usuario_exc = NULL, $int_ref_usuario_cad = NULL, $int_ref_cod_escola = NULL, - $int_ref_cod_servidor = NULL, $date_data_cadastro_ini = NULL, - $date_data_cadastro_fim = NULL, $date_data_exclusao_ini = NULL, - $date_data_exclusao_fim = NULL, $int_ativo = NULL, $int_carga_horaria = NULL, - $int_periodo = NULL, $bool_busca_nome = FALSE, $boo_professor = NULL, $ano = NULL) - { - $filtros = ''; - $whereAnd = ' WHERE '; - - if (is_bool($bool_busca_nome) && $bool_busca_nome == TRUE) { - $join = ', cadastro.pessoa p '; - $filtros .= $whereAnd.' sa.ref_cod_servidor = p.idpes'; - $whereAnd = ' AND '; - $this->_campos_lista .= ',p.nome'; - } - - $sql = "SELECT {$this->_campos_lista} FROM {$this->_tabela} sa{$join}"; - - if (is_numeric($int_cod_servidor_alocacao)) { - $filtros .= "{$whereAnd} sa.cod_servidor_alocacao = '{$int_cod_servidor_alocacao}'"; - $whereAnd = ' AND '; - } - - if (is_numeric($int_ref_ref_cod_instituicao)) { - $filtros .= "{$whereAnd} sa.ref_ref_cod_instituicao = '{$int_ref_ref_cod_instituicao}'"; - $whereAnd = ' AND '; - } - - if (is_numeric($int_ref_usuario_exc)) { - $filtros .= "{$whereAnd} sa.ref_usuario_exc = '{$int_ref_usuario_exc}'"; - $whereAnd = ' AND '; - } - if (is_numeric($int_ref_usuario_cad)) { - $filtros .= "{$whereAnd} sa.ref_usuario_cad = '{$int_ref_usuario_cad}'"; - $whereAnd = ' AND '; - } - - if (is_numeric($int_ref_cod_escola)) { - $filtros .= "{$whereAnd} sa.ref_cod_escola = '{$int_ref_cod_escola}'"; - $whereAnd = ' AND '; - }elseif ($this->codUsuario) { - $filtros .= "{$whereAnd} EXISTS (SELECT 1 + $db = new clsBanco(); + $this->_schema = 'pmieducar.'; + $this->_tabela = $this->_schema . 'servidor_alocacao'; + + $this->_campos_lista = $this->_todos_campos = 'cod_servidor_alocacao, ref_ref_cod_instituicao, ref_usuario_exc, ref_usuario_cad, ref_cod_escola, ref_cod_servidor, data_cadastro, data_exclusao, ativo, carga_horaria, periodo, ref_cod_servidor_funcao, ref_cod_funcionario_vinculo, ano, data_admissao '; + + if (is_numeric($ref_usuario_cad)) { + $usuario = new clsPmieducarUsuario($ref_usuario_cad); + if ($usuario->existe()) { + $this->ref_usuario_cad = $ref_usuario_cad; + } + } + + if (is_numeric($ref_usuario_exc)) { + $usuario = new clsPmieducarUsuario($ref_usuario_exc); + if ($usuario->existe()) { + $this->ref_usuario_exc = $ref_usuario_exc; + } + } + + if (is_numeric($ref_cod_escola)) { + $escola = new clsPmieducarEscola($ref_cod_escola); + if ($escola->existe()) { + $this->ref_cod_escola = $ref_cod_escola; + } + } + + if (is_numeric($ref_cod_servidor) && is_numeric($ref_ref_cod_instituicao)) { + $servidor = new clsPmieducarServidor( + $ref_cod_servidor, + null, + null, + null, + null, + null, + null, + $ref_ref_cod_instituicao + ); + + if ($servidor->existe()) { + $this->ref_cod_servidor = $ref_cod_servidor; + $this->ref_ref_cod_instituicao = $ref_ref_cod_instituicao; + } + } + + if (is_numeric($cod_servidor_alocacao)) { + $this->cod_servidor_alocacao = $cod_servidor_alocacao; + } + + if (is_string($data_cadastro)) { + $this->data_cadastro = $data_cadastro; + } + + if (is_string($data_exclusao)) { + $this->data_exclusao = $data_exclusao; + } + + if (is_numeric($ativo)) { + $this->ativo = $ativo; + } + + if (is_numeric($ref_cod_servidor_funcao)) { + $this->ref_cod_servidor_funcao = $ref_cod_servidor_funcao; + } + + if (is_numeric($ref_cod_funcionario_vinculo)) { + $this->ref_cod_funcionario_vinculo = $ref_cod_funcionario_vinculo; + } + + // Valida a carga horária + if (is_string($carga_horaria)) { + $datetime = explode(':', $carga_horaria); + $minutos = (((int) $datetime[0]) * 60) + (int) $datetime[1]; + + if ((self::$cargaHorariaMax * 60) >= $minutos) { + $this->carga_horaria = $carga_horaria; + } + } + + if (is_numeric($periodo)) { + $this->periodo = $periodo; + } + + if (is_numeric($ano)) { + $this->ano = $ano; + } + if (is_string($dataAdmissao)) { + $this->dataAdmissao = $dataAdmissao; + } + } + + /** + * Cria um novo registro. + * + * @return bool + * + * @throws Exception + */ + public function cadastra() + { + if (is_numeric($this->ref_ref_cod_instituicao) + && is_numeric($this->ref_usuario_cad) + && is_numeric($this->ref_cod_escola) + && is_numeric($this->ref_cod_servidor) + && is_string($this->carga_horaria) + && $this->periodo + ) { + $db = new clsBanco(); + + $campos = ''; + $valores = ''; + $gruda = ''; + + if (is_numeric($this->ref_ref_cod_instituicao)) { + $campos .= "{$gruda}ref_ref_cod_instituicao"; + $valores .= "{$gruda}'{$this->ref_ref_cod_instituicao}'"; + $gruda = ', '; + } + + if (is_numeric($this->ref_usuario_cad)) { + $campos .= "{$gruda}ref_usuario_cad"; + $valores .= "{$gruda}'{$this->ref_usuario_cad}'"; + $gruda = ', '; + } + + if (is_numeric($this->ref_cod_escola)) { + $campos .= "{$gruda}ref_cod_escola"; + $valores .= "{$gruda}'{$this->ref_cod_escola}'"; + $gruda = ', '; + } + + if (is_numeric($this->ref_cod_servidor)) { + $campos .= "{$gruda}ref_cod_servidor"; + $valores .= "{$gruda}'{$this->ref_cod_servidor}'"; + $gruda = ', '; + } + + if (is_numeric($this->ref_cod_servidor_funcao)) { + $campos .= "{$gruda}ref_cod_servidor_funcao"; + $valores .= "{$gruda}'{$this->ref_cod_servidor_funcao}'"; + $gruda = ', '; + } + + if (is_numeric($this->ref_cod_funcionario_vinculo)) { + $campos .= "{$gruda}ref_cod_funcionario_vinculo"; + $valores .= "{$gruda}'{$this->ref_cod_funcionario_vinculo}'"; + $gruda = ', '; + } + + if (is_string($this->carga_horaria)) { + $campos .= "{$gruda}carga_horaria"; + $valores .= "{$gruda}'{$this->carga_horaria}'"; + $gruda = ', '; + } + + if (($this->periodo)) { + $campos .= "{$gruda}periodo"; + $valores .= "{$gruda}'{$this->periodo}'"; + $gruda = ', '; + } + + if (is_numeric($this->ano)) { + $campos .= "{$gruda}ano"; + $valores .= "{$gruda}'{$this->ano}'"; + $gruda = ', '; + } + + if (is_string($this->dataAdmissao) && !empty($this->dataAdmissao)) { + $campos .= "{$gruda}data_admissao"; + $valores .= "{$gruda}'{$this->dataAdmissao}'"; + $gruda = ', '; + } + + $campos .= "{$gruda}data_cadastro"; + $valores .= "{$gruda}NOW()"; + $gruda = ', '; + + $campos .= "{$gruda}ativo"; + $valores .= "{$gruda}'1'"; + $gruda = ', '; + + $db->Consulta("INSERT INTO {$this->_tabela} ($campos) VALUES ($valores)"); + + return $db->InsertId("{$this->_tabela}_cod_servidor_alocacao_seq"); + } + + return false; + } + + /** + * Edita os dados de um registro. + * + * @return bool + * + * @throws Exception + */ + public function edita() + { + if (is_numeric($this->cod_servidor_alocacao) && is_numeric($this->ref_usuario_exc)) { + $db = new clsBanco(); + $set = ''; + + if (is_numeric($this->ref_ref_cod_instituicao)) { + $set .= "{$gruda}ref_ref_cod_instituicao = '{$this->ref_ref_cod_instituicao}'"; + $gruda = ', '; + } + + if (is_numeric($this->ref_usuario_exc)) { + $set .= "{$gruda}ref_usuario_exc = '{$this->ref_usuario_exc}'"; + $gruda = ', '; + } + + if (is_numeric($this->ref_usuario_cad)) { + $set .= "{$gruda}ref_usuario_cad = '{$this->ref_usuario_cad}'"; + $gruda = ', '; + } + + if (is_numeric($this->ref_cod_escola)) { + $set .= "{$gruda}ref_cod_escola = '{$this->ref_cod_escola}'"; + $gruda = ', '; + } + + if (is_numeric($this->ref_cod_servidor)) { + $set .= "{$gruda}ref_cod_servidor = '{$this->ref_cod_servidor}'"; + $gruda = ', '; + } + + if (is_numeric($this->carga_horaria)) { + $set .= "{$gruda}carga_horaria = '{$this->carga_horaria}'"; + $gruda = ', '; + } + + if (is_numeric($this->ref_cod_servidor_funcao)) { + $set .= "{$gruda}ref_cod_servidor_funcao = '{$this->ref_cod_servidor_funcao}'"; + $gruda = ', '; + } + + if (is_numeric($this->ref_cod_funcionario_vinculo)) { + $set .= "{$gruda}ref_cod_funcionario_vinculo = '{$this->ref_cod_funcionario_vinculo}'"; + $gruda = ', '; + } + + if (($this->periodo)) { + $set .= "{$gruda}periodo = '{$this->periodo}'"; + $gruda = ', '; + } + + if (is_string($this->data_cadastro)) { + $set .= "{$gruda}data_cadastro = '{$this->data_cadastro}'"; + $gruda = ', '; + } + + $set .= "{$gruda}data_exclusao = NOW()"; + $gruda = ', '; + + if (is_numeric($this->ativo)) { + $set .= "{$gruda}ativo = '{$this->ativo}'"; + $gruda = ', '; + } + + if (is_string($this->dataAdmissao) && !empty($this->dataAdmissao)) { + $set .= "{$gruda}data_admissao = '{$this->dataAdmissao}'"; + $gruda = ', '; + } else { + $set .= "{$gruda}data_admissao = NULL "; + $gruda = ', '; + } + + if ($set) { + $db->Consulta("UPDATE {$this->_tabela} SET $set WHERE cod_servidor_alocacao = '{$this->cod_servidor_alocacao}'"); + + return true; + } + } + + return false; + } + + /** + * Retorna uma lista de registros filtrados de acordo com os parâmetros. + * + * @return array + * + * @throws Exception + */ + public function lista( + $int_cod_servidor_alocacao = null, + $int_ref_ref_cod_instituicao = null, + $int_ref_usuario_exc = null, + $int_ref_usuario_cad = null, + $int_ref_cod_escola = null, + $int_ref_cod_servidor = null, + $date_data_cadastro_ini = null, + $date_data_cadastro_fim = null, + $date_data_exclusao_ini = null, + $date_data_exclusao_fim = null, + $int_ativo = null, + $int_carga_horaria = null, + $int_periodo = null, + $bool_busca_nome = false, + $boo_professor = null, + $ano = null + ) { + $filtros = ''; + $whereAnd = ' WHERE '; + + if (is_bool($bool_busca_nome) && $bool_busca_nome == true) { + $join = ', cadastro.pessoa p '; + $filtros .= $whereAnd.' sa.ref_cod_servidor = p.idpes'; + $whereAnd = ' AND '; + $this->_campos_lista .= ',p.nome'; + } + + $sql = "SELECT {$this->_campos_lista} FROM {$this->_tabela} sa{$join}"; + + if (is_numeric($int_cod_servidor_alocacao)) { + $filtros .= "{$whereAnd} sa.cod_servidor_alocacao = '{$int_cod_servidor_alocacao}'"; + $whereAnd = ' AND '; + } + + if (is_numeric($int_ref_ref_cod_instituicao)) { + $filtros .= "{$whereAnd} sa.ref_ref_cod_instituicao = '{$int_ref_ref_cod_instituicao}'"; + $whereAnd = ' AND '; + } + + if (is_numeric($int_ref_usuario_exc)) { + $filtros .= "{$whereAnd} sa.ref_usuario_exc = '{$int_ref_usuario_exc}'"; + $whereAnd = ' AND '; + } + + if (is_numeric($int_ref_usuario_cad)) { + $filtros .= "{$whereAnd} sa.ref_usuario_cad = '{$int_ref_usuario_cad}'"; + $whereAnd = ' AND '; + } + + if (is_numeric($int_ref_cod_escola)) { + $filtros .= "{$whereAnd} sa.ref_cod_escola = '{$int_ref_cod_escola}'"; + $whereAnd = ' AND '; + } elseif ($this->codUsuario) { + $filtros .= "{$whereAnd} EXISTS (SELECT 1 FROM pmieducar.escola_usuario WHERE escola_usuario.ref_cod_escola = sa.ref_cod_escola AND escola_usuario.ref_cod_usuario = '{$this->codUsuario}')"; - $whereAnd = " AND "; - } - - if (is_numeric($int_ref_cod_servidor)) { - $filtros .= "{$whereAnd} sa.ref_cod_servidor = '{$int_ref_cod_servidor}'"; - $whereAnd = ' AND '; - } - - if (is_numeric($int_carga_horaria)) { - $filtros .= "{$whereAnd} sa.carga_horaria = '{$int_carga_horaria}'"; - $whereAnd = ' AND '; - } - - if (($int_periodo)) { - $filtros .= "{$whereAnd} sa.periodo = '{$int_periodo}'"; - $whereAnd = ' AND '; - } + $whereAnd = ' AND '; + } + + if (is_numeric($int_ref_cod_servidor)) { + $filtros .= "{$whereAnd} sa.ref_cod_servidor = '{$int_ref_cod_servidor}'"; + $whereAnd = ' AND '; + } + + if (is_numeric($int_carga_horaria)) { + $filtros .= "{$whereAnd} sa.carga_horaria = '{$int_carga_horaria}'"; + $whereAnd = ' AND '; + } - if (is_string($date_data_cadastro_ini)) { - $filtros .= "{$whereAnd} sa.data_cadastro >= '{$date_data_cadastro_ini}'"; - $whereAnd = ' AND '; - } - - if (is_string($date_data_cadastro_fim)) { - $filtros .= "{$whereAnd} sa.data_cadastro <= '{$date_data_cadastro_fim}'"; - $whereAnd = ' AND '; - } - - if (is_string($date_data_exclusao_ini)) { - $filtros .= "{$whereAnd} sa.data_exclusao >= '{$date_data_exclusao_ini}'"; - $whereAnd = ' AND '; - } - - if (is_string($date_data_exclusao_fim)) { - $filtros .= "{$whereAnd} sa.data_exclusao <= '{$date_data_exclusao_fim}'"; - $whereAnd = ' AND '; - } - - if (is_numeric($ano)) { - $filtros .= "{$whereAnd} sa.ano = '{$ano}'"; - $whereAnd = ' AND '; - } - - if (is_null($int_ativo) || $int_ativo) { - $filtros .= "{$whereAnd} sa.ativo = '1'"; - $whereAnd = ' AND '; - } - else { - $filtros .= "{$whereAnd} sa.ativo = '0'"; - $whereAnd = ' AND '; - } - - if (is_bool($boo_professor)) { - $not = $boo_professor? "=" : "!="; - $filtros .= "{$whereAnd} EXISTS(SELECT 1 FROM pmieducar.servidor_funcao,pmieducar.funcao WHERE ref_cod_servidor_funcao = cod_funcao AND ref_cod_servidor = sa.ref_cod_servidor AND sa.ref_ref_cod_instituicao = ref_ref_cod_instituicao AND professor $not 1)"; - $whereAnd = ' AND '; - } - - $db = new clsBanco(); - $countCampos = count(explode(',', $this->_campos_lista)); - $resultado = array(); - - $sql .= $filtros . $this->getGroupBy() . $this->getOrderby() . $this->getLimite(); - - $this->_total = $db->CampoUnico("SELECT COUNT(0) FROM {$this->_tabela} sa {$join} {$filtros}"); - - $db->Consulta($sql); - - if ($countCampos > 1) { - while ($db->ProximoRegistro()) { - $tupla = $db->Tupla(); - - $tupla['_total'] = $this->_total; - $resultado[] = $tupla; - } - } - else { - while ($db->ProximoRegistro()) { - $tupla = $db->Tupla(); - $resultado[] = $tupla[$this->_campos_lista]; - } - } - - if (count($resultado)) { - return $resultado; - } - - return FALSE; - } - - - function listaEscolas($int_ref_ref_cod_instituicao = NULL) - { - if (is_numeric($int_ref_ref_cod_instituicao)) { - $sql = "SELECT DISTINCT ref_cod_escola FROM {$this->_tabela} WHERE ref_ref_cod_instituicao = '{$int_ref_ref_cod_instituicao}' AND ativo = '1'"; - - $db = new clsBanco(); - $resultado = array(); - - $db->Consulta($sql); - - while ($db->ProximoRegistro()) { - $tupla = $db->Tupla(); - $resultado[] = $tupla; - } - - if (count($resultado)) { - return $resultado; - } - - return FALSE; - } - - return FALSE; - } - - /** - * Retorna um array com os dados de um registro. - * @return array - */ - function detalhe() - { - if (is_numeric($this->cod_servidor_alocacao)) { - $db = new clsBanco(); - $db->Consulta("SELECT {$this->_todos_campos} FROM {$this->_tabela} WHERE cod_servidor_alocacao = '{$this->cod_servidor_alocacao}'"); - $db->ProximoRegistro(); - return $db->Tupla(); - } - - return FALSE; - } - - /** - * Retorna um array com os dados de um registro. - * @return array - */ - function existe() - { - if (is_numeric($this->cod_servidor_alocacao)) { - $db = new clsBanco(); - $db->Consulta("SELECT 1 FROM {$this->_tabela} WHERE cod_servidor_alocacao = '{$this->cod_servidor_alocacao}'"); - $db->ProximoRegistro(); - return $db->Tupla(); - } - - return FALSE; - } - - /** - * Exclui um registro. - * @return bool - */ - function excluir() - { - if (is_numeric($this->cod_servidor_alocacao)) { - $db = new clsBanco(); - $db->Consulta("DELETE FROM {$this->_tabela} WHERE cod_servidor_alocacao = '{$this->cod_servidor_alocacao}'"); - return TRUE; - } - - return FALSE; - } - - /** - * Exclui um registro baseado no período da alocação. - * @return bool - */ - function excluir_horario() - { - if (is_numeric($this->ref_cod_servidor) && is_numeric($this->ref_ref_cod_instituicao) && - is_numeric($this->ref_cod_escola) && is_numeric($this->periodo) - ) { - $db = new clsBanco(); - $db->Consulta("DELETE FROM {$this->_tabela} WHERE ref_cod_servidor = '{$this->ref_cod_servidor}' AND ref_ref_cod_instituicao = '{$this->ref_ref_cod_instituicao}' AND ref_cod_escola = '{$this->ref_cod_escola}' AND periodo = '$this->periodo'"); - return TRUE; - } - - return FALSE; - } - - function excluiAlocacoesServidor($ref_cod_servidor) - { - - $db = new clsBanco(); - $db->Consulta("DELETE FROM {$this->_tabela} WHERE ref_cod_servidor = '{$ref_cod_servidor}'"); - return TRUE; - } - - /** - * Substitui a alocação entre servidores - * - * Substitui a alocação entre servidores, atualizando a tabela - * pmieducar.servidor_alocacao. A única atualização na tabela ocorre no - * identificador do servidor, o campo ref_cod_servidor. Para usar este - * método, um objeto desta classe precisa estar instanciado com os atributos - * do servidor a ser substituido. - * - * @param int $int_ref_cod_servidor_substituto Código do servidor que substituirá o atual - * @return bool TRUE em caso de sucesso, FALSE caso contrário - */ - function substituir_servidor($int_ref_cod_servidor_substituto) - { - if (is_numeric($int_ref_cod_servidor_substituto) && - is_numeric($this->ref_ref_cod_instituicao) - ) { - $servidor = new clsPmieducarServidor($int_ref_cod_servidor_substituto, - NULL, NULL, NULL, NULL, NULL, NULL, $this->ref_ref_cod_instituicao); - - if (!$servidor->existe()) { - return FALSE; - } - } - - if (is_numeric($this->ref_cod_servidor) && is_numeric($this->ref_ref_cod_instituicao) && - is_numeric($this->ref_cod_escola) && is_numeric($this->periodo) && - is_string($this->carga_horaria) - ) { - $sql = "UPDATE %s SET ref_cod_servidor='%d' WHERE ref_cod_servidor = '%d' "; - $sql .= "AND ref_ref_cod_instituicao = '%d' AND ref_cod_escola = '%d' AND "; - $sql .= "carga_horaria = '%s' AND periodo = '%d'"; - - $sql = sprintf($sql, $this->_tabela, $int_ref_cod_servidor_substituto, - $this->ref_cod_servidor, $this->ref_ref_cod_instituicao, $this->ref_cod_escola, - $this->carga_horaria, $this->periodo); - - $db = new clsBanco(); - $db->Consulta($sql); - - return TRUE; - } - - return FALSE; - } - - /** - * Define quais campos da tabela serão selecionados no método Lista(). - */ - function setCamposLista($str_campos) - { - $this->_campos_lista = $str_campos; - } - - /** - * Define que o método Lista() deverpa retornar todos os campos da tabela. - */ - function resetCamposLista() - { - $this->_campos_lista = $this->_todos_campos; - } - - /** - * Define limites de retorno para o método Lista(). - */ - function setLimite($intLimiteQtd, $intLimiteOffset = NULL) - { - $this->_limite_quantidade = $intLimiteQtd; - $this->_limite_offset = $intLimiteOffset; - } - - /** - * Retorna a string com o trecho da query responsável pelo limite de - * registros retornados/afetados. - * - * @return string - */ - function getLimite() - { - if (is_numeric($this->_limite_quantidade)) { - $retorno = " LIMIT {$this->_limite_quantidade}"; - if (is_numeric($this->_limite_offset)) { - $retorno .= " OFFSET {$this->_limite_offset} "; - } - return $retorno; - } - return ''; - } - - /** - * Define o campo para ser utilizado como ordenação no método Lista(). - */ - function setOrderby($strNomeCampo) - { - if (is_string($strNomeCampo) && $strNomeCampo ) { - $this->_campo_order_by = $strNomeCampo; - } - } - - /** - * Retorna a string com o trecho da query responsável pela Ordenação dos - * registros. - * - * @return string - */ - function getOrderby() - { - if (is_string($this->_campo_order_by)) { - return " ORDER BY {$this->_campo_order_by} "; - } - return ''; - } - - /** - * Define o campo para ser utilizado na agrupação no método Lista(). - */ - function setGroupby($strNomeCampo) - { - if (is_string($strNomeCampo) && $strNomeCampo ) { - $this->_campo_group_by = $strNomeCampo; - } - } - - /** - * Retorna a string com o trecho da query responsável pelo Agrupamento dos - * registros. - * - * @return string - */ - function getGroupBy() - { - if (is_string($this->_campo_group_by)) { - return " GROUP BY {$this->_campo_group_by} "; - } - return ''; - } - - /** - * Retorna a string com a soma da carga horária já alocada do servidor em determinado ano - * - * @return string - */ - function getCargaHorariaAno() { - - if (is_numeric($this->ref_cod_servidor) && is_numeric($this->ano)) { - $db = new clsBanco(); - $sql = "SELECT SUM(carga_horaria::interval) + if ($int_periodo) { + $filtros .= "{$whereAnd} sa.periodo = '{$int_periodo}'"; + $whereAnd = ' AND '; + } + + if (is_string($date_data_cadastro_ini)) { + $filtros .= "{$whereAnd} sa.data_cadastro >= '{$date_data_cadastro_ini}'"; + $whereAnd = ' AND '; + } + + if (is_string($date_data_cadastro_fim)) { + $filtros .= "{$whereAnd} sa.data_cadastro <= '{$date_data_cadastro_fim}'"; + $whereAnd = ' AND '; + } + + if (is_string($date_data_exclusao_ini)) { + $filtros .= "{$whereAnd} sa.data_exclusao >= '{$date_data_exclusao_ini}'"; + $whereAnd = ' AND '; + } + + if (is_string($date_data_exclusao_fim)) { + $filtros .= "{$whereAnd} sa.data_exclusao <= '{$date_data_exclusao_fim}'"; + $whereAnd = ' AND '; + } + + if (is_numeric($ano)) { + $filtros .= "{$whereAnd} sa.ano = '{$ano}'"; + $whereAnd = ' AND '; + } + + if (is_null($int_ativo) || $int_ativo) { + $filtros .= "{$whereAnd} sa.ativo = '1'"; + $whereAnd = ' AND '; + } else { + $filtros .= "{$whereAnd} sa.ativo = '0'"; + $whereAnd = ' AND '; + } + + if (is_bool($boo_professor)) { + $not = $boo_professor? '=' : '!='; + $filtros .= "{$whereAnd} EXISTS(SELECT 1 FROM pmieducar.servidor_funcao,pmieducar.funcao WHERE ref_cod_servidor_funcao = cod_funcao AND ref_cod_servidor = sa.ref_cod_servidor AND sa.ref_ref_cod_instituicao = ref_ref_cod_instituicao AND professor $not 1)"; + $whereAnd = ' AND '; + } + + $db = new clsBanco(); + $countCampos = count(explode(',', $this->_campos_lista)); + $resultado = []; + + $sql .= $filtros . $this->getGroupBy() . $this->getOrderby() . $this->getLimite(); + + $this->_total = $db->CampoUnico("SELECT COUNT(0) FROM {$this->_tabela} sa {$join} {$filtros}"); + + $db->Consulta($sql); + + if ($countCampos > 1) { + while ($db->ProximoRegistro()) { + $tupla = $db->Tupla(); + + $tupla['_total'] = $this->_total; + $resultado[] = $tupla; + } + } else { + while ($db->ProximoRegistro()) { + $tupla = $db->Tupla(); + $resultado[] = $tupla[$this->_campos_lista]; + } + } + + if (count($resultado)) { + return $resultado; + } + + return false; + } + + public function listaEscolas($int_ref_ref_cod_instituicao = null) + { + if (is_numeric($int_ref_ref_cod_instituicao)) { + $sql = "SELECT DISTINCT ref_cod_escola FROM {$this->_tabela} WHERE ref_ref_cod_instituicao = '{$int_ref_ref_cod_instituicao}' AND ativo = '1'"; + + $db = new clsBanco(); + $resultado = []; + + $db->Consulta($sql); + + while ($db->ProximoRegistro()) { + $tupla = $db->Tupla(); + $resultado[] = $tupla; + } + + if (count($resultado)) { + return $resultado; + } + + return false; + } + + return false; + } + + /** + * Retorna um array com os dados de um registro. + * + * @return array + * + * @throws Exception + */ + public function detalhe() + { + if (is_numeric($this->cod_servidor_alocacao)) { + $db = new clsBanco(); + $db->Consulta("SELECT {$this->_todos_campos} FROM {$this->_tabela} WHERE cod_servidor_alocacao = '{$this->cod_servidor_alocacao}'"); + $db->ProximoRegistro(); + + return $db->Tupla(); + } + + return false; + } + + /** + * Retorna um array com os dados de um registro. + * + * @return array + * + * @throws Exception + */ + public function existe() + { + if (is_numeric($this->cod_servidor_alocacao)) { + $db = new clsBanco(); + $db->Consulta("SELECT 1 FROM {$this->_tabela} WHERE cod_servidor_alocacao = '{$this->cod_servidor_alocacao}'"); + $db->ProximoRegistro(); + + return $db->Tupla(); + } + + return false; + } + + /** + * Exclui um registro. + * + * @return bool + * + * @throws Exception + */ + public function excluir() + { + if (is_numeric($this->cod_servidor_alocacao)) { + $db = new clsBanco(); + $db->Consulta("DELETE FROM {$this->_tabela} WHERE cod_servidor_alocacao = '{$this->cod_servidor_alocacao}'"); + + return true; + } + + return false; + } + + /** + * Exclui um registro baseado no período da alocação. + * + * @return bool + * + * @throws Exception + */ + public function excluir_horario() + { + if (is_numeric($this->ref_cod_servidor) + && is_numeric($this->ref_ref_cod_instituicao) + && is_numeric($this->ref_cod_escola) + && is_numeric($this->periodo) + ) { + $db = new clsBanco(); + $db->Consulta("DELETE FROM {$this->_tabela} WHERE ref_cod_servidor = '{$this->ref_cod_servidor}' AND ref_ref_cod_instituicao = '{$this->ref_ref_cod_instituicao}' AND ref_cod_escola = '{$this->ref_cod_escola}' AND periodo = '$this->periodo'"); + + return true; + } + + return false; + } + + public function excluiAlocacoesServidor($ref_cod_servidor) + { + $db = new clsBanco(); + $db->Consulta("DELETE FROM {$this->_tabela} WHERE ref_cod_servidor = '{$ref_cod_servidor}'"); + + return true; + } + + /** + * Substitui a alocação entre servidores + * + * Substitui a alocação entre servidores, atualizando a tabela + * pmieducar.servidor_alocacao. A única atualização na tabela ocorre no + * identificador do servidor, o campo ref_cod_servidor. Para usar este + * método, um objeto desta classe precisa estar instanciado com os atributos + * do servidor a ser substituido. + * + * @param int $int_ref_cod_servidor_substituto Código do servidor que substituirá o atual + * + * @return bool TRUE em caso de sucesso, FALSE caso contrário + * + * @throws Exception + */ + public function substituir_servidor($int_ref_cod_servidor_substituto) + { + if (is_numeric($int_ref_cod_servidor_substituto) + && is_numeric($this->ref_ref_cod_instituicao) + ) { + $servidor = new clsPmieducarServidor( + $int_ref_cod_servidor_substituto, + null, + null, + null, + null, + null, + null, + $this->ref_ref_cod_instituicao + ); + + if (!$servidor->existe()) { + return false; + } + } + + if (is_numeric($this->ref_cod_servidor) + && is_numeric($this->ref_ref_cod_instituicao) + && is_numeric($this->ref_cod_escola) + && is_numeric($this->periodo) + && is_string($this->carga_horaria) + ) { + $sql = 'UPDATE %s SET ref_cod_servidor=\'%d\' WHERE ref_cod_servidor = \'%d\' '; + $sql .= 'AND ref_ref_cod_instituicao = \'%d\' AND ref_cod_escola = \'%d\' AND '; + $sql .= 'carga_horaria = \'%s\' AND periodo = \'%d\''; + + $sql = sprintf( + $sql, + $this->_tabela, + $int_ref_cod_servidor_substituto, + $this->ref_cod_servidor, + $this->ref_ref_cod_instituicao, + $this->ref_cod_escola, + $this->carga_horaria, + $this->periodo + ); + + $db = new clsBanco(); + $db->Consulta($sql); + + return true; + } + + return false; + } + + /** + * Define quais campos da tabela serão selecionados no método Lista(). + */ + public function setCamposLista($str_campos) + { + $this->_campos_lista = $str_campos; + } + + /** + * Define que o método Lista() deverpa retornar todos os campos da tabela. + */ + public function resetCamposLista() + { + $this->_campos_lista = $this->_todos_campos; + } + + /** + * Define limites de retorno para o método Lista(). + */ + public function setLimite($intLimiteQtd, $intLimiteOffset = null) + { + $this->_limite_quantidade = $intLimiteQtd; + $this->_limite_offset = $intLimiteOffset; + } + + /** + * Retorna a string com o trecho da query responsável pelo limite de + * registros retornados/afetados. + * + * @return string + */ + public function getLimite() + { + if (is_numeric($this->_limite_quantidade)) { + $retorno = " LIMIT {$this->_limite_quantidade}"; + if (is_numeric($this->_limite_offset)) { + $retorno .= " OFFSET {$this->_limite_offset} "; + } + + return $retorno; + } + + return ''; + } + + /** + * Define o campo para ser utilizado como ordenação no método Lista(). + */ + public function setOrderby($strNomeCampo) + { + if (is_string($strNomeCampo) && $strNomeCampo) { + $this->_campo_order_by = $strNomeCampo; + } + } + + /** + * Retorna a string com o trecho da query responsável pela Ordenação dos + * registros. + * + * @return string + */ + public function getOrderby() + { + if (is_string($this->_campo_order_by)) { + return " ORDER BY {$this->_campo_order_by} "; + } + + return ''; + } + + /** + * Define o campo para ser utilizado na agrupação no método Lista(). + */ + public function setGroupby($strNomeCampo) + { + if (is_string($strNomeCampo) && $strNomeCampo) { + $this->_campo_group_by = $strNomeCampo; + } + } + + /** + * Retorna a string com o trecho da query responsável pelo Agrupamento dos + * registros. + * + * @return string + */ + public function getGroupBy() + { + if (is_string($this->_campo_group_by)) { + return " GROUP BY {$this->_campo_group_by} "; + } + + return ''; + } + + /** + * Retorna a string com a soma da carga horária já alocada do servidor em determinado ano + * + * @return string + * + * @throws Exception + */ + public function getCargaHorariaAno() + { + if (is_numeric($this->ref_cod_servidor) && is_numeric($this->ano)) { + $db = new clsBanco(); + $sql = "SELECT SUM(carga_horaria::interval) FROM pmieducar.servidor_alocacao WHERE ref_cod_servidor = {$this->ref_cod_servidor} AND ano = {$this->ano}"; - if ($this->cod_servidor_alocacao) { - $sql .= "AND cod_servidor_alocacao != {$this->cod_servidor_alocacao}"; - } - $db->Consulta($sql); - $db->ProximoRegistro(); - $registro = $db->Tupla(); - return $registro[0]; - } - return ''; - } + if ($this->cod_servidor_alocacao) { + $sql .= "AND cod_servidor_alocacao != {$this->cod_servidor_alocacao}"; + } + $db->Consulta($sql); + $db->ProximoRegistro(); + $registro = $db->Tupla(); - function periodoAlocado() { - if (is_numeric($this->ref_cod_escola) && is_numeric($this->periodo) - && is_numeric($this->ano) && is_numeric($this->ref_cod_servidor)){ + return $registro[0]; + } - $db = new clsBanco(); - $sql = "SELECT * + return ''; + } + + public function periodoAlocado() + { + if (is_numeric($this->ref_cod_escola) + && is_numeric($this->periodo) + && is_numeric($this->ano) + && is_numeric($this->ref_cod_servidor) + ) { + $db = new clsBanco(); + $sql = "SELECT * FROM pmieducar.servidor_alocacao WHERE ref_cod_escola = {$this->ref_cod_escola} AND ref_cod_servidor = {$this->ref_cod_servidor} @@ -812,17 +881,17 @@ function periodoAlocado() { AND periodo = {$this->periodo} AND ativo = 1"; - if (is_numeric($this->cod_servidor_alocacao)) { - $sql .= " AND cod_servidor_alocacao <> {$this->cod_servidor_alocacao}"; - } + if (is_numeric($this->cod_servidor_alocacao)) { + $sql .= " AND cod_servidor_alocacao <> {$this->cod_servidor_alocacao}"; + } - $db->Consulta($sql); - $db->ProximoRegistro(); - $registro = $db->Tupla(); - return $registro ? true : false; - } + $db->Consulta($sql); + $db->ProximoRegistro(); + $registro = $db->Tupla(); - return false; - } + return $registro ? true : false; + } -} \ No newline at end of file + return false; + } +} From 7eb2fc1c075b840fe62fee5a913998fbe65803d5 Mon Sep 17 00:00:00 2001 From: Eder Soares Date: Wed, 4 Jul 2018 17:44:25 -0300 Subject: [PATCH 13/38] Melhorias: clsPmieducarServidorAlocacao.inc.php --- .../clsPmieducarServidorAlocacao.inc.php | 170 +++++++++--------- 1 file changed, 84 insertions(+), 86 deletions(-) diff --git a/ieducar/intranet/include/pmieducar/clsPmieducarServidorAlocacao.inc.php b/ieducar/intranet/include/pmieducar/clsPmieducarServidorAlocacao.inc.php index bee2c46b76..8eae82d153 100644 --- a/ieducar/intranet/include/pmieducar/clsPmieducarServidorAlocacao.inc.php +++ b/ieducar/intranet/include/pmieducar/clsPmieducarServidorAlocacao.inc.php @@ -129,7 +129,6 @@ public function __construct( $ano = null, $dataAdmissao = null ) { - $db = new clsBanco(); $this->_schema = 'pmieducar.'; $this->_tabela = $this->_schema . 'servidor_alocacao'; @@ -203,7 +202,7 @@ public function __construct( $datetime = explode(':', $carga_horaria); $minutos = (((int) $datetime[0]) * 60) + (int) $datetime[1]; - if ((self::$cargaHorariaMax * 60) >= $minutos) { + if (self::$cargaHorariaMax * 60 >= $minutos) { $this->carga_horaria = $carga_horaria; } } @@ -215,6 +214,7 @@ public function __construct( if (is_numeric($ano)) { $this->ano = $ano; } + if (is_string($dataAdmissao)) { $this->dataAdmissao = $dataAdmissao; } @@ -308,7 +308,6 @@ public function cadastra() $campos .= "{$gruda}ativo"; $valores .= "{$gruda}'1'"; - $gruda = ', '; $db->Consulta("INSERT INTO {$this->_tabela} ($campos) VALUES ($valores)"); @@ -327,84 +326,81 @@ public function cadastra() */ public function edita() { - if (is_numeric($this->cod_servidor_alocacao) && is_numeric($this->ref_usuario_exc)) { - $db = new clsBanco(); - $set = ''; - - if (is_numeric($this->ref_ref_cod_instituicao)) { - $set .= "{$gruda}ref_ref_cod_instituicao = '{$this->ref_ref_cod_instituicao}'"; - $gruda = ', '; - } + if (! is_numeric($this->cod_servidor_alocacao) || ! is_numeric($this->ref_usuario_exc)) { + return false; + } - if (is_numeric($this->ref_usuario_exc)) { - $set .= "{$gruda}ref_usuario_exc = '{$this->ref_usuario_exc}'"; - $gruda = ', '; - } + $db = new clsBanco(); + $set = ''; + $gruda = ''; - if (is_numeric($this->ref_usuario_cad)) { - $set .= "{$gruda}ref_usuario_cad = '{$this->ref_usuario_cad}'"; - $gruda = ', '; - } + if (is_numeric($this->ref_ref_cod_instituicao)) { + $set .= "{$gruda}ref_ref_cod_instituicao = '{$this->ref_ref_cod_instituicao}'"; + $gruda = ', '; + } - if (is_numeric($this->ref_cod_escola)) { - $set .= "{$gruda}ref_cod_escola = '{$this->ref_cod_escola}'"; - $gruda = ', '; - } + if (is_numeric($this->ref_usuario_exc)) { + $set .= "{$gruda}ref_usuario_exc = '{$this->ref_usuario_exc}'"; + $gruda = ', '; + } - if (is_numeric($this->ref_cod_servidor)) { - $set .= "{$gruda}ref_cod_servidor = '{$this->ref_cod_servidor}'"; - $gruda = ', '; - } + if (is_numeric($this->ref_usuario_cad)) { + $set .= "{$gruda}ref_usuario_cad = '{$this->ref_usuario_cad}'"; + $gruda = ', '; + } - if (is_numeric($this->carga_horaria)) { - $set .= "{$gruda}carga_horaria = '{$this->carga_horaria}'"; - $gruda = ', '; - } + if (is_numeric($this->ref_cod_escola)) { + $set .= "{$gruda}ref_cod_escola = '{$this->ref_cod_escola}'"; + $gruda = ', '; + } - if (is_numeric($this->ref_cod_servidor_funcao)) { - $set .= "{$gruda}ref_cod_servidor_funcao = '{$this->ref_cod_servidor_funcao}'"; - $gruda = ', '; - } + if (is_numeric($this->ref_cod_servidor)) { + $set .= "{$gruda}ref_cod_servidor = '{$this->ref_cod_servidor}'"; + $gruda = ', '; + } - if (is_numeric($this->ref_cod_funcionario_vinculo)) { - $set .= "{$gruda}ref_cod_funcionario_vinculo = '{$this->ref_cod_funcionario_vinculo}'"; - $gruda = ', '; - } + if (is_numeric($this->carga_horaria)) { + $set .= "{$gruda}carga_horaria = '{$this->carga_horaria}'"; + $gruda = ', '; + } - if (($this->periodo)) { - $set .= "{$gruda}periodo = '{$this->periodo}'"; - $gruda = ', '; - } + if (is_numeric($this->ref_cod_servidor_funcao)) { + $set .= "{$gruda}ref_cod_servidor_funcao = '{$this->ref_cod_servidor_funcao}'"; + $gruda = ', '; + } - if (is_string($this->data_cadastro)) { - $set .= "{$gruda}data_cadastro = '{$this->data_cadastro}'"; - $gruda = ', '; - } + if (is_numeric($this->ref_cod_funcionario_vinculo)) { + $set .= "{$gruda}ref_cod_funcionario_vinculo = '{$this->ref_cod_funcionario_vinculo}'"; + $gruda = ', '; + } - $set .= "{$gruda}data_exclusao = NOW()"; + if (($this->periodo)) { + $set .= "{$gruda}periodo = '{$this->periodo}'"; $gruda = ', '; + } - if (is_numeric($this->ativo)) { - $set .= "{$gruda}ativo = '{$this->ativo}'"; - $gruda = ', '; - } + if (is_string($this->data_cadastro)) { + $set .= "{$gruda}data_cadastro = '{$this->data_cadastro}'"; + $gruda = ', '; + } - if (is_string($this->dataAdmissao) && !empty($this->dataAdmissao)) { - $set .= "{$gruda}data_admissao = '{$this->dataAdmissao}'"; - $gruda = ', '; - } else { - $set .= "{$gruda}data_admissao = NULL "; - $gruda = ', '; - } + $set .= "{$gruda}data_exclusao = NOW()"; + $gruda = ', '; - if ($set) { - $db->Consulta("UPDATE {$this->_tabela} SET $set WHERE cod_servidor_alocacao = '{$this->cod_servidor_alocacao}'"); + if (is_numeric($this->ativo)) { + $set .= "{$gruda}ativo = '{$this->ativo}'"; + $gruda = ', '; + } - return true; - } + if (is_string($this->dataAdmissao) && !empty($this->dataAdmissao)) { + $set .= "{$gruda}data_admissao = '{$this->dataAdmissao}'"; + } else { + $set .= "{$gruda}data_admissao = NULL "; } - return false; + $db->Consulta("UPDATE {$this->_tabela} SET $set WHERE cod_servidor_alocacao = '{$this->cod_servidor_alocacao}'"); + + return true; } /** @@ -526,7 +522,6 @@ public function lista( if (is_bool($boo_professor)) { $not = $boo_professor? '=' : '!='; $filtros .= "{$whereAnd} EXISTS(SELECT 1 FROM pmieducar.servidor_funcao,pmieducar.funcao WHERE ref_cod_servidor_funcao = cod_funcao AND ref_cod_servidor = sa.ref_cod_servidor AND sa.ref_ref_cod_instituicao = ref_ref_cod_instituicao AND professor $not 1)"; - $whereAnd = ' AND '; } $db = new clsBanco(); @@ -539,18 +534,17 @@ public function lista( $db->Consulta($sql); - if ($countCampos > 1) { - while ($db->ProximoRegistro()) { - $tupla = $db->Tupla(); + while ($db->ProximoRegistro()) { + $tupla = $db->Tupla(); + if ($countCampos > 1) { $tupla['_total'] = $this->_total; $resultado[] = $tupla; + + continue; } - } else { - while ($db->ProximoRegistro()) { - $tupla = $db->Tupla(); - $resultado[] = $tupla[$this->_campos_lista]; - } + + $resultado[] = $tupla[$this->_campos_lista]; } if (count($resultado)) { @@ -562,24 +556,24 @@ public function lista( public function listaEscolas($int_ref_ref_cod_instituicao = null) { - if (is_numeric($int_ref_ref_cod_instituicao)) { - $sql = "SELECT DISTINCT ref_cod_escola FROM {$this->_tabela} WHERE ref_ref_cod_instituicao = '{$int_ref_ref_cod_instituicao}' AND ativo = '1'"; + if (! is_numeric($int_ref_ref_cod_instituicao)) { + return false; + } - $db = new clsBanco(); - $resultado = []; + $sql = "SELECT DISTINCT ref_cod_escola FROM {$this->_tabela} WHERE ref_ref_cod_instituicao = '{$int_ref_ref_cod_instituicao}' AND ativo = '1'"; - $db->Consulta($sql); + $db = new clsBanco(); + $resultado = []; - while ($db->ProximoRegistro()) { - $tupla = $db->Tupla(); - $resultado[] = $tupla; - } + $db->Consulta($sql); - if (count($resultado)) { - return $resultado; - } + while ($db->ProximoRegistro()) { + $tupla = $db->Tupla(); + $resultado[] = $tupla; + } - return false; + if (count($resultado)) { + return $resultado; } return false; @@ -776,6 +770,7 @@ public function getLimite() { if (is_numeric($this->_limite_quantidade)) { $retorno = " LIMIT {$this->_limite_quantidade}"; + if (is_numeric($this->_limite_offset)) { $retorno .= " OFFSET {$this->_limite_offset} "; } @@ -847,6 +842,7 @@ public function getCargaHorariaAno() { if (is_numeric($this->ref_cod_servidor) && is_numeric($this->ano)) { $db = new clsBanco(); + $sql = "SELECT SUM(carga_horaria::interval) FROM pmieducar.servidor_alocacao WHERE ref_cod_servidor = {$this->ref_cod_servidor} @@ -855,6 +851,7 @@ public function getCargaHorariaAno() if ($this->cod_servidor_alocacao) { $sql .= "AND cod_servidor_alocacao != {$this->cod_servidor_alocacao}"; } + $db->Consulta($sql); $db->ProximoRegistro(); $registro = $db->Tupla(); @@ -873,6 +870,7 @@ public function periodoAlocado() && is_numeric($this->ref_cod_servidor) ) { $db = new clsBanco(); + $sql = "SELECT * FROM pmieducar.servidor_alocacao WHERE ref_cod_escola = {$this->ref_cod_escola} From 0bbd943424863b88105281bada463d3c5bb12092 Mon Sep 17 00:00:00 2001 From: Eder Soares Date: Wed, 4 Jul 2018 18:03:12 -0300 Subject: [PATCH 14/38] =?UTF-8?q?Adiciona=20campos=20de=20hora=20na=20aloc?= =?UTF-8?q?a=C3=A7=C3=A3o=20de=20servidor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../intranet/educar_servidor_alocacao_cad.php | 37 +++++---- .../clsPmieducarServidorAlocacao.inc.php | 76 ++++++++++++++++++- ...adiciona_campos_hora_servidor_alocacao.php | 28 +++++++ 3 files changed, 123 insertions(+), 18 deletions(-) create mode 100644 ieducar/misc/database/migrations/20180704201550_adiciona_campos_hora_servidor_alocacao.php diff --git a/ieducar/intranet/educar_servidor_alocacao_cad.php b/ieducar/intranet/educar_servidor_alocacao_cad.php index e6e16aecfb..1c1609af17 100644 --- a/ieducar/intranet/educar_servidor_alocacao_cad.php +++ b/ieducar/intranet/educar_servidor_alocacao_cad.php @@ -31,6 +31,10 @@ class indice extends clsCadastro public $ativo; public $carga_horaria_alocada; public $carga_horaria_disponivel; + public $hora_inicial; + public $hora_final; + public $hora_atividade; + public $horas_excedentes; public $periodo; public $ref_cod_funcionario_vinculo; public $ano; @@ -68,6 +72,10 @@ public function Inicializar() $this->ativo = $servidorAlocacao['ativo']; $this->ano = $servidorAlocacao['ano']; $this->data_admissao = $servidorAlocacao['data_admissao']; + $this->hora_inicial = $servidorAlocacao['hora_inicial']; + $this->hora_final = $servidorAlocacao['hora_final']; + $this->hora_atividade = $servidorAlocacao['hora_atividade']; + $this->horas_excedentes = $servidorAlocacao['horas_excedentes']; } elseif (is_numeric($ref_cod_servidor) && is_numeric($ref_ref_cod_instituicao)) { $this->ref_ref_cod_instituicao = $ref_ref_cod_instituicao; $this->ref_cod_servidor = $ref_cod_servidor; @@ -159,9 +167,6 @@ public function Gerar() $this->campoLista('periodo', 'Período', $periodo, $this->periodo, null, false, '', '', false, true); - // Carga horária - $this->campoHoraServidor('carga_horaria_alocada', 'Carga horária', $this->carga_horaria_alocada, true); - $options = [ 'label' => 'Data de admissão', 'placeholder' => 'dd/mm/yyyy', @@ -191,6 +196,13 @@ public function Gerar() $opcoes = ['' => 'Selecione', 5 => 'Comissionado', 4 => 'Contratado', 3 => 'Efetivo', 6 => 'Estagiário']; $this->campoLista('ref_cod_funcionario_vinculo', 'Vínculo', $opcoes, $this->ref_cod_funcionario_vinculo, null, false, '', '', false, false); + + $this->campoRotulo('informacao_carga_horaria','Informações sobre carga horária'); + $this->campoHora('hora_inicial', 'Hora de início', $this->hora_inicial); + $this->campoHora('hora_final', 'Hora de término', $this->hora_final); + $this->campoHoraServidor('carga_horaria_alocada', 'Carga horária', $this->carga_horaria_alocada, true); + $this->campoHora('hora_atividade', 'Hora atividade', $this->hora_atividade); + $this->campoHora('horas_excedentes', 'Horas excedentes', $this->horas_excedentes); } public function Novo() @@ -247,7 +259,11 @@ public function Novo() $this->cod_servidor_funcao, $this->ref_cod_funcionario_vinculo, $this->ano, - $dataAdmissao + $dataAdmissao, + $this->hora_inicial, + $this->hora_final, + $this->hora_atividade, + $this->horas_excedentes ); if ($obj_novo->periodoAlocado()) { @@ -260,9 +276,6 @@ public function Novo() if (!$cadastrou) { $this->mensagem = 'Cadastro não realizado.
'; - echo ""; return false; } @@ -332,14 +345,6 @@ public function arrayHhmmToMinutes($array) } } -// Instancia objeto de página $pagina = new clsIndexBase(); - -// Instancia objeto de conteúdo -$miolo = new indice(); - -// Atribui o conteúdo à página -$pagina->addForm($miolo); - -// Gera o código HTML +$pagina->addForm(new indice()); $pagina->MakeAll(); diff --git a/ieducar/intranet/include/pmieducar/clsPmieducarServidorAlocacao.inc.php b/ieducar/intranet/include/pmieducar/clsPmieducarServidorAlocacao.inc.php index 8eae82d153..24d30ac4b5 100644 --- a/ieducar/intranet/include/pmieducar/clsPmieducarServidorAlocacao.inc.php +++ b/ieducar/intranet/include/pmieducar/clsPmieducarServidorAlocacao.inc.php @@ -20,6 +20,10 @@ class clsPmieducarServidorAlocacao public $ano; public $codUsuario; public $dataAdmissao; + public $hora_inicial; + public $hora_final; + public $hora_atividade; + public $horas_excedentes; /** * Carga horária máxima para um período de alocação (em horas). @@ -111,6 +115,10 @@ class clsPmieducarServidorAlocacao * @param null $ref_cod_funcionario_vinculo * @param null $ano * @param null $dataAdmissao + * @param null $hora_inicial + * @param null $hora_final + * @param null $hora_atividade + * @param null $horas_excedentes */ public function __construct( $cod_servidor_alocacao = null, @@ -127,12 +135,16 @@ public function __construct( $ref_cod_servidor_funcao = null, $ref_cod_funcionario_vinculo = null, $ano = null, - $dataAdmissao = null + $dataAdmissao = null, + $hora_inicial = null, + $hora_final = null, + $hora_atividade = null, + $horas_excedentes = null ) { $this->_schema = 'pmieducar.'; $this->_tabela = $this->_schema . 'servidor_alocacao'; - $this->_campos_lista = $this->_todos_campos = 'cod_servidor_alocacao, ref_ref_cod_instituicao, ref_usuario_exc, ref_usuario_cad, ref_cod_escola, ref_cod_servidor, data_cadastro, data_exclusao, ativo, carga_horaria, periodo, ref_cod_servidor_funcao, ref_cod_funcionario_vinculo, ano, data_admissao '; + $this->_campos_lista = $this->_todos_campos = 'cod_servidor_alocacao, ref_ref_cod_instituicao, ref_usuario_exc, ref_usuario_cad, ref_cod_escola, ref_cod_servidor, data_cadastro, data_exclusao, ativo, carga_horaria, periodo, ref_cod_servidor_funcao, ref_cod_funcionario_vinculo, ano, data_admissao, hora_inicial, hora_final, hora_atividade, horas_excedentes '; if (is_numeric($ref_usuario_cad)) { $usuario = new clsPmieducarUsuario($ref_usuario_cad); @@ -207,6 +219,22 @@ public function __construct( } } + if ($hora_inicial) { + $this->hora_inicial = $hora_inicial; + } + + if ($hora_final) { + $this->hora_final = $hora_final; + } + + if ($hora_atividade) { + $this->hora_atividade = $hora_atividade; + } + + if ($horas_excedentes) { + $this->horas_excedentes = $horas_excedentes; + } + if (is_numeric($periodo)) { $this->periodo = $periodo; } @@ -284,6 +312,30 @@ public function cadastra() $gruda = ', '; } + if ($this->hora_inicial) { + $campos .= "{$gruda}hora_inicial"; + $valores .= "{$gruda}'{$this->hora_inicial}'"; + $gruda = ', '; + } + + if ($this->hora_final) { + $campos .= "{$gruda}hora_final"; + $valores .= "{$gruda}'{$this->hora_final}'"; + $gruda = ', '; + } + + if ($this->hora_atividade) { + $campos .= "{$gruda}hora_atividade"; + $valores .= "{$gruda}'{$this->hora_atividade}'"; + $gruda = ', '; + } + + if ($this->horas_excedentes) { + $campos .= "{$gruda}horas_excedentes"; + $valores .= "{$gruda}'{$this->horas_excedentes}'"; + $gruda = ', '; + } + if (($this->periodo)) { $campos .= "{$gruda}periodo"; $valores .= "{$gruda}'{$this->periodo}'"; @@ -364,6 +416,26 @@ public function edita() $gruda = ', '; } + if ($this->hora_inicial) { + $set .= "{$gruda}hora_inicial = '{$this->hora_inicial}'"; + $gruda = ', '; + } + + if ($this->hora_final) { + $set .= "{$gruda}hora_final = '{$this->hora_final}'"; + $gruda = ', '; + } + + if ($this->hora_atividade) { + $set .= "{$gruda}hora_atividade = '{$this->hora_atividade}'"; + $gruda = ', '; + } + + if ($this->horas_excedentes) { + $set .= "{$gruda}horas_excedentes = '{$this->horas_excedentes}'"; + $gruda = ', '; + } + if (is_numeric($this->ref_cod_servidor_funcao)) { $set .= "{$gruda}ref_cod_servidor_funcao = '{$this->ref_cod_servidor_funcao}'"; $gruda = ', '; diff --git a/ieducar/misc/database/migrations/20180704201550_adiciona_campos_hora_servidor_alocacao.php b/ieducar/misc/database/migrations/20180704201550_adiciona_campos_hora_servidor_alocacao.php new file mode 100644 index 0000000000..7dcff1527c --- /dev/null +++ b/ieducar/misc/database/migrations/20180704201550_adiciona_campos_hora_servidor_alocacao.php @@ -0,0 +1,28 @@ +execute( + ' + alter table pmieducar.servidor_alocacao + add column hora_atividade time without time zone, + add column horas_excedentes time without time zone; + ' + ); + } + + public function down() + { + $this->execute( + ' + alter table pmieducar.servidor_alocacao + drop column hora_atividade, + drop column horas_excedentes; + ' + ); + } +} From e234a9200c2180000d0565824651decf4221fe32 Mon Sep 17 00:00:00 2001 From: Lucas Schmoeller da Silva Date: Thu, 5 Jul 2018 10:50:18 -0300 Subject: [PATCH 15/38] =?UTF-8?q?Add=20helper=20de=20sele=C3=A7=C3=A3o=20d?= =?UTF-8?q?e=20componentes=20no=20v=C3=ADnculo=20de=20professores?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Componentes curriculares são preenchidos de acordo com área selecionada Refs #3148 --- .../Views/ComponenteCurricularController.php | 36 ++++-- .../Javascripts/ServidorVinculoTurma.js | 105 ++++++++++++++++++ ieducar/modules/Portabilis/Assets/Version.php | 2 +- 3 files changed, 131 insertions(+), 12 deletions(-) diff --git a/ieducar/modules/Api/Views/ComponenteCurricularController.php b/ieducar/modules/Api/Views/ComponenteCurricularController.php index a5cd068abf..2b0e01629a 100644 --- a/ieducar/modules/Api/Views/ComponenteCurricularController.php +++ b/ieducar/modules/Api/Views/ComponenteCurricularController.php @@ -86,7 +86,7 @@ function getComponentesCurriculares(){ $areaConhecimentoId = $this->getRequest()->area_conhecimento_id; $areaConhecimentoId ? $where = 'AND area_conhecimento_id = '. $areaConhecimentoId : ''; - + $sql = 'SELECT componente_curricular.id, componente_curricular.nome, area_conhecimento_id, area_conhecimento.nome AS nome_area, ordenamento FROM modules.componente_curricular INNER JOIN modules.area_conhecimento ON (area_conhecimento.id = componente_curricular.area_conhecimento_id) @@ -111,7 +111,7 @@ function getComponentesCurricularesPorSerie(){ $instituicaoId = $this->getRequest()->instituicao_id; $serieId = $this->getRequest()->serie_id; - + $sql = 'SELECT componente_curricular.id, componente_curricular.nome, carga_horaria::int, tipo_nota, area_conhecimento_id, area_conhecimento.nome AS nome_area FROM modules.componente_curricular INNER JOIN modules.componente_curricular_ano_escolar ON (componente_curricular_ano_escolar.componente_curricular_id = componente_curricular.id) @@ -132,6 +132,7 @@ protected function getComponentesCurricularesForMultipleSearch() { if ($this->canGetComponentesCurriculares()) { $turmaId = $this->getRequest()->turma_id; $ano = $this->getRequest()->ano; + $areaConhecimentoId = $this->getRequest()->area_conhecimento_id; $sql = "SELECT cc.id, cc.nome @@ -142,14 +143,20 @@ protected function getComponentesCurricularesForMultipleSearch() { INNER JOIN modules.area_conhecimento ac ON (ac.id = cc.area_conhecimento_id) INNER JOIN pmieducar.escola_ano_letivo al ON (al.ref_cod_escola = turma.ref_ref_cod_escola) WHERE turma.cod_turma = $1 - AND al.ano = $2 - ORDER BY ac.secao, + AND al.ano = $2 "; + $params = [$turmaId, $ano]; + + if ($areaConhecimentoId) { + $params[] = $areaConhecimentoId; + $sql .= ' AND area_conhecimento_id = $3 '; + } + + $sql .= ' ORDER BY ac.secao, ac.nome, cc.ordenamento, - cc.nome"; - + cc.nome '; - $componentesCurriculares = $this->fetchPreparedQuery($sql, array($turmaId, $ano)); + $componentesCurriculares = $this->fetchPreparedQuery($sql, $params); if(count($componentesCurriculares) < 1){ $sql = "SELECT cc.id, @@ -164,13 +171,20 @@ protected function getComponentesCurricularesForMultipleSearch() { AND al.ativo = 1) WHERE t.cod_turma = $1 AND al.ano = $2 - AND t.ativo = 1 - ORDER BY ac.secao, + AND t.ativo = 1 "; + + $params = [$turmaId, $ano]; + + if ($areaConhecimentoId) { + $params[] = $areaConhecimentoId; + $sql .= ' AND area_conhecimento_id = $3 '; + } + $sql .= ' ORDER BY ac.secao, ac.nome, cc.ordenamento, - cc.nome"; + cc.nome '; - $componentesCurriculares = $this->fetchPreparedQuery($sql, array($turmaId, $ano)); + $componentesCurriculares = $this->fetchPreparedQuery($sql, $params); } $componentesCurriculares = Portabilis_Array_Utils::setAsIdValue($componentesCurriculares, 'id', 'nome'); diff --git a/ieducar/modules/Cadastro/Assets/Javascripts/ServidorVinculoTurma.js b/ieducar/modules/Cadastro/Assets/Javascripts/ServidorVinculoTurma.js index 209d4c48c6..fec85887af 100644 --- a/ieducar/modules/Cadastro/Assets/Javascripts/ServidorVinculoTurma.js +++ b/ieducar/modules/Cadastro/Assets/Javascripts/ServidorVinculoTurma.js @@ -1,7 +1,112 @@ $j(document).ready(function() { + var $turmaField = getElementFor('turma'); + var $anoField = getElementFor('ano'); + var $instituicaoField = getElementFor('instituicao'); + let obrigarCamposCenso = $j('#obrigar_campos_censo').val() == '1'; + var handleGetComponentesArea = function(response){ + let componentes = Object.keys(response['options']||{}); + $j('#componentecurricular').val(componentes.concat($j('#componentecurricular').val()||[])).trigger('chosen:updated'); + $j("#dialog_area_conhecimento").dialog("close"); + } + + var preenchePorAreaConhecimento = function(){ + let areaConhecimento = $j('#area_conhecimento').val(); + if (!areaConhecimento) { + alert('Área de conhecimento deve ser preenchida'); + return false; + } + urlForGetAreaConhecimento = getResourceUrlBuilder.buildUrl('/module/Api/ComponenteCurricular', 'componentes-curriculares-for-multiple-search', { + turma_id : $turmaField.val(), + ano: $anoField.val(), + instituicao_id: $instituicaoField.val(), + area_conhecimento_id: areaConhecimento + }); + + var options = { + url : urlForGetAreaConhecimento, + dataType : 'json', + success : handleGetComponentesArea + }; + + getResources(options); + } + + $j('body').append(htmlFormModal()); + + $j("#dialog_area_conhecimento").dialog({ + autoOpen: false, + height: 'auto', + width: 'auto', + modal: true, + resizable: false, + draggable: false, + title: 'Selecionar por área de conhecimento', + buttons: { + "Preencher": preenchePorAreaConhecimento, + "Cancelar": function(){ + $j(this).dialog("close"); + } + }, + create: function () { + $j(this) + .closest(".ui-dialog") + .find(".ui-button-text:first") + .addClass("btn-green"); + }, + close: function () { + $j('#area_conhecimento').val(""); + } + }); + + + var handleGetAreaConhecimento = function(response) { + $j('#area_conhecimento').html('').val(''); + var selectOptions = response['options']; + for(let key in selectOptions){ + if (selectOptions.hasOwnProperty(key)) { + $j('#area_conhecimento').append($j('