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 formularioAction()
 {
     if ($_POST) {
         $idPronac = $_POST['idPronac'];
         $idProduto = $_POST['idProduto'];
         $idPlanilhaAprovacao = $_POST['planilhaAprovacao'];
         $idEtapa = $_POST['idEtapa'];
         $idItem = $_POST['idItem'];
         $tpAcaoVerifica = $_POST['tpAcao'];
         $idPedidoAlteracao = $_POST['idPedidoAlteracao'];
         $idAgente = $_POST['idAgente'];
         $dsJustificativaAvaliador = strip_tags($_POST['dsjustificativaAvaliador']);
         if (empty($_POST['tipoaprovacao'][0]) || empty($_POST['dsjustificativaAvaliador'])) {
             parent::message("Preencha todos os dados!", "/verificarsolicitacaodereadequacoes/formulario?idPronac={$idPronac}&idAprovacao={$idPlanilhaAprovacao}&idItem={$idItem}&tpAcao={$tpAcaoVerifica}", "ALERT");
         }
         if (!empty($_POST['tipoaprovacao'])) {
             if ($_POST['tipoaprovacao'][0] == "AP") {
                 $stDeferimento = "D";
             } else {
                 $stDeferimento = "I";
             }
         }
         $resultadoItem = VerificarSolicitacaodeReadequacoesDAO::verificaPlanilhaAprovacao($idPronac);
         foreach ($resultadoItem as $aprovacao) {
             if ($stDeferimento == "D" || $stDeferimento == "I") {
                 $tbAvaliacaoItemPedidoAlteracao = new tbAvaliacaoItemPedidoAlteracao();
                 $resultado = $tbAvaliacaoItemPedidoAlteracao->buscar(array('idPedidoAlteracao = ?' => $idPedidoAlteracao, 'tpAlteracaoProjeto = ?' => 7, 'stAvaliacaoItemPedidoAlteracao = ?' => 'EA'))->current();
                 $idItemAvaliacaoItemPedidoAlteracao = $resultado->idAvaliacaoItemPedidoAlteracao;
                 $inserirAvaliacaoSubItemPedidoAlteracao = VerificarSolicitacaodeReadequacoesDAO::inserirAvaliacaoSubItemPedidoAlteracao($dsJustificativaAvaliador, $stDeferimento, $idPedidoAlteracao, $idItemAvaliacaoItemPedidoAlteracao);
                 // altera a justificativa da planilha
                 //                    $tbPlanilhaAprovacao = new PlanilhaAprovacao();
                 //                    $tbPlanilhaAprovacao->alterar(array('dsJustificativa' => $dsJustificativaAvaliador), array('idPlanilhaAprovacao = ?' => $idPlanilhaAprovacao));
                 $buscaIdAvaliacaoSubItemPedidoAlteracao = VerificarSolicitacaodeReadequacoesDAO::buscaIdAvaliacaoSubItemPedidoAlteracao($idItemAvaliacaoItemPedidoAlteracao);
                 foreach ($buscaIdAvaliacaoSubItemPedidoAlteracao as $itemAvaliacaoSubItemPedido) {
                     $idAvaliacaoSubItemPedidoAlteracao = $itemAvaliacaoSubItemPedido->idAvaliacaoSubItemPedidoAltera;
                 }
                 $inserirAvaliacaoSubItemCusto = VerificarSolicitacaodeReadequacoesDAO::inserirAvaliacaoSubItemCusto($idItemAvaliacaoItemPedidoAlteracao, $idAvaliacaoSubItemPedidoAlteracao, $idPlanilhaAprovacao);
                 $atualizaPlanilhaAprovacao = VerificarSolicitacaodeReadequacoesDAO::atualizaPlanilhaAprovacao($idPlanilhaAprovacao, "N");
                 parent::message("Dados analisados e atualizados com sucesso!", "verificarreadequacaodeprojeto/readequacaoitensdecustoeditar?id={$idPronac}", "CONFIRM");
             }
             if ($_POST['tpAcao'] == "N" || empty($_POST['tpAcao'])) {
                 parent::message("Não há solicitação de readequação para este item.", "/verificarreadequacaodeprojeto/readequacaoitensdecustoeditar?id={$idPronac}", "ALERT");
             }
             die;
         }
     } else {
         $idPronac = $_GET['idPronac'];
         $idPlanilhaAprovacao = $_GET['idAprovacao'];
         $idPlanilhaItem = $_GET['idItem'];
         $auth = Zend_Auth::getInstance();
         //$idSolicitante = $auth->getIdentity()->usu_codigo;
         $buscaprojeto = new ReadequacaoProjetos();
         $resultado = $buscaprojeto->buscarProjetos($idPronac);
         $this->view->buscaprojeto = $resultado;
         $buscaInformacoes = new VerificarSolicitacaodeReadequacoesDAO();
         $resultadoItem = $buscaInformacoes->buscaItem($idPronac, $idPlanilhaAprovacao, $idPlanilhaItem);
         $this->view->buscaitem = $resultadoItem;
         $tbAvaliacaoItemPedidoAlteracao = new tbAvaliacaoItemPedidoAlteracao();
         $dados = $tbAvaliacaoItemPedidoAlteracao->buscar(array('idPedidoAlteracao = ?' => $resultadoItem[0]->idPedidoAlteracao, 'stAvaliacaoItemPedidoAlteracao = ?' => 'EA', 'tpAlteracaoProjeto = ?' => 7))->current();
         $resultados = $buscaInformacoes->buscaAvaliacoesSubItemPedidoAlteracao($resultadoItem[0]->idPedidoAlteracao, $idPlanilhaAprovacao, $dados->idAvaliacaoItemPedidoAlteracao);
         if ($resultados) {
             $this->view->itemAvaliado = $resultados;
         }
     }
 }