public static function getInstance()
 {
     if (self::$objInstance == null) {
         self::$objInstance = new RepoLivroAuxiliar();
     }
     return self::$objInstance;
 }
 public function getIdLivroCadastrar()
 {
     $arrObjParametro = NegParametro::getInstance()->consultar(null);
     $arrObjParametro = $arrObjParametro["objects"];
     $parametro = new Parametro();
     $parametro = $arrObjParametro[0];
     $intQuantidadeFolhasLivro = (int) $parametro->getTotFolhaLivro();
     $intQuantidadeLinhasFolha = (int) $parametro->getTotLinhaFolha();
     //verificar se existe livro cadastrado, se não tiver cria um novo, se ja tiver segue a regra
     $arrRetornoLivro = RepoLivroAuxiliar::getInstance()->consultar(null);
     if ($arrRetornoLivro == "") {
         $objLivroAdd = new LivroAuxiliar();
         $objLivroAdd->setNumero("1");
         $arrConsultaUsuario["USU_ID"] = $_SESSION["USUARIO_ID"];
         $arrObjUsu = NegUsuario::getInstance()->consultar($arrConsultaUsuario);
         $arrObjUsu = $arrObjUsu["objects"];
         $objLivroAdd->setUsuarioCadastro($arrObjUsu[0]);
         $objLivroAdd->setDataHoraCadastro(date("Y-m-d H:i:s"));
         RepoLivroAuxiliar::getInstance()->salvar($objLivroAdd);
         return db::getInstance()->getLastId();
     } else {
         //se existir um livro ou mais, pegar o primeiro item do retorno, pois será  o ultimo livro cadastrado
         //echo 'se existir um livro ou mais, pegar o primeiro item do retorno, pois será  o ultimo livro cadastrado';
         $arrStrFiltrosFolha["LIA_ID"] = $arrRetornoLivro[0]["LIA_ID"];
         $arrTotalFolhas = RepoFolhaAuxiliar::getInstance()->consultar($arrStrFiltrosFolha);
         if ($arrTotalFolhas != NULL) {
             //tem folhas cadastradas
             //verifica se a quantidade de linhas pra folha foi atingida
             //se não for ja retorna o id do livro se não continua os testes
             $consultaLinha["FAU_ID"] = $arrTotalFolhas[0]["FAU_ID"];
             $arrTotLinha = RepoLinhaAuxiliar::getInstance()->consultar($consultaLinha);
             if (count($arrTotLinha) == $intQuantidadeLinhasFolha) {
                 //se o total de linhas para folha ja foi atingido
                 //testa a quantidade de folhas da pagina
                 //conta a quantidade se for igual ao que é permitido cadastra um novo livro
                 if (count($arrTotalFolhas) == $intQuantidadeFolhasLivro) {
                     //se a quantidade de folhas encontradas for igual a quantidade de folhas permitidas
                     // cria um novo livro
                     $objLivroAdd = new LivroAuxiliar();
                     $objLivroAdd->setNumero($arrRetornoLivro[0]["LIA_NumeroLivro"] + 1);
                     $arrConsultaUsuario["USU_ID"] = $_SESSION["USUARIO_ID"];
                     $arrObjUsu = NegUsuario::getInstance()->consultar($arrConsultaUsuario);
                     $arrObjUsu = $arrObjUsu["objects"];
                     $objLivroAdd->setUsuarioCadastro($arrObjUsu[0]);
                     $objLivroAdd->setDataHoraCadastro(date("Y-m-d H:i:s"));
                     RepoLivroAuxiliar::getInstance()->salvar($objLivroAdd);
                     //retorna o novo id gerado..
                     return db::getInstance()->getLastId();
                 } else {
                     //se não retorna o id do livro
                     return $arrRetornoLivro[0]["LIA_ID"];
                 }
             } else {
                 //se não for atingida a quantidae de linhas ja retorna o id do livro
                 return $arrRetornoLivro[0]["LIA_ID"];
             }
         } else {
             //não tem folha então pode retorna o id
             return $arrRetornoLivro[0]["LIA_ID"];
         }
     }
     /*
                 // se não tiver o livro cadastra e retorna o id gerado
                 if($arrRetornoLivro == NULL){
                     //echo 'se não tiver o livro cadastra e retorna o id gerado';
                     
                     
                     $objLivroAdd = new LivroAuxiliar();
                     $objLivroAdd->setNumero("1");
                     
                     $arrConsultaUsuario["USU_ID"] = $_SESSION["USUARIO_ID"];
                     $arrObjUsu = NegUsuario::getInstance()->consultar($arrConsultaUsuario);
                     $arrObjUsu = $arrObjUsu["objects"];
                     
                     $objLivroAdd->setUsuarioCadastro($arrObjUsu[0]);
                     $objLivroAdd->setDataHoraCadastro(date("Y-m-d H:i:s"));
                     
                     RepoLivroAuxiliar::getInstance()->salvar($objLivroAdd);
                     
                     return db::getInstance()->getLastId();
                 }else{
                     //se existir um livro ou mais, pegar o primeiro item do retorno, pois será  o ultimo livro cadastrado                
                     //echo 'se existir um livro ou mais, pegar o primeiro item do retorno, pois será  o ultimo livro cadastrado';
                     
                     $arrStrFiltrosFolha["LIA_ID"] = $arrRetornoLivro[0]["LIA_ID"];
                     $arrTotalFolhas = RepoFolhaAuxiliar::getInstance()->consultar($arrStrFiltrosFolha);
     
                     if($arrTotalFolhas != NULL){//tem folhas cadastradas                    
                         
                         //verifica se a quantidade de linhas pra folha foi atingida
                         //se não for ja retorna o id do livro se não continua os testes
                         $consultaLinha["FAU_ID"] = $arrTotalFolhas[0]["FAU_ID"];
                         $arrTotLinha = RepoLinhaAuxiliar::getInstance()->consultar($consultaLinha);
                         
                         if(count($arrTotLinha) == $intQuantidadeLinhasFolha){
                             //se o total de linhas para folha ja foi atingido 
                             //testa a quantidade de folhas da pagina
                             
                             //conta a quantidade se for igual ao que é permitido cadastra um novo livro
                             if(count($arrTotalFolhas) == $intQuantidadeFolhasLivro){
                                 //se a quantidade de folhas encontradas for igual a quantidade de folhas permitidas
                                 // cria um novo livro
     
                                 $objLivroAdd = new LivroAuxiliar();
                                 $objLivroAdd->setNumero($arrRetornoLivro[0]["LIA_NumeroLivro"] + 1);
     
                                 $arrConsultaUsuario["USU_ID"] = $_SESSION["USUARIO_ID"];
                                 $arrObjUsu = NegUsuario::getInstance()->consultar($arrConsultaUsuario);
                                 $arrObjUsu = $arrObjUsu["objects"];
     
                                 $objLivroAdd->setUsuarioCadastro($arrObjUsu[0]);
                                 $objLivroAdd->setDataHoraCadastro(date("Y-m-d H:i:s"));
     
                                 RepoLivroAuxiliar::getInstance()->salvar($objLivroAdd);
                                 //retorna o novo id gerado..
                                 return db::getInstance()->getLastId();
                             }else{                        
                                 //se não retorna o id do livro
                                 return $arrRetornoLivro[0]["LIA_ID"];
                             }
                         }else{
                             //se não for atingida a quantidae de linhas ja retorna o id do livro                        
                             return $arrRetornoLivro[0]["LIA_ID"];
                         }
                     }else{  
                         //não tem folha então pode retorna o id
                         return $arrRetornoLivro[0]["LIA_ID"] ;
                     }
                 }*/
 }