コード例 #1
0
 /**
  * @todo Refatorar a lógica para uma classe na camada de domínio.
  */
 function Novo()
 {
     session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $this->db = new clsBanco();
     $this->db2 = new clsBanco();
     $this->data_matricula = Portabilis_Date_Utils::brToPgSQL($this->data_matricula);
     $result = $this->rematricularALunos($this->ref_cod_escola, $this->ref_cod_curso, $this->ref_cod_serie, $this->ref_cod_turma, $_POST['ano']);
     return $result;
 }
コード例 #2
0
ファイル: Date.php プロジェクト: secteofilandia/ieducar
 public function date($attrName, $options = array())
 {
     $defaultOptions = array('options' => array(), 'objectName' => '');
     $options = $this->mergeOptions($options, $defaultOptions);
     $spacer = !empty($options['objectName']) && !empty($attrName) ? '_' : '';
     $label = !empty($attrName) ? $attrName : $options['objectName'];
     $label = str_replace('_id', '', $label);
     $defaultInputOptions = array('id' => $options['objectName'] . $spacer . $attrName, 'label' => ucwords($label), 'value' => null, 'required' => true, 'label_hint' => '', 'inline' => false, 'callback' => false, 'disabled' => false, 'size' => 9);
     $inputOptions = $this->mergeOptions($options['options'], $defaultInputOptions);
     $isDbFormated = strrpos($inputOptions['value'], '-') > -1;
     if ($isDbFormated) {
         $inputOptions['value'] = Portabilis_Date_Utils::pgSQLToBr($inputOptions['value']);
     }
     call_user_func_array(array($this->viewInstance, 'campoData'), $inputOptions);
     $this->fixupPlaceholder($inputOptions);
     // implementado fixup via js, pois algumas opções não estão sendo verificadas pelo helper ieducar.
     $this->fixupOptions($inputOptions);
 }
コード例 #3
0
ファイル: educar_turma_cad.php プロジェクト: krlsdu/ieducar
 function Editar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     @session_write_close();
     $this->data_fechamento = Portabilis_Date_Utils::brToPgSQL($this->data_fechamento);
     if (is_numeric($this->ano_hidden)) {
         $this->ano = $this->ano_hidden;
     }
     $this->ref_cod_instituicao_regente = $this->ref_cod_instituicao;
     if (isset($this->multiseriada)) {
         $this->multiseriada = 1;
     } else {
         $this->multiseriada = 0;
     }
     if (isset($this->visivel)) {
         $this->visivel = TRUE;
     } else {
         $this->visivel = FALSE;
     }
     // Não segue o padrão do curso
     if ($this->padrao_ano_escolar == 0) {
         $this->turma_modulo = unserialize(urldecode($this->turma_modulo));
         $this->turma_dia_semana = unserialize(urldecode($this->turma_dia_semana));
         if ($this->turma_modulo) {
             $obj = new clsPmieducarTurma($this->cod_turma, $this->pessoa_logada, NULL, $this->ref_ref_cod_serie, $this->ref_cod_escola, $this->ref_cod_infra_predio_comodo, $this->nm_turma, $this->sgl_turma, $this->max_aluno, $this->multiseriada, NULL, NULL, 1, $this->ref_cod_turma_tipo, $this->hora_inicial, $this->hora_final, $this->hora_inicio_intervalo, $this->hora_fim_intervalo, $this->ref_cod_regente, $this->ref_cod_instituicao_regente, $this->ref_cod_instituicao, $this->ref_cod_curso, $this->ref_ref_cod_serie_mult, $this->ref_cod_escola, $this->visivel, $this->turma_turno_id, $this->tipo_boletim, $this->ano, $this->data_fechamento);
             $editou = $obj->edita();
             if ($editou) {
                 $obj = new clsPmieducarTurmaModulo();
                 $excluiu = $obj->excluirTodos($this->cod_turma);
                 if ($excluiu) {
                     foreach ($this->turma_modulo as $campo) {
                         $campo['data_inicio_'] = dataToBanco($campo['data_inicio_']);
                         $campo['data_fim_'] = dataToBanco($campo['data_fim_']);
                         $obj = new clsPmieducarTurmaModulo($this->cod_turma, $campo['ref_cod_modulo_'], $campo['sequencial_'], $campo['data_inicio_'], $campo['data_fim_']);
                         $cadastrou1 = $obj->cadastra();
                         if (!$cadastrou1) {
                             $this->mensagem = Portabilis_String_utils::toLatin1('Edição não realizada.');
                             echo "<!--\nErro ao editar clsPmieducarTurmaModulo\nvalores obrigatorios\nis_numeric( {$this->cod_turma} ) && is_numeric( {$campo["ref_cod_modulo_"]} ) \n-->";
                             return FALSE;
                         }
                     }
                 }
                 // Edita o dia da semana
                 $obj = new clsPmieducarTurmaDiaSemana(NULL, $this->cod_turma);
                 $excluiu = $obj->excluirTodos();
                 if ($excluiu) {
                     foreach ($this->turma_dia_semana as $campo) {
                         $obj = new clsPmieducarTurmaDiaSemana($campo["dia_semana_"], $this->cod_turma, $campo["hora_inicial_"], $campo["hora_final_"]);
                         $cadastrou2 = $obj->cadastra();
                         if (!$cadastrou2) {
                             $this->mensagem = Portabilis_String_utils::toLatin1('Edição não realizada.');
                             echo "<!--\nErro ao editar clsPmieducarTurmaDiaSemana\nvalores obrigat&oacute;rios\nis_numeric( {$this->cod_turma} ) && is_numeric( {$campo["dia_semana_"]} ) \n-->";
                             return FALSE;
                         }
                     }
                 }
             } else {
                 $this->mensagem = Portabilis_String_utils::toLatin1('Edição não realizada.');
                 echo "<!--\nErro ao editar clsPmieducarTurma\nvalores obrigatorios\nis_numeric( {$this->pessoa_logada} ) && is_numeric( {$this->ref_ref_cod_serie} ) && is_numeric( {$this->ref_cod_escola} ) && is_numeric( {$this->ref_cod_infra_predio_comodo} ) && is_string( {$this->nm_turma} ) && is_numeric( {$this->max_aluno} ) && is_numeric( {$this->multiseriada} ) && is_numeric( {$this->ref_cod_turma_tipo} )\n-->";
                 return FALSE;
             }
         } else {
             echo '<script type="text/javascript">alert(stringUtils.toUtf8("É necessário adicionar pelo menos 1 módulo!"))</script>';
             $this->mensagem = Portabilis_String_utils::toLatin1('Edição não realizada.');
             return FALSE;
         }
     } elseif ($this->padrao_ano_escolar == 1) {
         $obj = new clsPmieducarTurma($this->cod_turma, $this->pessoa_logada, NULL, $this->ref_ref_cod_serie, $this->ref_cod_escola, $this->ref_cod_infra_predio_comodo, $this->nm_turma, $this->sgl_turma, $this->max_aluno, $this->multiseriada, NULL, NULL, 1, $this->ref_cod_turma_tipo, $this->hora_inicial, $this->hora_final, $this->hora_inicio_intervalo, $this->hora_fim_intervalo, $this->ref_cod_regente, $this->ref_cod_instituicao_regente, $this->ref_cod_instituicao, $this->ref_cod_curso, $this->ref_ref_cod_serie_mult, $this->ref_cod_escola, $this->visivel, $this->turma_turno_id, $this->tipo_boletim, $this->ano, $this->data_fechamento);
         $editou = $obj->edita();
     }
     $this->atualizaComponentesCurriculares(trim($this->serie_param) == '' ? $this->ref_ref_cod_serie : $this->serie_param, trim($this->escola_param) == '' ? $this->ref_cod_escola : $this->escola_param, $this->cod_turma, $this->disciplinas, $this->carga_horaria, $this->usar_componente);
     if ($editou) {
         $this->mensagem .= 'Edição efetuada com sucesso.';
         header('Location: educar_turma_lst.php');
         die;
     } else {
         $this->mensagem = Portabilis_String_utils::toLatin1('Edição não realizada.');
         echo "<!--\nErro ao editar clsPmieducarTurma\nvalores obrigatorios\nis_numeric( {$this->pessoa_logada} ) && is_numeric( {$this->ref_ref_cod_serie} ) && is_numeric( {$this->ref_cod_escola} ) && is_numeric( {$this->ref_cod_infra_predio_comodo} ) && is_string( {$this->nm_turma} ) && is_numeric( {$this->max_aluno} ) && is_numeric( {$this->multiseriada} ) && is_numeric( {$this->ref_cod_turma_tipo} )\n-->";
         return FALSE;
     }
 }
