public function planilhasolicitadaAction()
 {
     $idPronac = isset($_POST['idpronac']) ? $_POST['idpronac'] : '';
     $auth = Zend_Auth::getInstance();
     if (empty($_POST)) {
         $resultadoItem = VerificarSolicitacaodeReadequacoesDAO::verificaPlanilhaAprovacao($idPronac);
         if (empty($resultadoItem)) {
             $inserirCopiaPlanilha = VerificarSolicitacaodeReadequacoesDAO::inserirCopiaPlanilha($idPronac);
         }
     }
     $buscaInformacoes = new VerificarSolicitacaodeReadequacoesDAO();
     if (isset($_POST['finaliza'])) {
         $this->_helper->layout->disableLayout();
         // desabilita o Zend_Layout
         $idpronac = $_POST['idpronac'];
         $dsObservacao = $_POST['dsObservacao'];
         try {
             $verificaIdPedidoAlteracao = VerificarSolicitacaodeReadequacoesDAO::verificaPedidoAlteracao($idpronac);
             $idpedidoalteracao = $verificaIdPedidoAlteracao[0]->idPedidoAlteracao;
             $where = " idPedidoAlteracao = {$idpedidoalteracao}";
             $dadosPedido = array('siVerificacao' => 1);
             $atualizapedido = $buscaInformacoes->atualizarPedido($dadosPedido, $where);
             $dadosTipo = array('stVerificacao' => 2);
             $atualizapedidotipo = $buscaInformacoes->atualizarTipoAlteracao($dadosTipo, $where);
             $idAvaliacaoItemPedidoAlteracao = VerificarSolicitacaodeReadequacoesDAO::buscaIdAvaliacaoItemPedidoAlteracao($idpedidoalteracao);
             $idAvaliacaoItemPedidoAlteracao = $idAvaliacaoItemPedidoAlteracao['0']->idAvaliacaoItemPedidoAlteracao;
             $dadosAvaliacao = array('stAvaliacaoItemPedidoAlteracao' => 'AP', 'dtFimAvaliacao' => date('Y-m-d H:i:s'));
             $avaliacao = $buscaInformacoes->atualizarAvaliacaopedido($dadosAvaliacao, $where);
             $where = " idAvaliacaoItemPedidoAlteracao = {$idAvaliacaoItemPedidoAlteracao} and dtEncaminhamento in (select max(dtEncaminhamento) from BDCORPORATIVO.scSac.tbAcaoAvaliacaoItemPedidoAlteracao where idAvaliacaoItemPedidoAlteracao = {$idAvaliacaoItemPedidoAlteracao} )";
             $dadosAcao = array('stAtivo' => '1', 'dtEncaminhamento' => date('Y-m-d H:i:s'));
             $atualizapedidotipo = $buscaInformacoes->atualizarAvaliacaoAcao($dadosAcao, $where);
             $verificaridorgao = $buscaInformacoes->buscarOrgao($idAvaliacaoItemPedidoAlteracao);
             $orgao = $verificaridorgao['idorgao'];
             //retorna o id do agente logado
             $agente = GerenciarPautaReuniaoDAO::consultaAgenteUsuario($auth->getIdentity()->usu_codigo);
             $idAgenteRemetente = $agente['idAgente'];
             $GrupoAtivo = new Zend_Session_Namespace('GrupoAtivo');
             // cria a sessão com o grupo ativo
             $idPerfilRemetente = $GrupoAtivo->codGrupo;
             $dadosinserir = array('idAvaliacaoItemPedidoAlteracao' => $idAvaliacaoItemPedidoAlteracao, 'idAgenteAcionado' => 0, 'dsObservacao' => $dsObservacao, 'idTipoAgente' => 2, 'idOrgao' => $orgao, 'stAtivo' => 0, 'stVerificacao' => 2, 'dtEncaminhamento' => date('Y-m-d H:i:s'), 'idAgenteRemetente' => $idAgenteRemetente, 'idPerfilRemetente' => $idPerfilRemetente);
             $inserir = $buscaInformacoes->insertAvaliacaoAcao($dadosinserir);
             $where = " and  stAvaliacaoSubItemPedidoAlteracao  = 'AP'";
             $condicao = VerificarSolicitacaodeReadequacoesDAO::verificaSubItem($idAvaliacaoItemPedidoAlteracao, $where);
             if (count($condicao) > 0) {
                 $dados = array('stAvaliacaoItemPedidoAlteracao' => 'AP');
                 $where = " idpedidoalteracao = {$idpedidoalteracao}";
                 $alterarStatus = $buscaInformacoes->atualizarStatus($dados, $where);
             } else {
                 $dados = array('stAvaliacaoItemPedidoAlteracao' => 'IN');
                 $where = " idpedidoalteracao = {$idpedidoalteracao}";
                 $alterarStatus = $buscaInformacoes->atualizarStatus($dados, $where);
             }
             echo json_encode(array('error' => false));
             die;
         } catch (Exception $e) {
             echo json_encode(array('error' => true, 'Descricao' => $e->getMessage()));
             die;
         }
     }
     $resultadoOrcamento = $buscaInformacoes->verificaMudancaOrcamentaria($idPronac);
     $this->view->buscaorcamento = $resultadoOrcamento;
     //$idSolicitante = $auth->getIdentity()->usu_codigo;
     $buscaprojeto = new ReadequacaoProjetos();
     $resultado = $buscaprojeto->buscarProjetos($idPronac);
     $this->view->buscaprojeto = $resultado;
     $buscaInformacoes = new VerificarSolicitacaodeReadequacoesDAO();
     $SolicitarReadequacaoCustoDAO = new SolicitarReadequacaoCustoDAO();
     $resultadoEtapa = $buscaInformacoes->buscarEtapa();
     $this->view->buscaetapa = $resultadoEtapa;
     $resultadoProduto = $SolicitarReadequacaoCustoDAO->buscarProdutos($idPronac)->toArray();
     if (empty($resultadoProduto)) {
         $resultadoProduto = $SolicitarReadequacaoCustoDAO->buscarProdutosAprovados($idPronac);
     } else {
         $resultadoProduto = $SolicitarReadequacaoCustoDAO->buscarProdutos($idPronac);
     }
     $this->view->buscaproduto = $resultadoProduto;
     //var_dump($resultadoProduto);die;
     foreach ($resultadoProduto as $idProduto) {
         foreach ($resultadoEtapa as $idEtapa) {
             $resultadoProdutosItens = $buscaInformacoes->buscarProdutosItens($idPronac, $idEtapa->idPlanilhaEtapa, NULL, "N", $idProduto->idProduto);
             $valorProduto[$idProduto->idProduto][$idEtapa->idPlanilhaEtapa] = $resultadoProdutosItens;
             $resultadoProdutosItensAdm = $buscaInformacoes->buscarProdutosItensSemProduto($idPronac, $idEtapa->idPlanilhaEtapa, NULL, "N");
             $valorProdutoAdm[$idEtapa->idPlanilhaEtapa] = $resultadoProdutosItensAdm;
         }
     }
     $this->view->buscaprodutositens = $valorProduto;
     $this->view->buscaprodutositensadm = $valorProdutoAdm;
     $verificaIdPedidoAlteracao = VerificarSolicitacaodeReadequacoesDAO::verificaPedidoAlteracao($idPronac);
     $idPedidoAlteracao = $verificaIdPedidoAlteracao[0]->idPedidoAlteracao;
     $verificaStatus = VerificarSolicitacaodeReadequacoesDAO::verificaStatus($idPedidoAlteracao);
     $idAvaliacaoItemPedidoAlteracao = $verificaStatus[0]->stAvaliacaoItemPedidoAlteracao;
     if ($idAvaliacaoItemPedidoAlteracao == "EA") {
         $this->view->status = "EA";
     }
     if ($idAvaliacaoItemPedidoAlteracao == "AP") {
         $this->view->status = "AP";
     }
     if ($idAvaliacaoItemPedidoAlteracao == "IN") {
         $this->view->status = "IN";
     }
     $verificaIdPedidoAlteracao = VerificarSolicitacaodeReadequacoesDAO::verificaPedidoAlteracao($idPronac);
     $idpedidoalteracao = $verificaIdPedidoAlteracao[0]->idPedidoAlteracao;
     $buscaIdAvaliacaoItemPedidoAlteracao = VerificarSolicitacaodeReadequacoesDAO::buscaIdAvaliacaoItemPedidoAlteracao($idPedidoAlteracao);
     foreach ($buscaIdAvaliacaoItemPedidoAlteracao as $itemAvaliacaoItemPedido) {
         $idItemAvaliacaoItemPedidoAlteracao = $itemAvaliacaoItemPedido->idAvaliacaoItemPedidoAlteracao;
     }
     $verificaSubItemPedidoAlteracao = VerificarSolicitacaodeReadequacoesDAO::verificaStatusFinal($idPedidoAlteracao);
     $stAvaliacaoSubItemPedidoAlteracao = $verificaSubItemPedidoAlteracao[0]->stAvaliacao;
     if ($stAvaliacaoSubItemPedidoAlteracao == "AG") {
         $this->view->statusAnalise = "Aguardando Análise";
     }
     if ($stAvaliacaoSubItemPedidoAlteracao == "EA") {
         $this->view->statusAnalise = "Em Análise";
     }
     if ($stAvaliacaoSubItemPedidoAlteracao == "AP") {
         $this->view->statusAnalise = "Aprovado";
     }
     if ($stAvaliacaoSubItemPedidoAlteracao == "IN") {
         $this->view->statusAnalise = "Indeferido";
     }
     $resultadoAvaliacaoAnalise = $buscaInformacoes->verificaAvaliacaoAnalise();
     $this->view->AvaliacaoAnalise = $resultadoAvaliacaoAnalise;
 }
 public function planilhasolicitadaAction()
 {
     $idPronac = isset($_GET['idPronac']) ? $_GET['idPronac'] : '';
     $auth = Zend_Auth::getInstance();
     $verificaIdPedidoAlteracao = VerificarSolicitacaodeReadequacoesDAO::verificaPedidoAlteracao($idPronac);
     $idpedidoalteracao = $verificaIdPedidoAlteracao[0]->idPedidoAlteracao;
     if (empty($_POST)) {
         $resultadoItem = VerificarSolicitacaodeReadequacoesDAO::verificaPlanilhaAprovacao($idPronac);
         if (empty($resultadoItem)) {
             $inserirCopiaPlanilha = VerificarSolicitacaodeReadequacoesDAO::inserirCopiaPlanilha($idPronac, $idpedidoalteracao);
         }
     }
     $buscaInformacoes = new VerificarSolicitacaodeReadequacoesDAO();
     $resultadoOrcamento = $buscaInformacoes->verificaMudancaOrcamentaria($idPronac);
     $this->view->buscaorcamento = $resultadoOrcamento;
     //$idSolicitante = $auth->getIdentity()->usu_codigo;
     $buscaprojeto = new ReadequacaoProjetos();
     $resultado = $buscaprojeto->buscarProjetos($idPronac);
     $this->view->buscaprojeto = $resultado;
     // ========== INÍCIO MENSAGEM DE REDUÇÃO, COMPLEMENTO OU REMANEJAMENTO ==========
     $buscaProjetoProduto = new SolicitarReadequacaoCustoDAO();
     $verificarReadequacao = $buscaProjetoProduto->verificarreadequacao($idPronac);
     $totalPlanilhaAprovada = !empty($verificarReadequacao[0]['totalAprovado']) ? $verificarReadequacao[0]['totalAprovado'] : 0;
     $totalPlanilhaSolicitada = !empty($verificarReadequacao[0]['totalSolicitado']) ? $verificarReadequacao[0]['totalSolicitado'] : 0;
     $totalPlanilhaSolicitada = !empty($totalPlanilhaAprovada) ? number_format($totalPlanilhaAprovada + $totalPlanilhaSolicitada - $verificarReadequacao[0]['totalSolicitadoExcluido'], 2, '.', '') : $totalPlanilhaSolicitada;
     if ($totalPlanilhaAprovada > $totalPlanilhaSolicitada) {
         $this->view->tipoReadeq = 'Solicitação de Redução';
     } elseif ($totalPlanilhaAprovada < $totalPlanilhaSolicitada) {
         $this->view->tipoReadeq = 'Solicitação de Complementação';
     } else {
         $this->view->tipoReadeq = 'Solicitação de Remanejamento';
     }
     // ========== FIM MENSAGEM DE REDUÇÃO, COMPLEMENTO OU REMANEJAMENTO ==========
     $buscaInformacoes = new VerificarSolicitacaodeReadequacoesDAO();
     $SolicitarReadequacaoCustoDAO = new SolicitarReadequacaoCustoDAO();
     $resultadoEtapa = $buscaInformacoes->buscarEtapa();
     $this->view->buscaetapa = $resultadoEtapa;
     $resultadoProduto = $SolicitarReadequacaoCustoDAO->buscarProdutos($idPronac)->toArray();
     if (empty($resultadoProduto)) {
         $resultadoProduto = $SolicitarReadequacaoCustoDAO->buscarProdutosAprovados($idPronac);
     } else {
         $resultadoProduto = $SolicitarReadequacaoCustoDAO->buscarProdutos($idPronac);
     }
     $this->view->buscaproduto = $resultadoProduto;
     foreach ($resultadoProduto as $idProduto) {
         foreach ($resultadoEtapa as $idEtapa) {
             $resultadoProdutosItens = $buscaInformacoes->buscarProdutosItensParecerista($idPronac, $idEtapa->idPlanilhaEtapa, NULL, "N", $idProduto->idProduto);
             $valorProduto[$idProduto->idProduto][$idEtapa->idPlanilhaEtapa] = $resultadoProdutosItens;
             $resultadoProdutosItensAdm = $buscaInformacoes->buscarProdutosItensSemProduto($idPronac, $idEtapa->idPlanilhaEtapa, NULL, "N");
             $valorProdutoAdm[$idEtapa->idPlanilhaEtapa] = $resultadoProdutosItensAdm;
         }
     }
     $this->view->buscaprodutositens = $valorProduto;
     $this->view->buscaprodutositensadm = $valorProdutoAdm;
     $verificaStatus = VerificarSolicitacaodeReadequacoesDAO::verificaStatusItemDeCusto($idpedidoalteracao, 10);
     if (count($verificaStatus) <= 0) {
         parent::message("Planilha or&ccedil;ament&atilde;ria n&atilde;o encontrada!", "/verificarreadequacaodeprojeto/readequacaoitensdecustoeditar?id={$idPronac}", "ALERT");
     }
     $stAvaliacaoItemPedidoAlteracao = $verificaStatus->stAvaliacaoItemPedidoAlteracao;
     $this->view->status = $stAvaliacaoItemPedidoAlteracao;
     if ($stAvaliacaoItemPedidoAlteracao == "AG") {
         $this->view->statusAnalise = "Aguardando Análise";
     } elseif ($stAvaliacaoItemPedidoAlteracao == "EA") {
         $this->view->statusAnalise = "Em Análise";
     } elseif ($stAvaliacaoItemPedidoAlteracao == "AP") {
         $this->view->statusAnalise = "Aprovado";
     } elseif ($stAvaliacaoItemPedidoAlteracao == "IN") {
         $this->view->statusAnalise = "Indeferido";
     }
     $resultadoAvaliacaoAnalise = $buscaInformacoes->verificaAvaliacaoAnalise();
     $this->view->AvaliacaoAnalise = $resultadoAvaliacaoAnalise;
 }