コード例 #1
0
 function Novo()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     @session_write_close();
     $obj_permissoes = new clsPermissoes();
     $obj_permissoes->permissao_cadastra(610, $this->pessoa_logada, 11, "educar_exemplar_emprestimo_lst.php");
     if ($this->ref_cod_cliente) {
         @session_start();
         $_SESSION['emprestimo']['cod_cliente'] = $this->ref_cod_cliente;
         $_SESSION['emprestimo']['ref_cod_biblioteca'] = $this->ref_cod_biblioteca;
         @session_write_close();
         header("Location: educar_exemplar_emprestimo_cad.php");
         die;
         return true;
     } else {
         if ($this->login_ && $this->senha_) {
             $this->senha_ = md5($this->senha_ . "asnk@#*&(23");
             $obj_cliente = new clsPmieducarCliente();
             $lst_cliente = $obj_cliente->lista(null, null, null, null, $this->login_, $this->senha_, null, null, null, null, 1);
             if (is_array($lst_cliente) && count($lst_cliente)) {
                 $cliente = array_shift($lst_cliente);
                 $cod_cliente = $cliente["cod_cliente"];
                 $obj_cliente_tipo_cliente = new clsPmieducarClienteTipoCliente();
                 $lst_cliente_tipo_cliente = $obj_cliente_tipo_cliente->lista(null, $cod_cliente);
                 if (is_array($lst_cliente_tipo_cliente) && count($lst_cliente_tipo_cliente)) {
                     foreach ($lst_cliente_tipo_cliente as $cliente_tipo) {
                         // tipo do cliente
                         $cod_cliente_tipo = $cliente_tipo["ref_cod_cliente_tipo"];
                         $obj_cliente_tipo = new clsPmieducarClienteTipo($cod_cliente_tipo);
                         $det_cliente_tipo = $obj_cliente_tipo->detalhe();
                         $biblioteca_cliente = $det_cliente_tipo["ref_cod_biblioteca"];
                         if ($this->ref_cod_biblioteca == $biblioteca_cliente) {
                             @session_start();
                             $_SESSION['emprestimo']['cod_cliente'] = $cod_cliente;
                             $_SESSION['emprestimo']['ref_cod_biblioteca'] = $this->ref_cod_biblioteca;
                             @session_write_close();
                             $this->mensagem .= "Login efetuado com sucesso.<br>";
                             header("Location: educar_exemplar_emprestimo_cad.php");
                             die;
                             return true;
                         }
                     }
                     echo "<script> alert('Cliente não pertence a biblioteca escolhida!'); </script>";
                     return true;
                 }
             } else {
                 $this->mensagem = "Login e/ou Senha incorreto(s).<br>";
                 return false;
             }
         } else {
             $this->mensagem = "Preencha o(s) campo(s) corretamente.<br>";
             return false;
         }
     }
 }