コード例 #4
0
 protected function get()
 {
     if ($this->canGet()) {
         $id = $this->getRequest()->id;
         $aluno = new clsPmieducarAluno();
         $aluno->cod_aluno = $id;
         $aluno = $aluno->detalhe();
         $attrs = array('cod_aluno' => 'id', 'ref_cod_aluno_beneficio' => 'beneficio_id', 'ref_cod_religiao' => 'religiao_id', 'ref_idpes' => 'pessoa_id', 'tipo_responsavel' => 'tipo_responsavel', 'ref_usuario_exc' => 'destroyed_by', 'data_exclusao' => 'destroyed_at', 'analfabeto', 'ativo', 'aluno_estado_id');
         $aluno = Portabilis_Array_Utils::filter($aluno, $attrs);
         $aluno['nome'] = $this->loadNomeAluno($id);
         $aluno['tipo_transporte'] = $this->loadTransporte($id);
         $aluno['tipo_responsavel'] = $this->tipoResponsavel($aluno);
         $aluno['aluno_inep_id'] = $this->loadAlunoInepId($id);
         $aluno['ativo'] = $aluno['ativo'] == 1;
         $aluno['aluno_estado_id'] = Portabilis_String_Utils::toUtf8($aluno['aluno_estado_id']);
         $aluno['alfabetizado'] = $aluno['analfabeto'] == 0;
         unset($aluno['analfabeto']);
         // destroyed_by username
         $dataMapper = $this->getDataMapperFor('usuario', 'funcionario');
         $entity = $this->tryGetEntityOf($dataMapper, $aluno['destroyed_by']);
         $aluno['destroyed_by'] = is_null($entity) ? null : $entity->get('matricula');
         $aluno['destroyed_at'] = Portabilis_Date_Utils::pgSQLToBr($aluno['destroyed_at']);
         $objFichaMedica = new clsModulesFichaMedicaAluno($id);
         if ($objFichaMedica->existe()) {
             $objFichaMedica = $objFichaMedica->detalhe();
             foreach ($objFichaMedica as $chave => $value) {
                 $objFichaMedica[$chave] = Portabilis_String_Utils::toUtf8($value);
             }
             $aluno = Portabilis_Array_Utils::merge($objFichaMedica, $aluno);
         }
         $objUniforme = new clsModulesUniformeAluno($id);
         if ($objUniforme->existe()) {
             $objUniforme = $objUniforme->detalhe();
             foreach ($objUniforme as $chave => $value) {
                 $objUniforme[$chave] = Portabilis_String_Utils::toUtf8($value);
             }
             $aluno = Portabilis_Array_Utils::merge($objUniforme, $aluno);
         }
         $objMoradia = new clsModulesMoradiaAluno($id);
         if ($objMoradia->existe()) {
             $objMoradia = $objMoradia->detalhe();
             foreach ($objMoradia as $chave => $value) {
                 $objMoradia[$chave] = Portabilis_String_Utils::toUtf8($value);
             }
             $aluno = Portabilis_Array_Utils::merge($objMoradia, $aluno);
         }
         $sql = "select sus from cadastro.fisica where idpes = \$1";
         $aluno['sus'] = Portabilis_String_Utils::toUtf8($this->fetchPreparedQuery($sql, $aluno['pessoa_id'], false, 'first-field'));
         return $aluno;
     }
 }
コード例 #5
0
 protected function createOrUpdateDocumentos($pessoaId)
 {
     $documentos = new clsDocumento();
     $documentos->idpes = $pessoaId;
     // rg
     $documentos->rg = $_REQUEST['rg'];
     $documentos->data_exp_rg = Portabilis_Date_Utils::brToPgSQL($_REQUEST['data_emissao_rg']);
     $documentos->idorg_exp_rg = $_REQUEST['orgao_emissao_rg'];
     $documentos->sigla_uf_exp_rg = $_REQUEST['uf_emissao_rg'];
     // certidão civil
     // o tipo certidão novo padrão é apenas para exibição ao usuário,
     // não precisa ser gravado no banco
     //
     // quando selecionado um tipo diferente do novo formato,
     // é removido o valor de certidao_nascimento.
     //
     if ($_REQUEST['tipo_certidao_civil'] == 'certidao_nascimento_novo_formato') {
         $documentos->tipo_cert_civil = null;
         $documentos->certidao_nascimento = $_REQUEST['certidao_nascimento'];
     } else {
         $documentos->tipo_cert_civil = $_REQUEST['tipo_certidao_civil'];
         $documentos->certidao_nascimento = '';
     }
     $documentos->num_termo = $_REQUEST['termo_certidao_civil'];
     $documentos->num_livro = $_REQUEST['livro_certidao_civil'];
     $documentos->num_folha = $_REQUEST['folha_certidao_civil'];
     $documentos->data_emissao_cert_civil = Portabilis_Date_Utils::brToPgSQL($_REQUEST['data_emissao_certidao_civil']);
     $documentos->sigla_uf_cert_civil = $_REQUEST['uf_emissao_certidao_civil'];
     $documentos->cartorio_cert_civil = addslashes($_REQUEST['cartorio_emissao_certidao_civil']);
     // carteira de trabalho
     $documentos->num_cart_trabalho = $_REQUEST['carteira_trabalho'];
     $documentos->serie_cart_trabalho = $_REQUEST['serie_carteira_trabalho'];
     $documentos->data_emissao_cart_trabalho = Portabilis_Date_Utils::brToPgSQL($_REQUEST['data_emissao_carteira_trabalho']);
     $documentos->sigla_uf_cart_trabalho = $_REQUEST['uf_emissao_carteira_trabalho'];
     // titulo de eleitor
     $documentos->num_tit_eleitor = $_REQUEST['titulo_eleitor'];
     $documentos->zona_tit_eleitor = $_REQUEST['zona_titulo_eleitor'];
     $documentos->secao_tit_eleitor = $_REQUEST['secao_titulo_eleitor'];
     // Alteração de documentos compativel com a versão anterior do cadastro,
     // onde era possivel criar uma pessoa, não informando os documentos,
     // o que não criaria o registro do documento, sendo assim, ao editar uma pessoa,
     // o registro do documento será criado, caso não exista.
     $sql = "select 1 from cadastro.documento WHERE idpes = \$1 limit 1";
     if (Portabilis_Utils_Database::selectField($sql, $pessoaId) != 1) {
         $documentos->cadastra();
     } else {
         $documentos->edita();
     }
 }
