function Novo() { @session_start(); $this->pessoa_logada = $_SESSION['id_pessoa']; $this->ref_cod_cliente = $_SESSION['reservas']['cod_cliente']; @session_write_close(); if ($this->passo == 2) { return true; } $obj_permissoes = new clsPermissoes(); $obj_permissoes->permissao_cadastra(609, $this->pessoa_logada, 11, "educar_reservas_lst.php"); $obj_acervo = new clsPmieducarAcervo($this->ref_cod_acervo); $det_acervo = $obj_acervo->detalhe(); // tipo de exemplar $cod_exemplar_tipo = $det_acervo["ref_cod_exemplar_tipo"]; if ($this->existe_reserva == 1) { // die("1"); // echo "EMPRESTIMO <br>"; // ------------------- DADOS DO CLIENTE (EMPRESTIMO) ------------------ // $obj_exemplar_emprestimo = new clsPmieducarExemplarEmprestimo(); $lst_exemplar_emprestimo = $obj_exemplar_emprestimo->lista(null, null, null, null, $this->ref_cod_exemplar, null, null, null, null, null, false, $this->ref_cod_biblioteca); if (is_array($lst_exemplar_emprestimo) && count($lst_exemplar_emprestimo)) { $det_exemplar_emprestimo = array_shift($lst_exemplar_emprestimo); $cod_cliente = $det_exemplar_emprestimo["ref_cod_cliente"]; // data do emprestimo $data_retirada = $det_exemplar_emprestimo["data_retirada"]; $data_prevista_disponivel = dataFromPgToBr($data_retirada, "Y-m-d"); } else { echo "<script> alert('ERRO - Não foi possível encontrar o registro do empréstimo!'); </script>"; } } else { if ($this->existe_reserva == 2) { // die("2"); // echo "RESERVA <br>"; // ------------------- DADOS DO CLIENTE (RESERVA) ------------------ // $obj_reservas = new clsPmieducarReservas(); $lst_reservas = $obj_reservas->lista(null, null, null, null, null, null, $this->data_disponivel, $this->data_disponivel, null, null, $this->ref_cod_exemplar, 1, $this->ref_cod_biblioteca); if (is_array($lst_reservas) && count($lst_reservas)) { $det_reservas = array_shift($lst_reservas); $cod_cliente = $det_reservas["ref_cod_cliente"]; // data da reserva $data_prevista_disponivel = $this->data_disponivel; } else { echo "<script> alert('ERRO - Não foi possível encontrar a reserva!'); </script>"; } } } // echo "data_prevista_disponivel 1: ".$data_prevista_disponivel."<br>"; $obj_cliente_tipo_cliente = new clsPmieducarClienteTipoCliente(); $lst_cliente_tipo_cliente = $obj_cliente_tipo_cliente->lista(null, $cod_cliente, null, null, null, null, null, null, $this->ref_cod_biblioteca); $det_cliente_tipo_cliente = array_shift($lst_cliente_tipo_cliente); // tipo do cliente $cod_cliente_tipo = $det_cliente_tipo_cliente["ref_cod_cliente_tipo"]; $obj_cliente_tipo_exemplar_tipo = new clsPmieducarClienteTipoExemplarTipo($cod_cliente_tipo, $cod_exemplar_tipo); $det_cliente_tipo_exemplar_tipo = $obj_cliente_tipo_exemplar_tipo->detalhe(); // qtde de dias disponiveis para emprestimo $dias_emprestimo = $det_cliente_tipo_exemplar_tipo["dias_emprestimo"]; // echo "dias_espera: ".$this->dias_espera."<br>"; if ($this->existe_reserva == 2) { // Dias que o cliente tem pra pegar o exemplar. Calculo feito levando em consideracao a pior situacao. $data_prevista_disponivel = date("D Y-m-d", strtotime("{$data_prevista_disponivel} +" . $this->dias_espera . " days")); } // echo "data_prevista_disponivel 2: ".$data_prevista_disponivel."<br>"; $data_prevista_disponivel = date("D Y-m-d", strtotime("{$data_prevista_disponivel} +" . $dias_emprestimo . " days")); // echo "data_prevista_disponivel 3: ".$data_prevista_disponivel."<br>"; //---------------------DIAS FUNCIONAMENTO----------------------// $obj_biblioteca_dia = new clsPmieducarBibliotecaDia(); $lst_biblioteca_dia = $obj_biblioteca_dia->lista($this->ref_cod_biblioteca); if (is_array($lst_biblioteca_dia) && count($lst_biblioteca_dia)) { foreach ($lst_biblioteca_dia as $dia_semana) { // dias de funcionamento da biblioteca $biblioteca_dias_semana[] = $dia_semana["dia"]; } } // salva somente os dias que n se repetem ( dias de n funcionamento) $biblioteca_dias_folga = array_diff($this->dias_da_semana, $biblioteca_dias_semana); // inverte as relacoes entre chaves e valores ( de $variavel["Sun"] => 1, para $variavel[1] => "Sun") $biblioteca_dias_folga = array_flip($biblioteca_dias_folga); //---------------------DIAS FERIADO----------------------// $obj_biblioteca_feriado = new clsPmieducarBibliotecaFeriados(); $lst_biblioteca_feriado = $obj_biblioteca_feriado->lista(null, $this->ref_cod_biblioteca); if (is_array($lst_biblioteca_feriado) && count($lst_biblioteca_feriado)) { foreach ($lst_biblioteca_feriado as $dia_feriado) { // dias de feriado da biblioteca $biblioteca_dias_feriado[] = dataFromPgToBr($dia_feriado["data_feriado"], "D Y-m-d"); } } // echo "<pre>"; print_r($biblioteca_dias_feriado)."<br>"; // Cliente tem o dia inteiro para entregar o exemplar. Exemplar somente disponivel para a proxima reserva no dia seguinte. $data_prevista_disponivel = date("D Y-m-d ", strtotime("{$data_prevista_disponivel} +1 day")); // devido a comparacao das datas, é necessario mudar o formato da data $data_prevista_disponivel = dataFromPgToBr($data_prevista_disponivel, "D Y-m-d"); // echo "data_prevista_disponivel 4: ".$data_prevista_disponivel."<br>"; // verifica se a data cai em algum dia que a biblioteca n funciona while (in_array(substr($data_prevista_disponivel, 0, 3), $biblioteca_dias_folga) || in_array($data_prevista_disponivel, $biblioteca_dias_feriado)) { // echo "data_prevista_disponivel ASDFG = ".$data_prevista_disponivel."<br>"; $data_prevista_disponivel = date("D Y-m-d ", strtotime("{$data_prevista_disponivel} +1 day")); $data_prevista_disponivel = dataFromPgToBr($data_prevista_disponivel, "D Y-m-d"); // echo "data_prevista_disponivel ASDFG = ".$data_prevista_disponivel."<br>"; } // echo "data_prevista_disponivel 5: ".$data_prevista_disponivel."<br>";die; $data_prevista_disponivel = dataFromPgToBr($data_prevista_disponivel, "Y-m-d"); $obj = new clsPmieducarReservas(null, null, $this->pessoa_logada, $this->ref_cod_cliente, null, $data_prevista_disponivel, null, $this->ref_cod_exemplar, 1); $cadastrou = $obj->cadastra(); if ($cadastrou) { $this->mensagem .= "Cadastro efetuado com sucesso.<br>"; header("Location: educar_reservas_lst.php"); die; return true; } $this->mensagem = "Cadastro não realizado.<br>"; echo "<!--\nErro ao cadastrar clsPmieducarReservas\nvalores obrigatorios\n is_numeric( {$this->pessoa_logada} ) && is_numeric( {$this->ref_cod_cliente} ) && is_numeric( {$this->ref_cod_exemplar} )\n-->"; return false; }
function Gerar() { @session_start(); $this->pessoa_logada = $_SESSION['id_pessoa']; session_write_close(); $this->titulo = "Tipo Exemplar - Detalhe"; $this->cod_exemplar_tipo = $_GET["cod_exemplar_tipo"]; $tmp_obj = new clsPmieducarExemplarTipo($this->cod_exemplar_tipo); $registro = $tmp_obj->detalhe(); if (!$registro) { header("location: educar_exemplar_tipo_lst.php"); die; } 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"]; $registro["ref_cod_instituicao"] = $det_ref_cod_biblioteca["ref_cod_instituicao"]; $registro["ref_cod_escola"] = $det_ref_cod_biblioteca["ref_cod_escola"]; 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"]; } } else { $registro["ref_cod_biblioteca"] = "Erro na geração"; echo "<!--\nErro\nClasse não existente: clsPmieducarBiblioteca\n-->"; } $obj_permissoes = new clsPermissoes(); $nivel_usuario = $obj_permissoes->nivel_acesso($this->pessoa_logada); if ($registro["ref_cod_instituicao"] && $nivel_usuario == 1) { $this->addDetalhe(array("Instituição", "{$registro["ref_cod_instituicao"]}")); } if ($registro["ref_cod_escola"] && ($nivel_usuario == 1 || $nivel_usuario == 2)) { $this->addDetalhe(array("Escola", "{$registro["ref_cod_escola"]}")); } if ($registro["ref_cod_biblioteca"] && ($nivel_usuario == 1 || $nivel_usuario == 2 || $nivel_usuario == 4)) { $this->addDetalhe(array("Biblioteca", "{$registro["ref_cod_biblioteca"]}")); } if ($registro["nm_tipo"]) { $this->addDetalhe(array("Tipo Exemplar", "{$registro["nm_tipo"]}")); } if ($registro["descricao"]) { $this->addDetalhe(array("Descrição", "{$registro["descricao"]}")); } $obj_cliente_tp_exemplar_tp = new clsPmieducarClienteTipoExemplarTipo(); $lst_cliente_tp_exemplar_tp = $obj_cliente_tp_exemplar_tp->lista(null, $this->cod_exemplar_tipo); if ($lst_cliente_tp_exemplar_tp) { $tabela = "<TABLE>\n\t\t\t\t\t <TR align=center>\n\t\t\t\t\t <TD bgcolor=#A1B3BD><B>Tipo Cliente</B></TD>\n\t\t\t\t\t <TD bgcolor=#A1B3BD><B>Dias Empréstimo</B></TD>\n\t\t\t\t\t </TR>"; $cont = 0; foreach ($lst_cliente_tp_exemplar_tp as $valor) { if ($cont % 2 == 0) { $color = " bgcolor=#E4E9ED "; } else { $color = " bgcolor=#FFFFFF "; } $obj_cliente_tipo = new clsPmieducarClienteTipo($valor["ref_cod_cliente_tipo"]); $det_cliente_tipo = $obj_cliente_tipo->detalhe(); $nm_tipo = $det_cliente_tipo["nm_tipo"]; $tabela .= "<TR>\n\t\t\t\t\t\t\t <TD {$color} align=left>{$nm_tipo}</TD>\n\t\t\t\t\t\t\t <TD {$color} align=left>{$valor["dias_emprestimo"]}</TD>\n\t\t\t\t\t\t\t</TR>"; $cont++; } $tabela .= "</TABLE>"; } if ($tabela) { $this->addDetalhe(array("Tipo Cliente", "{$tabela}")); } $obj_permissoes = new clsPermissoes(); if ($obj_permissoes->permissao_cadastra(597, $this->pessoa_logada, 11)) { $this->url_novo = "educar_exemplar_tipo_cad.php"; $this->url_editar = "educar_exemplar_tipo_cad.php?cod_exemplar_tipo={$registro["cod_exemplar_tipo"]}"; } $this->url_cancelar = "educar_exemplar_tipo_lst.php"; $this->largura = "100%"; $localizacao = new LocalizacaoSistema(); $localizacao->entradaCaminhos(array($_SERVER['SERVER_NAME'] . "/intranet" => "Início", "educar_biblioteca_index.php" => "i-Educar - Biblioteca", "" => "Detalhe do tipo de exemplares")); $this->enviaLocalizacao($localizacao->montar()); }
function Gerar() { // primary keys $this->campoOculto("cod_emprestimo", $this->cod_emprestimo); $this->data_retirada = dataFromPgToBr($this->data_retirada, "Y-m-d"); $obj_exemplar = new clsPmieducarExemplar($this->ref_cod_exemplar); $det_exemplar = $obj_exemplar->detalhe(); $cod_acervo = $det_exemplar["ref_cod_acervo"]; $obj_acervo = new clsPmieducarAcervo($cod_acervo); $det_acervo = $obj_acervo->detalhe(); // tipo de exemplar $cod_exemplar_tipo = $det_acervo["ref_cod_exemplar_tipo"]; $titulo_obra = $det_acervo["titulo"]; $this->ref_cod_biblioteca = $det_acervo["ref_cod_biblioteca"]; $this->campoOculto("ref_cod_biblioteca", $this->ref_cod_biblioteca); $obj_biblioteca = new clsPmieducarBiblioteca($this->ref_cod_biblioteca); $det_biblioteca = $obj_biblioteca->detalhe(); // valor da multa da biblioteca por dia $valor_multa_biblioteca = $det_biblioteca["valor_multa"]; $obj_cliente_tipo_cliente = new clsPmieducarClienteTipoCliente(); $lst_cliente_tipo_cliente = $obj_cliente_tipo_cliente->lista(null, $this->ref_cod_cliente, null, null, null, null, null, null, $this->ref_cod_biblioteca); if (is_array($lst_cliente_tipo_cliente) && count($lst_cliente_tipo_cliente)) { $det_cliente_tipo_cliente = array_shift($lst_cliente_tipo_cliente); // tipo do cliente $cod_cliente_tipo = $det_cliente_tipo_cliente["ref_cod_cliente_tipo"]; $obj_cliente_tipo_exemplar_tipo = new clsPmieducarClienteTipoExemplarTipo($cod_cliente_tipo, $cod_exemplar_tipo); $det_cliente_tipo_exemplar_tipo = $obj_cliente_tipo_exemplar_tipo->detalhe(); // qtde de dias disponiveis para emprestimo $dias_emprestimo = $det_cliente_tipo_exemplar_tipo["dias_emprestimo"]; } $data_entrega = date("Y-m-d", strtotime("{$this->data_retirada} +" . $dias_emprestimo . " days")); //---------------------DIAS FUNCIONAMENTO----------------------// $obj_biblioteca_dia = new clsPmieducarBibliotecaDia(); $lst_biblioteca_dia = $obj_biblioteca_dia->lista($this->ref_cod_biblioteca); if (is_array($lst_biblioteca_dia) && count($lst_biblioteca_dia)) { foreach ($lst_biblioteca_dia as $dia_semana) { // dias de funcionamento da biblioteca $biblioteca_dias_semana[] = $dia_semana["dia"]; } } // salva somente os dias que n se repetem ( dias de n funcionamento) $biblioteca_dias_folga = array_diff($this->dias_da_semana, $biblioteca_dias_semana); // inverte as relacoes entre chaves e valores ( de $variavel["Sun"] => 1, para $variavel[1] => "Sun") $biblioteca_dias_folga = array_flip($biblioteca_dias_folga); //---------------------DIAS FERIADO----------------------// $obj_biblioteca_feriado = new clsPmieducarBibliotecaFeriados(); $lst_biblioteca_feriado = $obj_biblioteca_feriado->lista(null, $this->ref_cod_biblioteca); if (is_array($lst_biblioteca_feriado) && count($lst_biblioteca_feriado)) { foreach ($lst_biblioteca_feriado as $dia_feriado) { // dias de feriado da biblioteca $biblioteca_dias_feriado[] = dataFromPgToBr($dia_feriado["data_feriado"], "D Y-m-d"); } } // devido a comparacao das datas, é necessario mudar o formato da data $data_entrega = dataFromPgToBr($data_entrega, "D Y-m-d"); if (!is_array($biblioteca_dias_folga)) { $biblioteca_dias_folga = array(null); } if (!is_array($biblioteca_dias_feriado)) { $biblioteca_dias_feriado = array(null); } // verifica se a data cai em algum dia que a biblioteca n funciona while (in_array(substr($data_entrega, 0, 3), $biblioteca_dias_folga) || in_array($data_entrega, $biblioteca_dias_feriado)) { $data_entrega = date("D Y-m-d ", strtotime("{$data_entrega} +1 day")); $data_entrega = dataFromPgToBr($data_entrega, "D Y-m-d"); } $data_entrega = dataFromPgToBr($data_entrega, "Y-m-d"); // verifica se houve atraso na devolucao do exemplar if ($data_entrega < date('Y-m-d')) { $dias_atraso = (int) ((time() - strtotime($data_entrega)) / 86400); $dias_atraso = $dias_atraso > 0 ? $dias_atraso : 0; $valor_divida = $dias_atraso * $valor_multa_biblioteca; $valor_divida = number_format($valor_divida, 2, ",", "."); $data_entrega = dataFromPgToBr($data_entrega, "d/m/Y"); } // foreign keys $obj_cliente = new clsPmieducarCliente($this->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(); $nm_pessoa = $det_pessoa["nome"]; $this->campoTextoInv("nm_pessoa", "Cliente", $nm_pessoa, 30, 255); $ref_cod_exemplar_ = $this->ref_cod_exemplar; $this->campoTextoInv("ref_cod_exemplar_", "Tombo", $ref_cod_exemplar_, 15, 50); $this->campoOculto("ref_cod_exemplar", $this->ref_cod_exemplar); $this->campoTextoInv("titulo_obra", "Obra", $titulo_obra, 30, 255); @session_start(); $reload = $_SESSION['reload']; @session_write_close(); if ($valor_divida && !$reload) { $this->valor_multa = $valor_divida; $this->campoMonetario("valor_divida", "Valor Multa", $valor_divida, 8, 8, false, '', '', '', true); $this->campoOculto("valor_multa", $this->valor_multa); $reload = 1; @session_start(); $_SESSION['reload'] = $reload; @session_write_close(); echo "<script>\n\t\t\t\tif(!confirm('Atraso na devolução do exemplar ({$dias_atraso} dias)! \\n Data prevista para a entrega: {$data_entrega} \\n Valor total da multa: R\${$valor_divida} \\n Deseja adicionar a multa?'))\n\t\t\t\t\twindow.location = 'educar_exemplar_devolucao_cad.php?cod_emprestimo={$this->cod_emprestimo}';\n\t\t\t</script>"; } elseif ($valor_divida && $reload) { echo "<script> alert('Valor da multa ignorado!'); </script>"; $valor_divida = '0,00'; $this->campoMonetario("valor_divida", "Valor Multa", $valor_divida, 8, 8, false, '', '', '', true); $this->campoOculto("valor_multa", $this->valor_multa); } }
function Editar() { @session_start(); $this->pessoa_logada = $_SESSION['id_pessoa']; @session_write_close(); $obj_permissoes = new clsPermissoes(); $obj_permissoes->permissao_cadastra(597, $this->pessoa_logada, 11, "educar_exemplar_tipo_lst.php"); $array_tipos = array(); foreach ($_POST as $key => $cliente_tipo) { if (substr($key, 0, 5) == "tipo_") { $array_tipos[substr($key, 5)] = $cliente_tipo; } } $obj = new clsPmieducarExemplarTipo($this->cod_exemplar_tipo, $this->ref_cod_biblioteca, $this->pessoa_logada, null, $this->nm_tipo, $this->descricao, null, null, 1); $editou = $obj->edita(); if ($editou) { //-----------------------EDITA CLIENTE TIPO------------------------// if ($array_tipos) { foreach ($array_tipos as $cliente_tipo => $dias_emprestimo) { $obj = new clsPmieducarClienteTipoExemplarTipo($cliente_tipo, $this->cod_exemplar_tipo, $dias_emprestimo); $editou2 = $obj->edita(); if (!$editou2) { $this->mensagem = "Edição não realizada.<br>"; echo "<!--\nErro ao editar clsPmieducarClienteTipoExemplarTipo\nvalores obrigatórios\nis_numeric( {$this->cod_exemplar_tipo} ) && is_numeric( {$this->pessoa_logada} )\n-->"; return false; } } } //-----------------------FIM EDITA CLIENTE TIPO------------------------// $this->mensagem .= "Edição efetuada com sucesso.<br>"; header("Location: educar_exemplar_tipo_lst.php"); die; return true; } $this->mensagem = "Edição não realizada.<br>"; echo "<!--\nErro ao editar clsPmieducarExemplarTipo\nvalores obrigatórios\nif( is_numeric( {$this->cod_exemplar_tipo} ) && is_numeric( {$this->ref_usuario_exc} ) )\n-->"; return false; }