コード例 #2
0
 function Gerar()
 {
     $this->campoOculto("ref_cod_biblioteca", $this->ref_cod_biblioteca);
     if ($this->ref_cod_acervo) {
         $obj_acervo = new clsPmieducarAcervo($this->ref_cod_acervo);
         $det_acervo = $obj_acervo->detalhe();
         $this->titulo_obra = $det_acervo["titulo"];
     }
     $this->cod_biblioteca = $this->ref_cod_biblioteca;
     $this->campoOculto("cod_biblioteca", $this->cod_biblioteca);
     $obj_biblioteca = new clsPmieducarBiblioteca($this->ref_cod_biblioteca);
     $det_biblioteca = $obj_biblioteca->detalhe();
     $max_emprestimo = $det_biblioteca["max_emprestimo"];
     $valor_maximo_multa = $det_biblioteca["valor_maximo_multa"];
     $this->dias_espera = $det_biblioteca["dias_espera"];
     $this->campoOculto("dias_espera", $this->dias_espera);
     $obj_cliente_suspenso = new clsPmieducarCliente();
     $lst_cliente_suspenso = $obj_cliente_suspenso->lista($this->ref_cod_cliente, null, null, null, null, null, null, null, null, null, 1, null, "suspenso");
     if (is_array($lst_cliente_suspenso)) {
         echo "<script> alert('Cliente atualmente suspenso!\\nNão é possivel realizar a reserva.'); window.location = 'educar_reservas_lst.php';</script>";
         die;
     }
     $obj_reservas = new clsPmieducarReservas();
     $lst_reservas = $obj_reservas->lista(null, null, null, $this->ref_cod_cliente, null, null, null, null, null, null, null, 1, $this->ref_cod_biblioteca);
     // verifica se o cliente excedeu a qntde de reservas permitidas pela biblioteca
     if (count($lst_reservas) >= $max_emprestimo) {
         echo "<script> alert('Excedido o número máximo de reservas do cliente!\\nNão é possivel realizar a reserva.'); window.location = 'educar_reservas_lst.php';</script>";
         die;
     }
     $obj_exemplar_emprestimo = new clsPmieducarExemplarEmprestimo();
     $lst_cliente_divida = $obj_exemplar_emprestimo->clienteDividaTotal(null, $this->ref_cod_cliente);
     if (is_array($lst_cliente_divida) && count($lst_cliente_divida)) {
         // calcula o valor total das multas do cliente em todas as bibliotecas
         foreach ($lst_cliente_divida as $divida) {
             $valor_total_multa = $divida["valor_multa"];
             $valor_total_pago = $divida["valor_pago"];
         }
         $valor_total_divida = $valor_total_multa - $valor_total_pago;
     }
     $lst_cliente_divida = $obj_exemplar_emprestimo->clienteDividaTotal(null, $this->ref_cod_cliente, null, $this->ref_cod_biblioteca);
     if (is_array($lst_cliente_divida) && count($lst_cliente_divida)) {
         // calcula o valor das multas do cliente na biblioteca em que esta realizando o emprestimo
         foreach ($lst_cliente_divida as $divida) {
             $valor_multa = $divida["valor_multa"];
             $valor_pago = $divida["valor_pago"];
         }
         $valor_divida = $valor_multa - $valor_pago;
     }
     // verifica se o valor da divida ultrapassou o valor maximo permitido da multa pela biblioteca
     if ($valor_maximo_multa <= $valor_total_divida && $this->confirmado != true) {
         echo "<script> if(!confirm('Excedido o valor total das multas do cliente! \\n Valor total das multas: R\${$valor_total_divida},00 \\n Valor total das multas nessa biblioteca: R\${$valor_divida},00 \\n Valor máximo da multa permitido nessa biblioteca: R\${$valor_maximo_multa},00 \\n Deseja mesmo assim realizar a reserva?')) window.location = 'educar_reservas_lst.php';</script>";
         $this->confirmado = true;
         $this->campoOculto("confirmado", $this->confirmado);
     }
     if ($this->titulo_obra) {
         $obj_exemplar = new clsPmieducarExemplar();
         $lst_exemplar = $obj_exemplar->lista(null, null, null, $this->ref_cod_acervo, null, null, null, 2, null, null, null, null, null, 1, null, null, null, null, $this->ref_cod_biblioteca);
         // verifica se o exemplar pode ser emprestado
         if (is_array($lst_exemplar) && count($lst_exemplar)) {
             $obj_reservas = new clsPmieducarReservas();
             foreach ($lst_exemplar as $exemplar) {
                 $lst_reservas = $obj_reservas->lista(null, null, null, $this->ref_cod_cliente, null, null, null, null, null, null, $exemplar["cod_exemplar"], 1);
                 if (is_array($lst_reservas) && count($lst_reservas)) {
                     // Já existe uma reserva do exemplar feita pelo cliente
                     $reservou = true;
                 }
             }
             if (!$reservou) {
                 // volta para o inicio da lista
                 reset($lst_exemplar);
                 $reservas = array();
                 foreach ($lst_exemplar as $exemplar) {
                     $obj_situacao = new clsPmieducarSituacao($exemplar["ref_cod_situacao"]);
                     $det_situacao = $obj_situacao->detalhe();
                     $situacao_permite_emprestimo = $det_situacao["permite_emprestimo"];
                     $situacao_emprestada = $det_situacao["situacao_emprestada"];
                     $situacao_padrao = $det_situacao["situacao_padrao"];
                     // verifica se a situacao do exemplar permite emprestimo
                     if ($situacao_permite_emprestimo == 2 && $situacao_emprestada == 0 && $situacao_padrao == 1) {
                         unset($this->titulo_obra);
                         unset($this->ref_cod_acervo);
                         echo "<script> alert('Exemplar disponível para empréstimo!\\nNão é possivel realizar a reserva.\\n  TOMBO #{$exemplar["cod_exemplar"]}'); </script>";
                     } else {
                         if ($situacao_permite_emprestimo == 1 && $situacao_emprestada == 1 && $situacao_padrao == 0) {
                             $lst_reservas = $obj_reservas->lista(null, null, null, null, null, null, null, null, null, null, $exemplar["cod_exemplar"], 1);
                             // verifica se existem reservas do exemplar
                             if (is_array($lst_reservas) && count($lst_reservas)) {
                                 $this->existe_reserva = 2;
                             } else {
                                 // encontrado exemplar sem reservas
                                 $this->ref_cod_exemplar = $exemplar["cod_exemplar"];
                                 break;
                             }
                         } else {
                             unset($this->titulo_obra);
                             unset($this->ref_cod_acervo);
                             echo "<script> alert('Situação atual do exemplar não permite reserva!'); </script>";
                         }
                     }
                 }
             } else {
                 unset($this->titulo_obra);
                 unset($this->ref_cod_acervo);
                 echo "<script> alert('Já existe uma reserva do exemplar feita pelo cliente!'); </script>";
             }
         } else {
             unset($this->titulo_obra);
             unset($this->ref_cod_acervo);
             echo "<script> alert('Exemplar não disponível para reserva/empréstimo!'); </script>";
         }
     }
     // 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);
     // outros Filtros
     $this->campoTexto("titulo_obra", "Obra", $this->titulo_obra, 30, 255, true, false, false, "", "<img border=\"0\" onclick=\"pesquisa_obra();\" id=\"ref_cod_acervo_lupa\" name=\"ref_cod_acervo_lupa\" src=\"imagens/lupa.png\"\\/>", "", "", true);
     $this->campoOculto("ref_cod_acervo", $this->ref_cod_acervo);
     // caso exemplar esteja emprestado, mas ainda nao exista reserva
     if (isset($this->ref_cod_exemplar)) {
         //			die("emprestado, sem reserva");
         $this->campoOculto("ref_cod_exemplar", $this->ref_cod_exemplar);
         $this->existe_reserva = 1;
         $this->campoOculto("existe_reserva", $this->existe_reserva);
     } else {
         if ($this->existe_reserva == 2) {
             //			die("emprestado, com reserva");
             $lst_reserva = $obj_reservas->getUltimasReservas($this->ref_cod_acervo, 1);
             if (is_array($lst_reserva) && count($lst_reserva)) {
                 $det_reserva = array_shift($lst_reserva);
                 $this->ref_cod_exemplar = $det_reserva["ref_cod_exemplar"];
                 $this->data_disponivel = $det_reserva["data_prevista_disponivel"];
                 $this->data_disponivel = dataFromPgToBr($this->data_disponivel, "Y-m-d");
                 $this->campoOculto("data_disponivel", $this->data_disponivel);
                 $this->campoOculto("ref_cod_exemplar", $this->ref_cod_exemplar);
                 $this->campoOculto("existe_reserva", $this->existe_reserva);
             }
         }
     }
     $this->campoOculto("passo", 1);
     $this->url_cancelar = "educar_reservas_lst.php";
     $this->nome_url_cancelar = "Cancelar";
 }