コード例 #6
0
 function Gerar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     // Verificação de permissão para cadastro.
     $this->obj_permissao = new clsPermissoes();
     $this->nivel_usuario = $this->obj_permissao->nivel_acesso($this->pessoa_logada);
     $this->titulo = 'Motorista - Detalhe';
     $this->addBanner('imagens/nvp_top_intranet.jpg', 'imagens/nvp_vert_intranet.jpg', 'Intranet');
     $cod_motorista = $_GET['cod_motorista'];
     $tmp_obj = new clsModulesMotorista($cod_motorista);
     $registro = $tmp_obj->detalhe();
     if (!$registro) {
         header('Location: transporte_motorista_lst.php');
         die;
     }
     $this->addDetalhe(array("Código do motorista", $cod_motorista));
     $this->addDetalhe(array("Nome", $registro['nome_motorista'] . '<br/> <a target=\'_blank\' style=\' text-decoration: underline;\' href=\'atendidos_det.php?cod_pessoa=' . $registro['ref_idpes'] . '\'>Visualizar pessoa</a>'));
     $this->addDetalhe(array("CNH", $registro['cnh']));
     $this->addDetalhe(array("Categoria", $registro['tipo_cnh']));
     if (trim($registro['dt_habilitacao']) != '') {
         $this->addDetalhe(array("Data da habilitação", Portabilis_Date_Utils::pgSQLToBr($registro['dt_habilitacao'])));
     }
     if (trim($registro['vencimento_cnh']) != '') {
         $this->addDetalhe(array("Vencimento da habilitação", Portabilis_Date_Utils::pgSQLToBr($registro['vencimento_cnh'])));
     }
     $this->addDetalhe(array("Observa&ccedil;&atilde;o", $registro['observacao']));
     $this->url_novo = "../module/TransporteEscolar/Motorista";
     $this->url_editar = "../module/TransporteEscolar/motorista?id={$cod_motorista}";
     $this->url_cancelar = "transporte_motorista_lst.php";
     $this->largura = "100%";
 }
コード例 #7
0
 function Novo()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     @session_write_close();
     $this->data_falta_atraso = Portabilis_Date_Utils::brToPgSQL($this->data_falta_atraso);
     $obj_permissoes = new clsPermissoes();
     $obj_permissoes->permissao_cadastra(635, $this->pessoa_logada, 7, sprintf('educar_falta_atraso_lst.php?ref_cod_servidor=%d&ref_cod_instituicao=%d', $this->ref_cod_servidor, $this->ref_cod_instituicao));
     if ($this->tipo == 1) {
         $obj = new clsPmieducarFaltaAtraso(NULL, $this->ref_cod_escola, $this->ref_cod_instituicao, NULL, $this->pessoa_logada, $this->ref_cod_servidor, $this->tipo, $this->data_falta_atraso, $this->qtd_horas, $this->qtd_min, $this->justificada, NULL, NULL, 1);
     } elseif ($this->tipo == 2) {
         $db = new clsBanco();
         $dia_semana = $db->CampoUnico(sprintf('(SELECT EXTRACT (DOW FROM date \'%s\') + 1 )', $this->data_falta_atraso));
         $obj_ser = new clsPmieducarServidor();
         $horas = $obj_ser->qtdhoras($this->ref_cod_servidor, $this->ref_cod_escola, $this->ref_cod_instituicao, $dia_semana);
         if ($horas) {
             $obj = new clsPmieducarFaltaAtraso(NULL, $this->ref_cod_escola, $this->ref_cod_instituicao, NULL, $this->pessoa_logada, $this->ref_cod_servidor, $this->tipo, $this->data_falta_atraso, $horas['hora'], $horas['min'], $this->justificada, NULL, NULL, 1);
         }
     }
     $cadastrou = $obj->cadastra();
     if ($cadastrou) {
         $this->mensagem .= 'Cadastro efetuado com sucesso.<br />';
         header('Location: ' . sprintf('educar_falta_atraso_lst.php?ref_cod_servidor=%d&ref_cod_instituicao=%d', $this->ref_cod_servidor, $this->ref_cod_instituicao));
         die;
     }
     $this->mensagem = 'Cadastro não realizado.<br />';
     echo "<!--\nErro ao cadastrar clsPmieducarFaltaAtraso\nvalores obrigatórios\nis_numeric( {$this->ref_cod_escola} ) && is_numeric({$this->ref_ref_cod_instituicao}) && is_numeric({$this->ref_usuario_exc}) && is_numeric({$this->ref_usuario_cad}) && is_numeric({$this->ref_cod_servidor}) && is_numeric({$this->tipo}) && is_string({$this->data_falta_atraso}) && is_numeric({$this->justificada})\n-->";
     return FALSE;
 }
コード例 #8
0
 function Inicializar()
 {
     $retorno = "Novo";
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     @session_write_close();
     if (!$_POST) {
         header('Location: educar_matricula_lst.php');
         die;
     }
     foreach ($_POST as $key => $value) {
         $this->{$key} = $value;
     }
     $this->data_enturmacao = Portabilis_Date_Utils::brToPgSQL($this->data_enturmacao);
     $obj_permissoes = new clsPermissoes();
     $obj_permissoes->permissao_cadastra(578, $this->pessoa_logada, 7, 'educar_matricula_lst.php');
     //nova lógica
     if (is_numeric($this->ref_cod_matricula)) {
         if ($this->ref_cod_turma_origem == 'remover-enturmacao-destino') {
             $this->removerEnturmacao($this->ref_cod_matricula, $this->ref_cod_turma_destino);
         } elseif (!is_numeric($this->ref_cod_turma_origem)) {
             $this->novaEnturmacao($this->ref_cod_matricula, $this->ref_cod_turma_destino);
         } else {
             $this->transferirEnturmacao($this->ref_cod_matricula, $this->ref_cod_turma_origem, $this->ref_cod_turma_destino);
         }
         header('Location: educar_matricula_det.php?cod_matricula=' . $this->ref_cod_matricula);
         die;
     } else {
         header('Location: /intranet/educar_aluno_lst.php');
         die;
     }
 }
