public function montarLivro($arrConsulta)
 {
     $arrDados = array();
     if ($arrConsulta["tipoConsulta"] == "livro") {
         $arrConsutlaLivro["LIP_DataHoraCadastroIncio"] = DataHelper::getInstance()->converterDataUsuarioParaDataBanco($arrConsulta["dataInicial"]);
         $arrConsutlaLivro["LIP_DataHoraCadastroFim"] = DataHelper::getInstance()->converterDataUsuarioParaDataBanco($arrConsulta["dataFim"]);
         $arrDados = NegLivroPrevio::getInstance()->consultar($arrConsutlaLivro);
     } else {
         if ($arrConsulta["tipoConsulta"] == "folha") {
             $arrConsutlaFolha["FPR_DataFolhaIncio"] = DataHelper::getInstance()->converterDataUsuarioParaDataBanco($arrConsulta["dataInicial"]);
             $arrConsutlaFolha["FPR_DataFolhaFim"] = DataHelper::getInstance()->converterDataUsuarioParaDataBanco($arrConsulta["dataFim"]);
             $arrDados = NegFolhaPrevio::getInstance()->consultar($arrConsutlaFolha);
         } else {
             $arrConsutlaLinha["FPR_DataFolhaIncio"] = DataHelper::getInstance()->converterDataUsuarioParaDataBanco($arrConsulta["dataInicial"]);
             $arrConsutlaLinha["FPR_DataFolhaFim"] = DataHelper::getInstance()->converterDataUsuarioParaDataBanco($arrConsulta["dataFim"]);
             $arrDados = NegLinhaPrevio::getInstance()->consultar($arrConsutlaLinha);
         }
     }
     var_dump($arrDados);
     die;
     //atencao mudar pra que venha os objetos ja internamente
     $arrStrDados = RepoLivroPrevio::getInstance()->montarLivro($arrConsulta);
     $arrObjsRetorno = null;
     if ($arrStrDados != null) {
         if (count($arrStrDados) > 0) {
             $arrObjsLivro = array();
             var_dump(count($arrStrDados));
             die;
             for ($intI = 0; $intI < count($arrStrDados); $intI++) {
                 //monta o livro
                 $arrObjsLivro["livro"]["objeto"][$intI] = $this->factory($arrStrDados[$intI]);
                 //consulta folha
                 $arrConsultaFolha["LIP_ID"] = $arrObjsLivro["livro"]["objeto"][$intI]->getId();
                 $arrStrDadosFolha = NegFolhaPrevio::getInstance()->consultar($arrConsultaFolha);
                 if ($arrStrDadosFolha != null) {
                     if (count($arrStrDadosFolha) > 0) {
                         $arrObjsFolha = array();
                         $arrStrDadosFolha = $arrStrDadosFolha["objects"];
                         for ($intF = 0; $intF < count($arrStrDadosFolha); $intF++) {
                             $arrObjsFolha["folhas"]["objetos"][$intF] = $arrStrDadosFolha[$intF];
                             $linha = new FolhaPrevio();
                             $linha = $arrStrDadosFolha[$intF];
                             $arrConsultaLinha["FPR_ID"] = $linha->getId();
                             $arrStrDadosLinha = NegLinhaPrevio::getInstance()->consultar($arrConsultaLinha);
                             /*if($arrStrDadosLinha != null){
                                   if(count($arrStrDadosLinha) > 0){
                                       $arrObjsLinha = array();
                                       
                                       $arrObjsLinha = $arrStrDadosLinha["objects"];
                                   }
                               }*/
                             //$arrObjsFolha["folhas"][$intF]["linhas"] = $arrStrDadosLinha["objects"];
                             $arrObjsFolha["folhas"]["linhas"][$intF] = $arrStrDadosLinha["objects"];
                             //$arrObjsLivro["livro"][$intI]["folhas"][$intF] = $arrObjsFolha;
                             $arrObjsLivro["livro"]["folhas"][$intI] = $arrObjsFolha;
                         }
                     }
                 }
             }
             // responsável por exibir dados na grid
             $arrObjsRetorno = array();
             $arrObjsRetorno["objects"] = $arrObjsLivro;
         }
     }
     print_r($arrObjsRetorno["objects"]);
     //print_r($arrObjsRetorno["objects"]["livro"][0]);
     //print_r(count($arrObjsRetorno["objects"]["folhas"][0]));
     //print_r($arrObjsRetorno["objects"]["folhas"][0]["linhas"]);
     die;
     return $arrObjsRetorno;
 }
 public function getPermissaoAddFolhaLivro($arrStrDados)
 {
     return NegLivroPrevio::getInstance()->getPermissaoAddFolhaLivro($arrStrDados);
 }
 /**
  * Metodo buscarIdFolhaCadastrarLinha()
  * @access public
  * @return um array com id do livro e da folha para cadastrar a linha
  */
 public function getIdFolhaCadastrar()
 {
     //pega o id do livro
     $arrStrFiltrosFolha["LIP_ID"] = NegLivroPrevio::getInstance()->getIdLivroCadastrar();
     $intFolhaId = 0;
     $arrObjParametro = NegParametro::getInstance()->consultar(null);
     $arrObjParametro = $arrObjParametro["objects"];
     $parametro = new Parametro();
     $parametro = $arrObjParametro[0];
     //pega a quantidae de linhas permitidas por folha
     $intQuantidadeLinhasFolha = (int) $parametro->getTotLinhaFolha();
     //com o id do livro pega a quantidade de folhas
     $arrFolha = RepoFolhaPrevio::getInstance()->consultar($arrStrFiltrosFolha);
     //die();
     if ($arrFolha == "") {
         //cadastra uma nov folha
         $objFolha = new FolhaPrevio();
         $objFolha->setNumero(1);
         $arrConsultaUsuario["USU_ID"] = $_SESSION["USUARIO_ID"];
         $arrObjUsu = NegUsuario::getInstance()->consultar($arrConsultaUsuario);
         $arrObjUsu = $arrObjUsu["objects"];
         $arrConsultaLivro["LIP_ID"] = $arrStrFiltrosFolha["LIP_ID"];
         $arrObjLivro = NegLivroPrevio::getInstance()->consultar($arrConsultaLivro);
         $arrObjLivro = $arrObjLivro["objects"];
         $objFolha->setUsuarioCadastro($arrObjUsu[0]);
         $objFolha->setLivroPrevio($arrObjLivro[0]);
         $objFolha->setData(date("d/m/Y"));
         $objFolha->setDataHoraCadastro(date("Y-m-d H:i:s"));
         RepoFolhaPrevio::getInstance()->salvar($objFolha);
         //retorna o novo id gerado..
         $intFolhaId = db::getInstance()->getLastId();
     } else {
         //se a quantidade de folha for maior ou igua ao permitido cadastra uma nova folha
         //ver aqui .. contar as linhas pra testar
         $arrConsultaLinha["FPR_ID"] = $arrFolha[0]["FPR_ID"];
         $arrLinha = RepoLinhaPrevio::getInstance()->consultar($arrConsultaLinha);
         if ($arrLinha != "") {
             //conta a quantidade de linha se for igual ao que é permitido cadastra uma novo folha
             if (count($arrLinha) == $intQuantidadeLinhasFolha) {
                 //cadastra uma novo folha
                 //incrementa o numero da folha
                 $numFolha = $arrFolha[0]["FPR_NumeroFolha"] + 1;
                 $objFolha = new FolhaPrevio();
                 $objFolha->setNumero($numFolha);
                 $arrConsultaUsuario["USU_ID"] = $_SESSION["USUARIO_ID"];
                 $arrObjUsu = NegUsuario::getInstance()->consultar($arrConsultaUsuario);
                 $arrObjUsu = $arrObjUsu["objects"];
                 $arrConsultaLivro["LIP_ID"] = $arrStrFiltrosFolha["LIP_ID"];
                 $arrObjLivro = NegLivroPrevio::getInstance()->consultar($arrConsultaLivro);
                 $arrObjLivro = $arrObjLivro["objects"];
                 $objFolha->setUsuarioCadastro($arrObjUsu[0]);
                 $objFolha->setLivroPrevio($arrObjLivro[0]);
                 $objFolha->setData(date("d/m/Y"));
                 $objFolha->setDataHoraCadastro(date("Y-m-d H:i:s"));
                 RepoFolhaPrevio::getInstance()->salvar($objFolha);
                 //retorna o novo id gerado..
                 $intFolhaId = db::getInstance()->getLastId();
             } else {
                 //ainda não tem a quantidade então retorna o id da folha
                 $intFolhaId = $arrFolha[0]["FPR_ID"];
             }
         } else {
             //não tem nenhuma linha em tõ retorna a folha
             $intFolhaId = $arrFolha[0]["FPR_ID"];
         }
         /*$arrRetorno["folhaId"] = $intFolhaId;
           $arrRetorno["livroId"] = $arrStrFiltrosFolha["LIA_ID"];*/
         return $intFolhaId;
     }
 }