コード例 #3
0
 /**
  * Sobrescrita do método clsCadastro::Novo.
  *
  * Insere novo registro nas tabelas pmieducar.cliente e pmieducar.cliente_tipo_cliente.
  */
 public function Novo()
 {
     session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $senha = md5($this->senha . 'asnk@#*&(23');
     $obj_permissoes = new clsPermissoes();
     $obj_permissoes->permissao_cadastra(603, $this->pessoa_logada, 11, 'educar_cliente_lst.php');
     $obj = new clsPmieducarCliente(NULL, NULL, NULL, $this->ref_idpes);
     $detalhe = $obj->detalhe();
     if (!$detalhe) {
         $obj_cliente = new clsPmieducarCliente();
         $lst_cliente = $obj_cliente->lista(NULL, NULL, NULL, NULL, $this->login);
         if ($lst_cliente && $this->login != '') {
             $this->mensagem = "Este login já está sendo utilizado por outra pessoa!<br>";
         } else {
             $obj = new clsPmieducarCliente($this->cod_cliente, NULL, $this->pessoa_logada, $this->ref_idpes, $this->login, $senha, $this->data_cadastro, $this->data_exclusao, 1);
             $cadastrou = $obj->cadastra();
             if ($cadastrou) {
                 $this->cod_cliente = $cadastrou;
                 $obj_cliente_tipo = new clsPmieducarClienteTipoCliente($this->ref_cod_cliente_tipo, $this->cod_cliente, NULL, NULL, $this->pessoa_logada, $this->pessoa_logada, 1);
                 if ($obj_cliente_tipo->existeCliente()) {
                     if ($obj_cliente_tipo->trocaTipo()) {
                         $this->mensagem .= 'Cadastro efetuado com sucesso.<br>';
                         header('Location: educar_definir_cliente_tipo_lst.php');
                         die;
                     }
                 } else {
                     $obj_cliente_tipo = new clsPmieducarClienteTipoCliente($this->ref_cod_cliente_tipo, $this->cod_cliente, NULL, NULL, $this->pessoa_logada, NULL, 1, $this->ref_cod_biblioteca);
                     if ($obj_cliente_tipo->cadastra()) {
                         $this->mensagem .= 'Cadastro efetuado com sucesso.<br>';
                         header('Location: educar_cliente_lst.php');
                         die;
                     }
                 }
             }
             $this->mensagem = "Cadastro n&atilde;o realizado.<br>";
             return FALSE;
         }
     } else {
         $obj = new clsPmieducarCliente(NULL, NULL, NULL, $this->ref_idpes);
         $registro = $obj->detalhe();
         if ($registro) {
             $this->cod_cliente = $registro['cod_cliente'];
         }
         $this->ativo = 1;
         $sql = "SELECT COUNT(0) FROM pmieducar.cliente_tipo_cliente WHERE ref_cod_cliente = {$this->cod_cliente}\n        AND ref_cod_biblioteca = {$this->ref_cod_biblioteca} AND ativo = 1";
         $db = new clsBanco();
         $possui_biblio = $db->CampoUnico($sql);
         if ($possui_biblio == 0) {
             $obj_cliente_tipo_cliente = new clsPmieducarClienteTipoCliente($this->ref_cod_cliente_tipo, $this->cod_cliente, NULL, NULL, $this->pessoa_logada, NULL, NULL, $this->ref_cod_biblioteca);
             if (!$obj_cliente_tipo_cliente->cadastra()) {
                 $this->mensagem = "Não cadastrou";
                 return FALSE;
             } else {
                 header('Location: educar_cliente_lst.php');
                 return TRUE;
                 die;
             }
         } else {
             $this->mensagem = "O cliente já está cadastrado!<br>";
         }
     }
 }