コード例 #9
0
 function Novo()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     @session_write_close();
     $obj_permissoes = new clsPermissoes();
     $obj_permissoes->permissao_cadastra(578, $this->pessoa_logada, 7, "educar_matricula_lst.php?ref_cod_aluno={$this->ref_cod_aluno}");
     $this->data_cancel = Portabilis_Date_Utils::brToPgSQL($this->data_cancel);
     if ($this->ref_ref_cod_serie == $this->ref_ref_cod_serie_antiga) {
         header("location: educar_matricula_det.php?cod_matricula={$this->cod_matricula}");
     }
     $obj_matricula = new clsPmieducarMatricula($this->cod_matricula);
     $det_matricula = $obj_matricula->detalhe();
     if (is_null($det_matricula['data_matricula'])) {
         if (substr($det_matricula['data_cadastro'], 0, 10) > $this->data_cancel) {
             $this->mensagem = "Data de abandono não pode ser inferior a data da matrícula.<br>";
             return false;
             die;
         }
     } else {
         if (substr($det_matricula['data_matricula'], 0, 10) > $this->data_cancel) {
             $this->mensagem = "Data de abandono não pode ser inferior a data da matrícula.<br>";
             return false;
             die;
         }
     }
     if (!$det_matricula || $det_matricula['aprovado'] != 3) {
         header("location: educar_matricula_lst.php?ref_cod_aluno={$this->ref_cod_aluno}");
     }
     $obj_matricula = new clsPmieducarMatricula($this->cod_matricula, null, null, null, $this->pessoa_logada, null, null, 5, null, null, 1, null, 0, null, null, $this->descricao_reclassificacao);
     $obj_matricula->data_cancel = $this->data_cancel;
     if (!$obj_matricula->edita()) {
         echo "<script>alert('Erro ao reclassificar matrícula'); window.location='educar_matricula_lst.php?ref_cod_aluno={$this->ref_cod_aluno}';</script>";
         die("Erro ao reclassificar matrícula");
     }
     $obj_serie = new clsPmieducarSerie($this->ref_ref_cod_serie);
     $det_serie = $obj_serie->detalhe();
     $obj_matricula = new clsPmieducarMatricula(null, null, $this->ref_cod_escola, $this->ref_ref_cod_serie, null, $this->pessoa_logada, $this->ref_cod_aluno, 3, null, null, 1, $det_matricula['ano'], 1, null, null, null, 1, $det_serie["ref_cod_curso"]);
     $cadastrou = $obj_matricula->cadastra();
     if (!$cadastrou) {
         echo "<script>alert('Erro ao reclassificar matrícula'); window.location='educar_matricula_lst.php?ref_cod_aluno={$this->ref_cod_aluno}';</script>";
         die("Erro ao reclassificar matrícula");
     } else {
         /**
          * desativa todas as enturmacoes da matricula anterior
          */
         $obj_matricula_turma = new clsPmieducarMatriculaTurma($this->cod_matricula);
         if (!$obj_matricula_turma->reclassificacao()) {
             echo "<script>alert('Erro ao desativar enturmações da matrícula: {$this->cod_matricula}\nContate o administrador do sistema informando a matrícula!');</script>";
         }
         //window.location='educar_matricula_det.php?cod_matricula={$this->cod_matricula}&ref_cod_aluno={$this->ref_cod_aluno}';
         echo "<script>alert('Reclassificação realizada com sucesso!\\nO Código da nova matrícula é: {$cadastrou}.');\n\t\t\twindow.location='educar_matricula_lst.php?ref_cod_aluno={$this->ref_cod_aluno}';\n\t\t\t</script>";
         die('Reclassificação realizada com sucesso!');
     }
 }
コード例 #10
0
 protected function formatResourceValue($resource)
 {
     $nome = $this->toUtf8($resource['name'], array('transform' => true));
     $rg = $this->loadRg($resource['id']);
     $nascimento = $this->loadDataNascimento($resource['id']);
     // Quando informado, inclui detalhes extra sobre a pessoa, como RG e Data nascimento.
     $details = array();
     if ($nascimento) {
         $details[] = 'Nascimento: ' . Portabilis_Date_Utils::pgSQLToBr($nascimento);
     }
     if ($rg) {
         $details[] = "RG: {$rg}";
     }
     $details = $details ? ' (' . implode(', ', $details) . ')' : '';
     return $resource['id'] . " - {$nome}{$details}";
 }
コード例 #11
0
 function Novo()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     @session_write_close();
     $obj_permissoes = new clsPermissoes();
     $obj_permissoes->permissao_cadastra(578, $this->pessoa_logada, 7, "educar_matricula_det.php?cod_matricula={$this->ref_cod_matricula}");
     //		$obj_matricula = new clsPmieducarMatricula();
     //		$lst_matricula = $obj_matricula->lista( null,null,null,null,null,null,$this->ref_cod_aluno,null,null,null,null,null,1 );
     //		if ( is_array($lst_matricula) )
     //		{
     //			$det_matricula = array_shift($lst_matricula);
     //			$this->ref_cod_matricula_saida = $det_matricula["cod_matricula"];
     // escola externa
     $this->data_cancel = Portabilis_Date_Utils::brToPgSQL($this->data_cancel);
     $obj = new clsPmieducarMatricula($this->ref_cod_matricula, null, null, null, $this->pessoa_logada);
     $det_matricula = $obj->detalhe();
     if (is_null($det_matricula['data_matricula'])) {
         if (substr($det_matricula['data_cadastro'], 0, 10) > $this->data_cancel) {
             $this->mensagem = "Data de abandono não pode ser inferior a data da matrícula.<br>";
             return false;
             die;
         }
     } else {
         if (substr($det_matricula['data_matricula'], 0, 10) > $this->data_cancel) {
             $this->mensagem = "Data de abandono não pode ser inferior a data da matrícula.<br>";
             return false;
             die;
         }
     }
     $editou = $obj->edita();
     $obj->data_cancel = $this->data_cancel;
     if ($this->transferencia_tipo == 2) {
         $this->data_transferencia = date("Y-m-d");
         $this->ativo = 1;
         $obj_matricula = new clsPmieducarMatricula($this->ref_cod_matricula);
         $det_matricula = $obj_matricula->detalhe();
         $aprovado = $det_matricula["aprovado"];
         if ($aprovado == 3) {
             $obj = new clsPmieducarMatricula($this->ref_cod_matricula, null, null, null, $this->pessoa_logada, null, null, 4, null, null, 1);
             $editou = $obj->edita();
             if (!$editou) {
                 $this->mensagem = "N&atilde;o foi poss&iacute;vel editar a Matr&iacute;cula do Aluno.<br>";
                 return false;
             }
             $enturmacoes = new clsPmieducarMatriculaTurma();
             $enturmacoes = $enturmacoes->lista($this->ref_cod_matricula, null, null, null, null, null, null, null, 1);
             if ($enturmacoes) {
                 // foreach necessário pois metodo edita e exclui da classe clsPmieducarMatriculaTurma, necessitam do
                 // código da turma e do sequencial
                 foreach ($enturmacoes as $enturmacao) {
                     $enturmacao = new clsPmieducarMatriculaTurma($this->ref_cod_matricula, $enturmacao['ref_cod_turma'], $this->pessoa_logada, null, null, null, 0, null, $enturmacao['sequencial']);
                     if (!$enturmacao->edita()) {
                         $this->mensagem = "N&atilde;o foi poss&iacute;vel desativar as enturma&ccedil;&otilde;es da matr&iacute;cula.";
                         return false;
                     }
                 }
             }
         }
     }
     $obj = new clsPmieducarTransferenciaSolicitacao(null, $this->ref_cod_transferencia_tipo, null, $this->pessoa_logada, null, $this->ref_cod_matricula, $this->observacao, null, null, $this->ativo, $this->data_transferencia);
     $cadastrou = $obj->cadastra();
     if ($cadastrou) {
         $obj = new clsPmieducarMatricula($this->ref_cod_matricula, null, null, null, $this->pessoa_logada);
         $det_matricula = $obj->detalhe();
         $obj->data_cancel = $this->data_cancel;
         $obj->edita();
         $this->mensagem .= "Cadastro efetuado com sucesso.<br>";
         header("Location: educar_matricula_det.php?cod_matricula={$this->ref_cod_matricula}");
         die;
         return true;
     }
     //		}
     //		else
     //		{
     //			$this->mensagem = "N&atilde;o foi poss&iacute;vel encontrar a Matr&iacute;cula do Aluno.<br>";
     //			return false;
     //		}
     $this->mensagem = "Cadastro n&atilde;o realizado.<br>";
     echo "<!--\nErro ao cadastrar clsPmieducarTransferenciaSolicitacao\nvalores obrigatorios\nis_numeric( {$this->ref_cod_transferencia_tipo} ) && is_numeric( {$this->pessoa_logada} ) && is_numeric( {$this->ref_cod_aluno} )\n-->";
     return false;
 }
