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"] ; } }*/ }