コード例 #4
0
 function Gerar()
 {
     foreach ($_GET as $campo => $valor) {
         $this->{$campo} = $valor;
     }
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     $_SESSION["campo1"] = $_GET["campo1"] ? $_GET["campo1"] : $_SESSION["campo1"];
     $_SESSION["campo2"] = $_GET["campo2"] ? $_GET["campo2"] : $_SESSION["campo2"];
     $this->ref_cod_biblioteca = $this->ref_cod_biblioteca ? $this->ref_cod_biblioteca : $_GET['ref_cod_biblioteca'];
     session_write_close();
     $this->titulo = "Cliente - Listagem";
     /*foreach( $_SESSION AS $var => $val ) // passa todos os valores obtidos no SESSION para atributos do objeto
     			$this->$var = ( $val === "" ) ? null: $val;
     		foreach( $_GET AS $var => $val ) // passa todos os valores obtidos no GET para atributos do objeto
     			$this->$var = ( $val === "" ) ? null: $val;*/
     $this->addCabecalhos(array("Login", "Cliente"));
     $this->campoTexto("nm_cliente", "Cliente", $this->nm_cliente, 30, 255, false);
     $this->campoNumero("login", "Login", $this->login, 9, 9);
     $this->campoOculto("ref_cod_biblioteca", $this->ref_cod_biblioteca);
     if (isset($_GET["ref_cod_biblioteca"])) {
         $this->ref_cod_biblioteca = $_GET["ref_cod_biblioteca"];
     }
     // Paginador
     $this->limite = 20;
     $this->offset = $_GET["pagina_{$this->nome}"] ? $_GET["pagina_{$this->nome}"] * $this->limite - $this->limite : 0;
     $obj_acervo = new clsPmieducarCliente();
     $obj_acervo->setOrderby("nome ASC");
     $obj_acervo->setLimite($this->limite, $this->offset);
     if ($this->ref_cod_biblioteca) {
         $lista = $obj_acervo->listaPesquisaCliente(null, null, null, null, $this->login, null, null, null, null, null, 1, $this->nm_cliente, $this->ref_cod_biblioteca);
     } else {
         $lista = $obj_acervo->lista(null, null, null, null, $this->login, null, null, null, null, null, 1, $this->nm_cliente);
     }
     $total = $obj_acervo->_total;
     // monta a lista
     if (is_array($lista) && count($lista)) {
         foreach ($lista as $registro) {
             if (is_string($_SESSION['campo1']) && is_string($_SESSION['campo2'])) {
                 $script = " onclick=\"addVal1('{$_SESSION['campo1']}','{$registro['cod_cliente']}', '{$registro['nome']}'); addVal1('{$_SESSION['campo2']}','{$registro['nome']}', '{$registro['cod_cliente']}'); fecha();\"";
             } else {
                 if (is_string($_SESSION['campo1'])) {
                     $script = " onclick=\"addVal1('{$_SESSION['campo1']}','{$registro['cod_cliente']}', '{$registro['nome']}'); fecha();\"";
                 }
             }
             $this->addLinhas(array("<a href=\"javascript:void(0);\" {$script}>{$registro["login"]}</a>", "<a href=\"javascript:void(0);\" {$script}>{$registro["nome"]}</a>"));
         }
     }
     $this->addPaginador2("educar_pesquisa_cliente_lst.php", $total, $_GET, $this->nome, $this->limite);
     $this->largura = "100%";
 }