コード例 #12
0
 function Gerar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     unset($_SESSION['reservas']['cod_cliente']);
     unset($_SESSION['reservas']['ref_cod_biblioteca']);
     session_write_close();
     $this->titulo = "Reservas - Listagem";
     foreach ($_GET as $var => $val) {
         // passa todos os valores obtidos no GET para atributos do objeto
         $this->{$var} = $val === "" ? null : $val;
     }
     $this->addBanner("imagens/nvp_top_intranet.jpg", "imagens/nvp_vert_intranet.jpg", "Intranet");
     $lista_busca = array("Cliente", "Obra", "Data Reserva", 'Data retirada');
     // Filtros de Foreign Keys
     $get_escola = true;
     $get_biblioteca = true;
     $get_cabecalho = "lista_busca";
     include "include/pmieducar/educar_campo_lista.php";
     $this->addCabecalhos($lista_busca);
     // Filtros de Foreign Keys
     $this->campoTexto("nm_cliente", "Cliente", $this->nm_cliente, 30, 255, false, false, false, "", "<img border=\"0\" onclick=\"pesquisa_cliente();\" id=\"ref_cod_cliente_lupa\" name=\"ref_cod_cliente_lupa\" src=\"imagens/lupa.png\"\\/>");
     $this->campoOculto("ref_cod_cliente", $this->ref_cod_cliente);
     // outros Filtros
     $this->campoTexto("nm_exemplar", "Obra", $this->nm_exemplar, 30, 255, false, false, false, "", "<img border=\"0\" onclick=\"pesquisa_obra();\" id=\"ref_cod_exemplar_lupa\" name=\"ref_cod_exemplar_lupa\" src=\"imagens/lupa.png\"\\/>");
     $this->campoOculto("ref_cod_exemplar", $this->ref_cod_exemplar);
     $this->campoOculto("ref_cod_acervo", $this->ref_cod_acervo);
     // Filtro verificando se ouve retirada
     $resources = array(1 => 'Todas', 2 => 'Sem retirada', 3 => 'Com retirada');
     $options = array('label' => 'Tipo de reserva', 'resources' => $resources, 'value' => $this->tipo_reserva);
     $this->inputsHelper()->select('tipo_reserva', $options);
     $this->campoData("data_reserva", "Data reserva", $this->data_reserva, false);
     if ($this->ref_cod_biblioteca) {
         $this->cod_biblioteca = $this->ref_cod_biblioteca;
         $this->campoOculto("cod_biblioteca", $this->cod_biblioteca);
     } else {
         $this->cod_biblioteca = null;
         $this->campoOculto("cod_biblioteca", $this->cod_biblioteca);
     }
     // Paginador
     $this->limite = 20;
     $this->offset = $_GET["pagina_{$this->nome}"] ? $_GET["pagina_{$this->nome}"] * $this->limite - $this->limite : 0;
     $obj_reservas = new clsPmieducarReservas();
     $obj_reservas->setOrderby("data_reserva ASC");
     $obj_reservas->setLimite($this->limite, $this->offset);
     $lista = $obj_reservas->lista(null, null, null, $this->ref_cod_cliente, $this->data_reserva, null, null, null, null, null, $this->ref_cod_exemplar, 1, $this->ref_cod_biblioteca, $this->ref_cod_instituicao, $this->ref_cod_escola, $this->tipo_reserva == 1 || is_null($this->tipo_reserva) ? null : ($this->tipo_reserva == 2 ? true : false));
     $total = $obj_reservas->_total;
     // monta a lista
     if (is_array($lista) && count($lista)) {
         foreach ($lista as $registro) {
             // muda os campos data
             $registro["data_reserva_time"] = strtotime(substr($registro["data_reserva"], 0, 16));
             $registro["data_reserva_br"] = date("d/m/Y", $registro["data_reserva_time"]);
             $registro["data_retirada_br"] = $registro["data_retirada"] == null ? '-' : Portabilis_Date_Utils::PgSqltoBr(substr($registro["data_retirada"], 0, 10));
             // pega detalhes de foreign_keys
             if (class_exists("clsPmieducarExemplar")) {
                 $obj_exemplar = new clsPmieducarExemplar($registro["ref_cod_exemplar"]);
                 $det_exemplar = $obj_exemplar->detalhe();
                 $acervo = $det_exemplar["ref_cod_acervo"];
                 $obj_acervo = new clsPmieducarAcervo($acervo);
                 $det_acervo = $obj_acervo->detalhe();
                 $registro["ref_cod_exemplar"] = $det_acervo["titulo"];
             } else {
                 $registro["ref_cod_exemplar"] = "Erro na geracao";
                 echo "<!--\nErro\nClasse nao existente: clsPmieducarExemplar\n-->";
             }
             if (class_exists("clsPmieducarCliente")) {
                 $obj_cliente = new clsPmieducarCliente($registro["ref_cod_cliente"]);
                 $det_cliente = $obj_cliente->detalhe();
                 $ref_idpes = $det_cliente["ref_idpes"];
                 $obj_pessoa = new clsPessoa_($ref_idpes);
                 $det_pessoa = $obj_pessoa->detalhe();
                 $registro["ref_cod_cliente"] = $det_pessoa["nome"];
             } else {
                 $registro["ref_cod_cliente"] = "Erro na geracao";
                 echo "<!--\nErro\nClasse nao existente: clsPmieducarCliente\n-->";
             }
             if (class_exists("clsPmieducarBiblioteca")) {
                 $obj_ref_cod_biblioteca = new clsPmieducarBiblioteca($registro["ref_cod_biblioteca"]);
                 $det_ref_cod_biblioteca = $obj_ref_cod_biblioteca->detalhe();
                 $registro["ref_cod_biblioteca"] = $det_ref_cod_biblioteca["nm_biblioteca"];
             }
             if ($registro["ref_cod_instituicao"]) {
                 $obj_ref_cod_instituicao = new clsPmieducarInstituicao($registro["ref_cod_instituicao"]);
                 $det_ref_cod_instituicao = $obj_ref_cod_instituicao->detalhe();
                 $registro["ref_cod_instituicao"] = $det_ref_cod_instituicao["nm_instituicao"];
             }
             if ($registro["ref_cod_escola"]) {
                 $obj_ref_cod_escola = new clsPmieducarEscola();
                 $det_ref_cod_escola = array_shift($obj_ref_cod_escola->lista($registro["ref_cod_escola"]));
                 $registro["ref_cod_escola"] = $det_ref_cod_escola["nome"];
             }
             $lista_busca = array("{$registro["ref_cod_cliente"]}", "{$registro["ref_cod_exemplar"]}", "{$registro["data_reserva_br"]}", "{$registro["data_retirada_br"]}");
             if ($qtd_bibliotecas > 1 && ($nivel_usuario == 4 || $nivel_usuario == 8)) {
                 $lista_busca[] = "{$registro["ref_cod_biblioteca"]}";
             } else {
                 if ($nivel_usuario == 1 || $nivel_usuario == 2 || $nivel_usuario == 4) {
                     $lista_busca[] = "{$registro["ref_cod_biblioteca"]}";
                 }
             }
             if ($nivel_usuario == 1 || $nivel_usuario == 2) {
                 $lista_busca[] = "{$registro["ref_cod_escola"]}";
             }
             if ($nivel_usuario == 1) {
                 $lista_busca[] = "{$registro["ref_cod_instituicao"]}";
             }
             $this->addLinhas($lista_busca);
         }
     }
     $this->addPaginador2("educar_reservas_lst.php", $total, $_GET, $this->nome, $this->limite);
     $obj_permissoes = new clsPermissoes();
     if ($obj_permissoes->permissao_cadastra(609, $this->pessoa_logada, 11)) {
         $this->acao = "go(\"/module/Biblioteca/Reserva\")";
         $this->nome_acao = "Novo";
     }
     $this->largura = "100%";
     $localizacao = new LocalizacaoSistema();
     $localizacao->entradaCaminhos(array($_SERVER['SERVER_NAME'] . "/intranet" => "i-Educar", "educar_biblioteca_index.php" => "Biblioteca", "" => "Lista de Reservas"));
     $this->enviaLocalizacao($localizacao->montar());
 }
