function Gerar()
 {
     session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $this->ref_cod_servidor = $_GET['ref_cod_servidor'];
     $this->ref_ref_cod_instituicao = $_GET['ref_cod_instituicao'];
     $this->titulo = 'Faltas e atrasos - Listagem';
     foreach ($_GET as $var => $val) {
         $this->{$var} = $val === '' ? NULL : $val;
     }
     $this->addCabecalhos(array('Escola', 'Instituição', 'Tipo', 'Horas', 'Minutos'));
     // Filtros de Foreign Keys
     $obrigatorio = FALSE;
     $get_instituicao = TRUE;
     $get_escola = TRUE;
     include_once 'include/pmieducar/educar_campo_lista.php';
     // Paginador
     $this->limite = 20;
     $this->offset = $_GET['pagina_' . $this->nome] ? $_GET['pagina_' . $this->nome] * $this->limite - $this->limite : 0;
     $obj_falta_atraso = new clsPmieducarFaltaAtraso(NULL, $this->ref_cod_escola, $this->ref_ref_cod_instituicao, NULL, NULL, $this->ref_cod_servidor);
     $obj_falta_atraso->setOrderby('tipo ASC');
     $obj_falta_atraso->setLimite($this->limite, $this->offset);
     // Recupera a lista de faltas/atrasos
     $lista = $obj_falta_atraso->lista(NULL, NULL, NULL, NULL, NULL, $this->ref_cod_servidor);
     $total = $obj_falta_atraso->_total;
     // monta a lista
     if (is_array($lista) && count($lista)) {
         foreach ($lista as $registro) {
             // Recupera o nome da escola
             $obj_ref_cod_escola = new clsPmieducarEscola($registro['ref_cod_escola']);
             $det_ref_cod_escola = $obj_ref_cod_escola->detalhe();
             $registro['nm_escola'] = $det_ref_cod_escola['nome'];
             $obj_ins = new clsPmieducarInstituicao($registro['ref_ref_cod_instituicao']);
             $det_ins = $obj_ins->detalhe();
             $obj_comp = new clsPmieducarFaltaAtrasoCompensado();
             $horas = $obj_comp->ServidorHorasCompensadas($this->ref_cod_servidor, $registro['ref_cod_escola'], $registro['ref_ref_cod_instituicao']);
             if ($horas) {
                 $horas_aux = $horas['hora'];
                 $minutos_aux = $horas['min'];
             }
             $horas_aux = $horas_aux - $registro['qtd_horas'];
             $minutos_aux = $minutos_aux - $registro['qtd_min'];
             if ($horas_aux > 0 && $minutos_aux < 0) {
                 $horas_aux--;
                 $minutos_aux += 60;
             }
             if ($horas_aux < 0 && $minutos_aux > 0) {
                 $horas_aux--;
                 $minutos_aux -= 60;
             }
             if ($horas_aux < 0) {
                 $horas_aux = '(' . $horas_aux * -1 . ')';
             }
             if ($minutos_aux < 0) {
                 $minutos_aux = '(' . $minutos_aux * -1 . ')';
             }
             $tipo = $registro['tipo'] == 1 ? 'Atraso' : 'Falta';
             $urlHelper = CoreExt_View_Helper_UrlHelper::getInstance();
             $url = 'educar_falta_atraso_det.php';
             $options = array('query' => array('cod_falta_atraso' => $registro['cod_falta_atraso'], 'ref_cod_servidor' => $registro['ref_cod_servidor'], 'ref_cod_escola' => $registro['ref_cod_escola'], 'ref_cod_instituicao' => $registro['ref_ref_cod_instituicao']));
             $this->addLinhas(array($urlHelper->l($registro['nm_escola'], $url, $options), $urlHelper->l($det_ins['nm_instituicao'], $url, $options), $urlHelper->l($tipo, $url, $options), $urlHelper->l($horas_aux, $url, $options), $urlHelper->l($minutos_aux, $url, $options)));
         }
     }
     $this->addPaginador2('educar_falta_atraso_lst.php', $total, $_GET, $this->nome, $this->limite);
     $obj_permissoes = new clsPermissoes();
     if ($obj_permissoes->permissao_cadastra(635, $this->pessoa_logada, 7)) {
         $this->array_botao[] = 'Novo';
         $this->array_botao_url[] = sprintf('educar_falta_atraso_cad.php?ref_cod_servidor=%d&ref_cod_instituicao=%d', $this->ref_cod_servidor, $this->ref_ref_cod_instituicao);
     }
     $this->array_botao[] = 'Voltar';
     $this->array_botao_url[] = sprintf('educar_servidor_det.php?cod_servidor=%d&ref_cod_instituicao=%d', $this->ref_cod_servidor, $this->ref_cod_instituicao);
     $this->largura = '100%';
     $localizacao = new LocalizacaoSistema();
     $localizacao->entradaCaminhos(array($_SERVER['SERVER_NAME'] . "/intranet" => "In&iacute;cio", "educar_index.php" => "i-Educar - Escola", "" => "Listagem de faltas/atrasos do servidor"));
     $this->enviaLocalizacao($localizacao->montar());
 }
 function Gerar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $this->titulo = 'Falta Atraso - Detalhe';
     $this->ref_cod_servidor = $_GET['ref_cod_servidor'];
     $this->ref_cod_escola = $_GET['ref_cod_escola'];
     $this->ref_ref_cod_instituicao = $_GET['ref_cod_instituicao'];
     $tmp_obj = new clsPmieducarFaltaAtraso();
     $tmp_obj->setOrderby('data_falta_atraso DESC');
     $this->cod_falta_atraso = $_GET['cod_falta_atraso'];
     $registro = $tmp_obj->lista($this->cod_falta_atraso);
     if (!$registro) {
         header('Location: ' . sprintf('educar_falta_atraso_lst.php?ref_cod_servidor=%d&ref_cod_instituicao=%d', $this->ref_cod_servidor, $this->ref_ref_cod_instituicao));
         die;
     } else {
         $tabela = '<table>
              <tr align=center>
                  <td bgcolor="#a1b3bd"><b>Dia</b></td>
                  <td bgcolor="#a1b3bd"><b>Tipo</b></td>
                  <td bgcolor="#a1b3bd"><b>Qtd. Horas</b></td>
                  <td bgcolor="#a1b3bd"><b>Qtd. Minutos</b></td>
                  <td bgcolor="#a1b3bd"><b>Escola</b></td>
                  <td bgcolor="#a1b3bd"><b>Instituição</b></td>
              </tr>';
         $cont = 0;
         $total = 0;
         foreach ($registro as $falta) {
             if ($cont % 2 == 0) {
                 $color = ' bgcolor="#E4E9ED" ';
             } else {
                 $color = ' bgcolor="#FFFFFF" ';
             }
             $obj_esc = new clsPmieducarEscolaComplemento($falta['ref_cod_escola']);
             $det_esc = $obj_esc->detalhe();
             $obj_ins = new clsPmieducarInstituicao($falta['ref_ref_cod_instituicao']);
             $det_ins = $obj_ins->detalhe();
             $corpo .= sprintf('
       <tr>
         <td %s align="left">%s</td>
         <td %s align="left">%s</td>
         <td %s align="right">%s</td>
         <td %s align="right">%s</td>
         <td %s align="left">%s</td>
         <td %s align="left">%s</td>
       </tr>', $color, dataFromPgToBr($falta['data_falta_atraso']), $color, $falta['tipo'] == 1 ? 'Atraso' : 'Falta', $color, $falta['qtd_horas'], $color, $falta['qtd_min'], $color, $det_esc['nm_escola'], $color, $det_ins['nm_instituicao']);
             $cont++;
         }
         $tabela .= $corpo;
         $tabela .= "</table>";
         if ($tabela) {
             $this->addDetalhe(array('Faltas/Atrasos', $tabela));
         }
     }
     $obj_permissoes = new clsPermissoes();
     if ($obj_permissoes->permissao_cadastra(635, $this->pessoa_logada, 7)) {
         $this->caption_novo = 'Compensar';
         $this->url_editar = FALSE;
         $this->url_novo = sprintf('educar_falta_atraso_compensado_cad.php?ref_cod_servidor=%d&ref_cod_escola=%d&ref_cod_instituicao=%d', $this->ref_cod_servidor, $this->ref_cod_escola, $this->ref_ref_cod_instituicao);
     }
     $this->url_cancelar = sprintf("educar_falta_atraso_lst.php?ref_cod_servidor=%d&ref_cod_instituicao=%d", $this->ref_cod_servidor, $this->ref_ref_cod_instituicao);
     $this->largura = '100%';
     $localizacao = new LocalizacaoSistema();
     $localizacao->entradaCaminhos(array($_SERVER['SERVER_NAME'] . "/intranet" => "In&iacute;cio", "educar_index.php" => "i-Educar - Escola", "" => "Detalhe da falta/atraso do servidor"));
     $this->enviaLocalizacao($localizacao->montar());
 }
Exemplo n.º 3
0
 function Excluir()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     @session_write_close();
     $obj_permissoes = new clsPermissoes();
     $obj_permissoes->permissao_excluir(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));
     $obj = new clsPmieducarFaltaAtraso($this->cod_falta_atraso, $this->ref_cod_escola, $this->ref_ref_cod_instituicao, $this->pessoa_logada, $this->pessoa_logada, $this->ref_cod_servidor, $this->tipo, $this->data_falta_atraso, $this->qtd_horas, $this->qtd_min, $this->justificada, $this->data_cadastro, $this->data_exclusao, 0);
     $excluiu = $obj->excluir();
     if ($excluiu) {
         $this->mensagem .= 'Exclusão efetuada 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 = "Exclusão não realizada.<br>";
     echo "<!--\nErro ao excluir clsPmieducarFaltaAtraso\nvalores obrigatórios\nif( is_numeric( {$this->cod_falta_atraso} ) && is_numeric( {$this->ref_usuario_exc} ) )\n-->";
     return FALSE;
 }