コード例 #5
0
 function Gerar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $this->titulo = "Cliente - Detalhe";
     $this->addBanner("imagens/nvp_top_intranet.jpg", "imagens/nvp_vert_intranet.jpg", "Intranet");
     $this->cod_cliente = $_GET["cod_cliente"];
     $this->ref_cod_biblioteca = $_GET["ref_cod_biblioteca"];
     $tmp_obj = new clsPmieducarCliente($this->cod_cliente);
     $registro = $tmp_obj->lista($this->cod_cliente, null, null, null, null, null, null, null, null, null, null, null, null, $this->ref_cod_biblioteca);
     if (!$registro) {
         header("location: educar_cliente_lst.php");
         die;
     } else {
         foreach ($registro as $cliente) {
             if ($cliente["nome"]) {
                 $this->addDetalhe(array("Cliente", "{$cliente["nome"]}"));
             }
             if ($cliente["login"]) {
                 $this->addDetalhe(array("Login", "{$cliente["login"]}"));
             }
             if (class_exists("clsBanco")) {
                 $obj_banco = new clsBanco();
                 $sql_unico = "SELECT ref_cod_motivo_suspensao\n\t\t\t\t\t\t\t\t\tFROM pmieducar.cliente_suspensao\n\t\t\t\t\t\t\t\t   WHERE ref_cod_cliente = {$cliente["cod_cliente"]}\n\t\t\t\t\t\t\t\t\t AND data_liberacao IS NULL\n\t\t\t\t\t\t\t\t\t AND EXTRACT ( DAY FROM ( NOW() - data_suspensao ) ) < dias";
                 $motivo = $obj_banco->CampoUnico($sql_unico);
                 if (is_numeric($motivo)) {
                     $this->addDetalhe(array("Status", "Suspenso"));
                     if (class_exists("clsPmieducarMotivoSuspensao")) {
                         $obj_motivo_suspensao = new clsPmieducarMotivoSuspensao($motivo);
                         $det_motivo_suspensao = $obj_motivo_suspensao->detalhe();
                         $this->suspenso = $motivo;
                         $this->addDetalhe(array("Motivo da Suspensão", "{$det_motivo_suspensao["nm_motivo"]}"));
                         $this->addDetalhe(array("Descrição", "{$det_motivo_suspensao["descricao"]}"));
                     }
                 } else {
                     $this->addDetalhe(array("Status", "Regular"));
                 }
                 $tipo_cliente = $obj_banco->CampoUnico("SELECT nm_tipo FROM pmieducar.cliente_tipo WHERE ref_cod_biblioteca IN (SELECT ref_cod_biblioteca FROM pmieducar.biblioteca_usuario WHERE ref_cod_usuario = '{$this->pessoa_logada}') AND cod_cliente_tipo = (SELECT ref_cod_cliente_tipo FROM pmieducar.cliente_tipo_cliente WHERE ref_cod_cliente = '{$this->cod_cliente}'  AND ref_cod_biblioteca = '{$this->ref_cod_biblioteca}')");
                 if (is_string($tipo_cliente)) {
                     $this->addDetalhe(array("Tipo", $tipo_cliente));
                 }
             } else {
                 $registro["ref_idpes"] = "Erro na geracao";
                 echo "<!--\nErro\nClasse nao existente: clsBanco\n-->";
             }
         }
     }
     $obj_permissoes = new clsPermissoes();
     if ($obj_permissoes->permissao_cadastra(603, $this->pessoa_logada, 11)) {
         $this->url_novo = "educar_cliente_cad.php";
         $this->url_editar = "educar_cliente_cad.php?cod_cliente={$cliente["cod_cliente"]}&ref_cod_biblioteca={$this->ref_cod_biblioteca}";
         if (is_numeric($this->suspenso)) {
             $this->array_botao = array("Liberar");
             $this->array_botao_url = array("educar_define_status_cliente_cad.php?cod_cliente={$cliente["cod_cliente"]}&ref_cod_biblioteca={$this->ref_cod_biblioteca}&status=liberar");
         } else {
             $this->array_botao = array("Suspender");
             $this->array_botao_url = array("educar_define_status_cliente_cad.php?cod_cliente={$cliente["cod_cliente"]}&ref_cod_biblioteca={$this->ref_cod_biblioteca}&status=suspender");
         }
     }
     $this->url_cancelar = "educar_cliente_lst.php";
     $this->largura = "100%";
 }