コード例 #13
0
 function Novo()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     @session_write_close();
     $obj_permissoes = new clsPermissoes();
     $obj_permissoes->permissao_cadastra(578, $this->pessoa_logada, 7, "educar_matricula_det.php?cod_matricula={$this->ref_cod_matricula}");
     $obj_matricula = new clsPmieducarMatricula($this->ref_cod_matricula, null, null, null, $this->pessoa_logada, null, null, 6);
     $obj_matricula->data_cancel = Portabilis_Date_Utils::brToPgSQL($this->data_cancel);
     $det_matricula = $obj_matricula->detalhe();
     if (is_null($det_matricula['data_matricula'])) {
         if (substr($det_matricula['data_cadastro'], 0, 10) > $obj_matricula->data_cancel) {
             $this->mensagem = "Data de abandono não pode ser inferior a data da matrícula.<br>";
             return false;
         }
     } else {
         if (substr($det_matricula['data_matricula'], 0, 10) > $obj_matricula->data_cancel) {
             $this->mensagem = "Data de abandono não pode ser inferior a data da matrícula.<br>";
             return false;
         }
     }
     if ($obj_matricula->edita()) {
         if ($obj_matricula->cadastraObs($this->observacao)) {
             $this->mensagem .= "Abandono realizado com sucesso.<br>";
             header("Location: educar_matricula_det.php?cod_matricula={$this->ref_cod_matricula}");
             //die();
             return true;
         }
         $this->mensagem = "Observação não pode ser salva.<br>";
         return false;
     }
     $this->mensagem = "Abandono não pode ser realizado.<br>";
     return false;
 }
コード例 #14
0
 protected function get()
 {
     $id = $this->getRequest()->id;
     $motorista = new clsModulesMotorista();
     $motorista->cod_motorista = $id;
     $motorista = $motorista->detalhe();
     $attrs = array('cod_motorista' => 'id', 'ref_idpes' => 'pessoa', 'tipo_cnh' => 'tipo_cnh', 'ref_cod_empresa_transporte_escolar' => 'ref_cod_empresa_transporte_escolar', 'cnh' => 'cnh', 'observacao' => 'observacao', 'dt_habilitacao' => 'dt_habilitacao', 'vencimento_cnh' => 'vencimento_cnh');
     $motorista = Portabilis_Array_Utils::filter($motorista, $attrs);
     $motorista['nome'] = Portabilis_String_Utils::toUtf8($this->loadNomePessoa($id));
     $motorista['empresa'] = Portabilis_String_Utils::toUtf8($this->loadNomeEmpresa($id));
     $motorista['dt_habilitacao'] = Portabilis_Date_Utils::pgSQLToBr($motorista['dt_habilitacao']);
     $motorista['vencimento_cnh'] = Portabilis_Date_Utils::pgSQLToBr($motorista['vencimento_cnh']);
     $motorista['cnh'] = Portabilis_String_Utils::toUtf8($motorista['cnh']);
     $motorista['observacao'] = Portabilis_String_Utils::toUtf8($motorista['observacao']);
     return $motorista;
 }
コード例 #15
0
 function Editar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     $this->data_enturmacao = Portabilis_Date_Utils::brToPgSQL($this->data_enturmacao);
     @session_write_close();
     // realiza desenturmações
     foreach ($this->check_desenturma as $matricula) {
         $this->removerEnturmacao($matricula, $this->ref_cod_turma);
     }
     if ($this->matriculas_turma) {
         foreach ($this->ref_cod_matricula as $matricula => $campo) {
             $obj = new clsPmieducarMatriculaTurma($matricula, $this->ref_cod_turma, NULL, $this->pessoa_logada, NULL, NULL, 1, NULL, $campo['sequencial_']);
             $existe = $obj->existe();
             if (!$existe) {
                 $obj->data_enturmacao = $this->data_enturmacao;
                 $cadastrou = $obj->cadastra();
                 if (!$cadastrou) {
                     $this->mensagem = 'Cadastro n&atilde;o realizado.<br>';
                     return FALSE;
                 }
             }
         }
         $this->mensagem .= 'Cadastro efetuada com sucesso.<br>';
         header('Location: educar_matriculas_turma_lst.php');
         die;
     }
     header('Location: educar_matriculas_turma_lst.php');
     die;
 }