コード例 #6
0
 function Gerar()
 {
     $this->campoOculto("ref_cod_biblioteca", $this->ref_cod_biblioteca);
     $obj_biblioteca = new clsPmieducarBiblioteca($this->ref_cod_biblioteca);
     $det_biblioteca = $obj_biblioteca->detalhe();
     $max_emprestimo = $det_biblioteca["max_emprestimo"];
     $dias_espera = $det_biblioteca["dias_espera"];
     $valor_maximo_multa = $det_biblioteca["valor_maximo_multa"];
     $valor_maximo_multa = number_format($valor_maximo_multa, 2, ",", ".");
     $obj_cliente_suspenso = new clsPmieducarCliente();
     $lst_cliente_suspenso = $obj_cliente_suspenso->lista($this->ref_cod_cliente, null, null, null, null, null, null, null, null, null, 1, null, "suspenso");
     //		echo "<pre>";print_r($lst_cliente_suspenso);
     if (is_array($lst_cliente_suspenso)) {
         echo "<script> alert('Cliente atualmente suspenso!\\nNão é possivel realizar o empréstimo.'); window.location = 'educar_exemplar_emprestimo_lst.php';</script>";
         die;
     }
     $obj_exemplar_emprestimo = new clsPmieducarExemplarEmprestimo();
     $lst_exemplar_emprestimo = $obj_exemplar_emprestimo->lista(null, null, null, $this->ref_cod_cliente, null, null, null, null, null, null, false, $this->ref_cod_biblioteca);
     if (count($lst_exemplar_emprestimo) >= $max_emprestimo) {
         echo "<script> alert('Excedido o número máximo de empréstimos do cliente!\\nNão é possivel realizar o empréstimo.'); window.location = 'educar_exemplar_emprestimo_lst.php';</script>";
         die;
     }
     $lst_cliente_divida = $obj_exemplar_emprestimo->clienteDividaTotal(null, $this->ref_cod_cliente);
     if (is_array($lst_cliente_divida) && count($lst_cliente_divida)) {
         // calcula o valor total das multas do cliente em todas as bibliotecas
         foreach ($lst_cliente_divida as $divida) {
             $valor_total_multa = $divida["valor_multa"];
             $valor_total_pago = $divida["valor_pago"];
         }
         $valor_total_divida = $valor_total_multa - $valor_total_pago;
     }
     //$lst_cliente_divida = $obj_exemplar_emprestimo->clienteDividaTotal( null,$this->ref_cod_cliente,null,$this->ref_cod_biblioteca );
     $lst_cliente_divida = $obj_exemplar_emprestimo->listaDividaPagamentoCliente($this->ref_cod_cliente, null, null, null, $this->ref_cod_biblioteca);
     if (is_array($lst_cliente_divida) && count($lst_cliente_divida)) {
         // calcula o valor das multas do cliente na biblioteca em que esta realizando o emprestimo
         foreach ($lst_cliente_divida as $divida) {
             $valor_multa = $divida["valor_multa"];
             $valor_pago = $divida["valor_pago"];
         }
         $valor_divida = $valor_multa - $valor_pago;
     }
     if (!$valor_total_divida) {
         $valor_total_divida = 0;
     }
     if (!$valor_divida) {
         $valor_divida = 0;
     }
     $valor_total_divida = number_format($valor_total_divida, 2, ",", ".");
     $valor_divida = number_format($valor_divida, 2, ",", ".");
     // verifica se o valor da divida ultrapassou o valor maximo permitido da multa pela biblioteca
     if ($valor_maximo_multa <= $valor_total_divida && $this->confirmado != true) {
         echo "<script> if(!confirm('Excedido o valor total das multas do cliente! \\n Valor total das multas: R\${$valor_total_divida} \\n Valor total das multas nessa biblioteca: R\${$valor_divida} \\n Valor máximo da multa permitido nessa biblioteca: R\${$valor_maximo_multa} \\n Deseja mesmo assim realizar o empréstimo?')) window.location = 'educar_exemplar_emprestimo_lst.php';</script>";
         $this->confirmado = true;
         $this->campoOculto("confirmado", $this->confirmado);
     }
     // primary keys
     $this->campoOculto("cod_emprestimo", $this->cod_emprestimo);
     // 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);
     //-----------------------INCLUI TOMBO------------------------//
     $this->campoQuebra();
     if ($_POST) {
         foreach ($_POST as $campo => $val) {
             $this->{$campo} = $this->{$campo} ? $this->{$campo} : $val;
         }
     }
     if ($_POST["exemplar_emprestimo"]) {
         $this->exemplar_emprestimo = unserialize(urldecode($_POST["exemplar_emprestimo"]));
     }
     if ($_POST["ref_cod_exemplar"]) {
         $this->exemplar_emprestimo["ref_cod_exemplar_"][] = $_POST["ref_cod_exemplar"];
         unset($this->ref_cod_exemplar);
     }
     $this->campoOculto("excluir_tombo", "");
     unset($aux);
     if (isset($this->exemplar_emprestimo)) {
         foreach ($this->exemplar_emprestimo as $key => $campo) {
             if ($campo) {
                 foreach ($campo as $chave => $exemplar) {
                     if ($this->excluir_tombo == $exemplar) {
                         unset($this->exemplar_emprestimo[$key][$chave]);
                         unset($this->excluir_tombo);
                     } else {
                         $obj_exemplar = new clsPmieducarExemplar();
                         //							$lst_exemplar = $obj_exemplar->lista($exemplar,null,null,null,null,null,null,2,null,null,null,null,null,1,null,null,null,null,$this->ref_cod_biblioteca);
                         $lst_exemplar = $obj_exemplar->lista(null, null, null, null, null, null, null, 2, null, null, null, null, null, 1, null, null, null, null, $this->ref_cod_biblioteca, null, null, null, $exemplar);
                         //verifica se o exemplar é disponibilizado para empréstimo
                         if (is_array($lst_exemplar) && count($lst_exemplar)) {
                             $det_exemplar = array_shift($lst_exemplar);
                             $cod_situacao = $det_exemplar["ref_cod_situacao"];
                             $obj_situacao = new clsPmieducarSituacao($cod_situacao);
                             $det_situacao = $obj_situacao->detalhe();
                             $situacao_padrao = $det_situacao["situacao_padrao"];
                             $permite_emprestimo = $det_situacao["permite_emprestimo"];
                             //							echo "<pre>"; print_r($det_situacao); die();
                             // verifica se a situacao do exemplar é padrao (disponivel)
                             if ($situacao_padrao == 1 && $permite_emprestimo == 2) {
                                 $obj_reservas = new clsPmieducarReservas();
                                 $lst_reservas = $obj_reservas->lista(null, null, null, $this->ref_cod_cliente, null, null, null, null, null, null, $exemplar, 1);
                                 // verifica se o cliente reservou o exemplar
                                 if (is_array($lst_reservas) && count($lst_reservas)) {
                                     $reservas = array_shift($lst_reservas);
                                     // registra a retirada do exemplar pelo cliente
                                     $obj = new clsPmieducarReservas($reservas["cod_reserva"], $this->pessoa_logada, null, null, null, null, date('Y-m-d'), null, 0);
                                     $editou = $obj->edita();
                                     if ($editou) {
                                         // adiciona exemplar para empréstimo
                                         $obj_exemplar = new clsPmieducarExemplar($exemplar);
                                         $det_exemplar = $obj_exemplar->detalhe();
                                         $acervo = $det_exemplar["ref_cod_acervo"];
                                         $obj_acervo = new clsPmieducarAcervo($acervo);
                                         $det_acervo = $obj_acervo->detalhe();
                                         $titulo = $det_acervo["titulo"];
                                         $this->campoTextoInv("ref_cod_exemplar_{$exemplar}", "", $exemplar, 8, 255, false, false, true);
                                         $this->campoTextoInv("titulo_{$exemplar}", "", $titulo, 30, 255, false, false, false, "", "<a href='#' onclick=\"getElementById('excluir_tombo').value = '{$exemplar}'; getElementById('tipoacao').value = ''; {$this->__nome}.submit();\"><img src='imagens/nvp_bola_xis.gif' title='Excluir' border=0></a>");
                                         $aux["ref_cod_exemplar_"][] = $exemplar;
                                     } else {
                                         echo "<script> alert('ERRO !!!\\nNão foi possível registrar a retirada do exemplar.'); </script>";
                                     }
                                 } else {
                                     $lst_reservas = $obj_reservas->lista(null, null, null, null, null, null, null, null, null, null, $exemplar, 1);
                                     // verifica se existem reservas do exemplar
                                     if (is_array($lst_reservas) && count($lst_reservas)) {
                                         $reservas = $obj_reservas->getUltimaReserva($exemplar);
                                         // verifica se a ultima reserva expirou
                                         if (is_array($reservas) && count($reservas)) {
                                             $dias_da_semana = array('Sun' => 1, 'Mon' => 2, 'Tue' => 3, 'Wed' => 4, 'Thu' => 5, 'Fri' => 6, 'Sat' => 7);
                                             $det_reserva = array_shift($reservas);
                                             $data_disponivel = $reservas["data_prevista_disponivel"];
                                             if ($dias_espera == 1) {
                                                 $data_disponivel = date("D Y-m-d", strtotime("{$data_disponivel} +" . $dias_espera . " day"));
                                             } elseif ($dias_espera > 1) {
                                                 $data_disponivel = date("D Y-m-d", strtotime("{$data_disponivel} +" . $dias_espera . " 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($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_disponivel = dataFromPgToBr($data_disponivel, "D Y-m-d");
                                             // verifica se a data cai em algum dia que a biblioteca n funciona
                                             while (in_array(substr($data_disponivel, 0, 3), $biblioteca_dias_folga) || in_array($data_disponivel, $biblioteca_dias_feriado)) {
                                                 $data_disponivel = date("D Y-m-d ", strtotime("{$data_disponivel} +1 day"));
                                                 $data_disponivel = dataFromPgToBr($data_disponivel, "D Y-m-d");
                                             }
                                             $data_disponivel = dataFromPgToBr($data_disponivel, "Y-m-d");
                                             if ($data_disponivel < date('Y-m-d')) {
                                                 // desativa reserva desatualizada
                                                 $obj = new clsPmieducarReservas();
                                                 $lst = $obj->lista(null, null, null, null, null, null, $reservas["data_prevista_disponivel"], $reservas["data_prevista_disponivel"], null, null, $reservas["ref_cod_exemplar"], 1, $this->ref_cod_biblioteca);
                                                 if (is_array($lst) && count($lst)) {
                                                     $det = array_shift($lst);
                                                     $cod_reserva = $det["cod_reserva"];
                                                     $obj = new clsPmieducarReservas($cod_reserva, $this->pessoa_logada, null, null, null, null, null, null, 0);
                                                     $excluiu = $obj->excluir();
                                                     if ($excluiu) {
                                                         // adiciona exemplar para empréstimo
                                                         $obj_exemplar = new clsPmieducarExemplar($exemplar);
                                                         $det_exemplar = $obj_exemplar->detalhe();
                                                         $acervo = $det_exemplar["ref_cod_acervo"];
                                                         $obj_acervo = new clsPmieducarAcervo($acervo);
                                                         $det_acervo = $obj_acervo->detalhe();
                                                         $titulo = $det_acervo["titulo"];
                                                         $this->campoTextoInv("ref_cod_exemplar_{$exemplar}", "", $exemplar, 8, 255, false, false, true);
                                                         $this->campoTextoInv("titulo_{$exemplar}", "", $titulo, 30, 255, false, false, false, "", "<a href='#' onclick=\"getElementById('excluir_tombo').value = '{$exemplar}'; getElementById('tipoacao').value = ''; {$this->__nome}.submit();\"><img src='imagens/nvp_bola_xis.gif' title='Excluir' border=0></a>");
                                                         $aux["ref_cod_exemplar_"][] = $exemplar;
                                                     } else {
                                                         echo "<script> alert('ERRO - Não foi possível desativar reserva desatualizada!'); </script>";
                                                     }
                                                 } else {
                                                     echo "<script> alert('ERRO - Não foi possível encontrar a reserva!'); </script>";
                                                 }
                                             } else {
                                                 echo "<script> alert('Exemplar reservado!\\nNo momento, não disponível para empréstimo.'); </script>";
                                             }
                                         }
                                     } else {
                                         $obj_exemplar = new clsPmieducarExemplar($exemplar);
                                         $det_exemplar = $obj_exemplar->detalhe();
                                         $acervo = $det_exemplar["ref_cod_acervo"];
                                         $obj_acervo = new clsPmieducarAcervo($acervo);
                                         $det_acervo = $obj_acervo->detalhe();
                                         $titulo = $det_acervo["titulo"];
                                         $this->campoTextoInv("ref_cod_exemplar_{$exemplar}", "", $exemplar, 8, 255, false, false, true);
                                         $this->campoTextoInv("titulo_{$exemplar}", "", $titulo, 30, 255, false, false, false, "", "<a href='#' onclick=\"getElementById('excluir_tombo').value = '{$exemplar}'; getElementById('tipoacao').value = ''; {$this->__nome}.submit();\"><img src='imagens/nvp_bola_xis.gif' title='Excluir' border=0></a>");
                                         $aux["ref_cod_exemplar_"][] = $exemplar;
                                     }
                                 }
                             } else {
                                 echo "<script> alert('Situação atual do exemplar não permite empréstimo!'); </script>";
                             }
                         } else {
                             echo "<script> alert('Exemplar não disponível para empréstimo!'); </script>";
                         }
                     }
                 }
             }
         }
         unset($this->exemplar_emprestimo);
         $this->exemplar_emprestimo = $aux;
     }
     $this->campoOculto("exemplar_emprestimo", serialize($this->exemplar_emprestimo));
     if ($aux) {
         $this->campoNumero("ref_cod_exemplar", "Tombo", $this->ref_cod_exemplar, 15, 50, false, "", "<a href='#' onclick=\"getElementById('incluir_tombo').value = 'S'; getElementById('tipoacao').value = ''; acao();\"><img src='imagens/nvp_bot_adiciona.gif' title='Incluir' border=0></a>");
     } else {
         $this->campoNumero("ref_cod_exemplar", "Tombo", $this->ref_cod_exemplar, 15, 50, true, "", "<a href='#' onclick=\"getElementById('incluir_tombo').value = 'S'; getElementById('tipoacao').value = ''; acao();\"><img src='imagens/nvp_bot_adiciona.gif' title='Incluir' border=0></a>");
     }
     $this->campoOculto("incluir_tombo", "");
     //		$this->campoRotulo( "bt_incluir_tombo", "Tombo", "<a href='#' onclick=\"getElementById('incluir_tombo').value = 'S'; getElementById('tipoacao').value = ''; {$this->__nome}.submit();\"><img src='imagens/nvp_bot_incluir2.gif' title='Incluir' border=0></a>" );
     $this->campoQuebra();
     //-----------------------FIM INCLUI TOMBO------------------------//
 }