コード例 #16
0
    function Novo()
    {
        $this->url_cancelar = 'educar_aluno_det.php?cod_aluno=' . $this->ref_cod_aluno;
        $this->nome_url_cancelar = 'Cancelar';
        @session_start();
        $this->pessoa_logada = $_SESSION['id_pessoa'];
        @session_write_close();
        $obj_permissoes = new clsPermissoes();
        $obj_permissoes->permissao_cadastra(578, $this->pessoa_logada, 7, 'educar_aluno_det.php?cod_aluno=' . $this->ref_cod_aluno);
        //novas regras matricula aluno
        $this->ano = $_POST['ano'];
        $anoLetivoEmAndamentoEscola = new clsPmieducarEscolaAnoLetivo();
        $anoLetivoEmAndamentoEscola = $anoLetivoEmAndamentoEscola->lista($this->ref_cod_escola, $this->ano, null, null, 2, null, null, null, null, 1);
        if (is_array($anoLetivoEmAndamentoEscola)) {
            require_once 'include/pmieducar/clsPmieducarSerie.inc.php';
            $db = new clsBanco();
            $db->Consulta("select ref_ref_cod_serie, ref_cod_curso from pmieducar.matricula where ativo = 1 and ref_ref_cod_escola = {$this->ref_cod_escola} and ref_cod_curso = {$this->ref_cod_curso} and ref_cod_aluno = {$this->ref_cod_aluno} and aprovado not in (1,2,4,5,6,7,8,9)");
            $db->ProximoRegistro();
            $m = $db->Tupla();
            if (is_array($m) && count($m)) {
                $curso = $this->getCurso($this->ref_cod_curso);
                if ($m['ref_ref_cod_serie'] == $this->ref_cod_serie) {
                    $this->mensagem .= "Este aluno já está matriculado nesta série e curso, não é possivel matricular um aluno mais de uma vez na mesma série.<br />";
                    return false;
                } elseif ($curso['multi_seriado'] != 1) {
                    $serie = new clsPmieducarSerie($m['ref_ref_cod_serie'], null, null, $m['ref_cod_curso']);
                    $serie = $serie->detalhe();
                    if (is_array($serie) && count($serie)) {
                        $nomeSerie = $serie['nm_serie'];
                    } else {
                        $nomeSerie = '';
                    }
                    $this->mensagem .= "Este aluno já está matriculado no(a) '{$nomeSerie}' deste curso e escola. Como este curso não é multi seriado, não é possivel manter mais de uma matricula em andamento para o mesmo curso.<br />";
                    return false;
                }
            } else {
                $db->Consulta("select ref_ref_cod_escola, ref_cod_curso, ref_ref_cod_serie from pmieducar.matricula where ativo = 1 and ref_ref_cod_escola != {$this->ref_cod_escola} and ref_cod_aluno = {$this->ref_cod_aluno} and aprovado not in (1,2,4,5,6,7,8,9) and not exists (select 1 from pmieducar.transferencia_solicitacao as ts where ts.ativo = 1 and ts.ref_cod_matricula_saida = matricula.cod_matricula)");
                $db->ProximoRegistro();
                $m = $db->Tupla();
                if (is_array($m) && count($m)) {
                    if ($m['ref_cod_curso'] == $this->ref_cod_curso || $GLOBALS['coreExt']['Config']->app->matricula->multiplas_matriculas == 0) {
                        require_once 'include/pmieducar/clsPmieducarEscola.inc.php';
                        require_once 'include/pessoa/clsJuridica.inc.php';
                        $serie = new clsPmieducarSerie($m['ref_ref_cod_serie'], null, null, $m['ref_cod_curso']);
                        $serie = $serie->detalhe();
                        if (is_array($serie) && count($serie)) {
                            $serie = $serie['nm_serie'];
                        } else {
                            $serie = '';
                        }
                        $escola = new clsPmieducarEscola($m['ref_ref_cod_escola']);
                        $escola = $escola->detalhe();
                        if (is_array($escola) && count($escola)) {
                            $escola = new clsJuridica($escola['ref_idpes']);
                            $escola = $escola->detalhe();
                            if (is_array($escola) && count($escola)) {
                                $escola = $escola['fantasia'];
                            } else {
                                $escola = '';
                            }
                        } else {
                            $escola = '';
                        }
                        $curso = new clsPmieducarCurso($m['ref_cod_curso']);
                        $curso = $curso->detalhe();
                        if (is_array($curso) && count($curso)) {
                            $curso = $curso['nm_curso'];
                        } else {
                            $curso = '';
                        }
                        $this->mensagem .= "Este aluno já está matriculado no(a) '{$serie}' do curso '{$curso}' na escola '{$escola}', para matricular este aluno na sua escola solicite transferência ao secretário(a) da escola citada.<br />";
                        return false;
                    }
                }
            }
            $obj_reserva_vaga = new clsPmieducarReservaVaga();
            $lst_reserva_vaga = $obj_reserva_vaga->lista(NULL, $this->ref_cod_escola, $this->ref_cod_serie, NULL, NULL, $this->ref_cod_aluno, NULL, NULL, NULL, NULL, 1);
            // Verifica se existe reserva de vaga para o aluno
            if (is_array($lst_reserva_vaga)) {
                $det_reserva_vaga = array_shift($lst_reserva_vaga);
                $this->ref_cod_reserva_vaga = $det_reserva_vaga['cod_reserva_vaga'];
                $obj_reserva_vaga = new clsPmieducarReservaVaga($this->ref_cod_reserva_vaga, NULL, NULL, $this->pessoa_logada, NULL, NULL, NULL, NULL, 0);
                $editou = $obj_reserva_vaga->edita();
                if (!$editou) {
                    $this->mensagem = 'Edição não realizada.<br />';
                    return FALSE;
                }
            }
            $vagas_restantes = 1;
            if (!$this->ref_cod_reserva_vaga) {
                $obj_turmas = new clsPmieducarTurma();
                $lst_turmas = $obj_turmas->lista(NULL, NULL, NULL, $this->ref_cod_serie, $this->ref_cod_escola, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, TRUE);
                if (is_array($lst_turmas)) {
                    $total_vagas = 0;
                    foreach ($lst_turmas as $turmas) {
                        $total_vagas += $turmas['max_aluno'];
                    }
                } else {
                    $this->mensagem = 'A série selecionada não possui turmas cadastradas.<br />';
                    return FALSE;
                }
                $obj_matricula = new clsPmieducarMatricula();
                $lst_matricula = $obj_matricula->lista(NULL, NULL, $this->ref_cod_escola, $this->ref_cod_serie, NULL, NULL, NULL, 3, NULL, NULL, NULL, NULL, 1, $this->ano, $this->ref_cod_curso, $this->ref_cod_instituicao, 1);
                if (is_array($lst_matricula)) {
                    $matriculados = count($lst_matricula);
                }
                $obj_reserva_vaga = new clsPmieducarReservaVaga();
                $lst_reserva_vaga = $obj_reserva_vaga->lista(NULL, $this->ref_cod_escola, $this->ref_cod_serie, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, $this->ref_cod_instituicao, $this->ref_cod_curso);
                if (is_array($lst_reserva_vaga)) {
                    $reservados = count($lst_reserva_vaga);
                }
                $vagas_restantes = $total_vagas - ($matriculados + $reservados);
            }
            if ($vagas_restantes <= 0) {
                echo sprintf('
          <script>
            var msg = \'\';
            msg += \'Excedido o número de total de vagas para Matricula!\\n\';
            msg += \'Número total de matriculados: %d\\n\';
            msg += \'Número total de vagas reservadas: %d\\n\';
            msg += \'Número total de vagas: %d\\n\';
            msg += \'Deseja mesmo assim realizar a Matrícula?\';

            if (! confirm(msg)) {
              window.location = \'educar_aluno_det.php?cod_aluno=%d\';
            }
          </script>', $matriculados, $reservados, $total_vagas, $this->ref_cod_aluno);
            }
            $obj_matricula_aluno = new clsPmieducarMatricula();
            $lst_matricula_aluno = $obj_matricula_aluno->lista(NULL, NULL, NULL, NULL, NULL, NULL, $this->ref_cod_aluno);
            if (!$lst_matricula_aluno) {
                // Primeira matrícula do sistema, consistência (?)
                $this->matricula_transferencia = $this->matricula_transferencia == 'on' ? TRUE : FALSE;
            } else {
                $this->matricula_transferencia = FALSE;
            }
            if ($this->is_padrao == 1) {
                $this->semestre = NULL;
            }
            if (!$this->removerFlagUltimaMatricula($this->ref_cod_aluno)) {
                return false;
            }
            $this->data_matricula = Portabilis_Date_Utils::brToPgSQL($this->data_matricula);
            $obj = new clsPmieducarMatricula(NULL, $this->ref_cod_reserva_vaga, $this->ref_cod_escola, $this->ref_cod_serie, NULL, $this->pessoa_logada, $this->ref_cod_aluno, 3, NULL, NULL, 1, $this->ano, 1, NULL, NULL, NULL, NULL, $this->ref_cod_curso, $this->matricula_transferencia, $this->semestre, $this->data_matricula);
            $cadastrou = $obj->cadastra();
            // turma
            $cod_matricula = $cadastrou;
            $this->enturmacaoMatricula($cod_matricula, $this->ref_cod_turma);
            if ($cadastrou) {
                $obj_transferencia = new clsPmieducarTransferenciaSolicitacao();
                #Se encontrar solicitações de transferencia externa (com data de transferencia sem codigo de matricula de entrada), inativa estas
                /*$lst_transferencia = $obj_transferencia->lista(NULL, NULL, NULL, NULL,
                          NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL,
                          $this->ref_cod_aluno, FALSE, NULL, NULL, NULL, TRUE, FALSE);
                
                        if (is_array($lst_transferencia)) {
                          echo 'Encontrou solicitações de transferencia externa (saida) com data de transferencia';
                          $det_transferencia = array_shift($lst_transferencia);
                
                          $obj_transferencia = new clsPmieducarTransferenciaSolicitacao(
                            $det_transferencia['cod_transferencia_solicitacao'], NULL,
                            $this->pessoa_logada, NULL, NULL, NULL, NULL, NULL, NULL, 0);
                
                          $editou2 = $obj_transferencia->edita();
                
                          if ($editou2) {
                            $obj = new clsPmieducarMatricula($det_transferencia['ref_cod_matricula_saida'],
                              NULL, NULL, NULL, $this->pessoa_logada, NULL, NULL, 4, NULL, NULL, 1, NULL, 0);
                
                            $editou3 = $obj->edita();
                
                            if (! $editou3) {
                              $this->mensagem = 'Edição não realizada.<br />';
                              return FALSE;
                            }
                          }
                          else {
                            $this->mensagem = 'Edição não realizada.<br />';
                            return FALSE;
                          }
                        }
                        #senão pega as solicitacoes de transferencia internas (sem data de transferencia e sem codigo de matricula de entrada) e
                        #seta a data de transferencia e codigo de matricula de entrada, atualiza a situacao da matricula para transferido e inativa a matricula turma
                        else {
                        */
                $obj_transferencia = new clsPmieducarTransferenciaSolicitacao();
                $lst_transferencia = $obj_transferencia->lista(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, $this->ref_cod_aluno, FALSE, NULL, NULL, NULL, FALSE, FALSE);
                #TODO interna ?
                // Verifica se existe solicitação de transferência (interna) do aluno
                if (is_array($lst_transferencia)) {
                    #echo 'Encontrou solicitações de transferencia interna  (saida) com data de transferencia';
                    // Verifica cada solicitação de transferência do aluno
                    foreach ($lst_transferencia as $transferencia) {
                        $obj_matricula = new clsPmieducarMatricula($transferencia['ref_cod_matricula_saida']);
                        $det_matricula = $obj_matricula->detalhe();
                        // Se a matrícula anterior estava em andamento, copia as notas/faltas/pareceres
                        if ($det_matricula['aprovado'] == 3) {
                            $db->Consulta(" SELECT modules.copia_notas_transf({$det_matricula['cod_matricula']},{$cod_matricula})");
                        }
                        // Caso a solicitação seja para uma mesma série
                        if ($det_matricula['ref_ref_cod_serie'] == $this->ref_cod_serie) {
                            $ref_cod_transferencia = $transferencia['cod_transferencia_solicitacao'];
                            break;
                        } else {
                            $obj_sequencia = new clsPmieducarSequenciaSerie($det_matricula['ref_ref_cod_serie'], $this->ref_cod_serie, NULL, NULL, NULL, NULL, 1);
                            if ($obj_sequencia->existe()) {
                                $ref_cod_transferencia = $transferencia['cod_transferencia_solicitacao'];
                                break;
                            }
                        }
                        $ref_cod_transferencia = $transferencia['cod_transferencia_solicitacao'];
                    }
                    if ($ref_cod_transferencia) {
                        $obj_transferencia = new clsPmieducarTransferenciaSolicitacao($ref_cod_transferencia, NULL, $this->pessoa_logada, NULL, $cadastrou, NULL, NULL, NULL, NULL, 1, date('Y-m-d'));
                        $editou2 = $obj_transferencia->edita();
                        if ($editou2) {
                            $obj_transferencia = new clsPmieducarTransferenciaSolicitacao($ref_cod_transferencia);
                            $det_transferencia = $obj_transferencia->detalhe();
                            $matricula_saida = $det_transferencia['ref_cod_matricula_saida'];
                            $obj_matricula = new clsPmieducarMatricula($matricula_saida);
                            $det_matricula = $obj_matricula->detalhe();
                            // Caso a situação da matrícula do aluno esteja em andamento
                            if ($det_matricula['aprovado'] == 3) {
                                $obj_matricula = new clsPmieducarMatricula($cadastrou, NULL, NULL, NULL, $this->pessoa_logada, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, $det_matricula['modulo']);
                                if ($obj_matricula->edita() && !$this->desativaEnturmacoesMatricula($matricula_saida)) {
                                    return false;
                                }
                            }
                            $obj = new clsPmieducarMatricula($matricula_saida, NULL, NULL, NULL, $this->pessoa_logada, NULL, NULL, 4, NULL, NULL, 1, NULL, 0);
                            $editou3 = $obj->edita();
                            if (!$editou3) {
                                $this->mensagem = 'Edição não realizada.<br />';
                                return FALSE;
                            }
                        } else {
                            $this->mensagem = 'Edição não realizada.<br />';
                            return FALSE;
                        }
                    }
                }
                //}
                #TODO set in $_SESSION['flash'] 'Aluno matriculado com sucesso'
                $this->mensagem .= 'Cadastro efetuado com sucesso.<br />';
                header('Location: educar_aluno_det.php?cod_aluno=' . $this->ref_cod_aluno);
                #die();
                #return true;
            }
            $this->mensagem = 'Cadastro não realizado.<br />';
            return FALSE;
        } else {
            $this->mensagem = 'O ano (letivo) selecionado não esta em andamento na escola selecionada.<br />';
            return FALSE;
        }
    }
コード例 #17
0
 function Inicializar()
 {
     $retorno = "Novo";
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     @session_write_close();
     if (!$_POST) {
         header('Location: educar_matricula_lst.php');
         die;
     }
     foreach ($_POST as $key => $value) {
         $this->{$key} = $value;
     }
     $this->data_enturmacao = Portabilis_Date_Utils::brToPgSQL($this->data_enturmacao);
     $obj_permissoes = new clsPermissoes();
     $obj_permissoes->permissao_cadastra(578, $this->pessoa_logada, 7, 'educar_matricula_lst.php');
     $localizacao = new LocalizacaoSistema();
     $localizacao->entradaCaminhos(array($_SERVER['SERVER_NAME'] . "/intranet" => "In&iacute;cio", "educar_index.php" => "i-Educar - Escola", "" => "Enturma&ccedil;&atilde;o da matr&iacute;cula"));
     $this->enviaLocalizacao($localizacao->montar());
     //nova lógica
     if (is_numeric($this->ref_cod_matricula)) {
         if ($this->ref_cod_turma_origem == 'remover-enturmacao-destino') {
             $this->removerEnturmacao($this->ref_cod_matricula, $this->ref_cod_turma_destino);
         } elseif (!is_numeric($this->ref_cod_turma_origem)) {
             $this->novaEnturmacao($this->ref_cod_matricula, $this->ref_cod_turma_destino);
         } else {
             $this->transferirEnturmacao($this->ref_cod_matricula, $this->ref_cod_turma_origem, $this->ref_cod_turma_destino);
         }
         header('Location: educar_matricula_det.php?cod_matricula=' . $this->ref_cod_matricula);
         die;
     } else {
         header('Location: /intranet/educar_aluno_lst.php');
         die;
     }
 }