public function operacoescustomizavelAction()
 {
     $this->_helper->layout->disableLayout();
     $this->_helper->ViewRenderer->setNoRender(true);
     $tbFormDocumentoDAO = new tbFormDocumento();
     $post = Zend_Registry::get('post');
     $get = Zend_Registry::get('get');
     if (!$post->operacao) {
         $post = Zend_Registry::get('get');
     }
     $idEdital = $post->idEdital;
     $nrVersaoDocumento = $post->nrVersaoDocumento;
     $nmFormDocumento = $post->nmFormDocumento;
     $dsFormDocumento = $post->dsFormDocumento;
     $nrFormDocumento = $post->nrFormDocumento;
     $operacao = $post->operacao;
     $nrPergunta = $post->nrPergunta;
     $nrOrdemPergunta = $post->nrOrdemPergunta;
     $dsPergunta = $post->dsPergunta;
     $dsLabelPergunta = $post->dsLabelPergunta;
     $stTipoObjetoPgr = $post->stTipoObjetoPgr;
     $dsOpcaoR = $post->dsOpcaoR;
     $justificativa = $post->justificativa;
     $nrOpcao = $post->nrOpcao;
     $idPreProjeto = $post->idPreProjeto;
     $auth = Zend_Auth::getInstance();
     // instancia da autentica??o
     if (isset($auth->getIdentity()->usu_codigo)) {
         $idusuario = $auth->getIdentity()->usu_codigo;
     } else {
         $idusuario = $auth->getIdentity()->IdUsuario;
     }
     $where = array('nrFormDocumento = ?' => $nrFormDocumento, 'nrVersaoDocumento = ?' => $nrVersaoDocumento);
     switch ($operacao) {
         case "inserir":
             $result = $tbFormDocumentoDAO->inserir(array('idEdital' => $idEdital, 'nrVersaoDocumento' => $nrVersaoDocumento, 'nmFormDocumento' => $nmFormDocumento, 'dsFormDocumento' => $dsFormDocumento, 'idClassificaDocumento' => 23, 'dtCadastramento' => new Zend_Db_Expr('GETDATE()'), 'stFormDocumento' => 'A'));
             if ($result) {
                 parent::message("Cadastro realizado com sucesso!", "/cadastraredital/propostacustomizavel?nrFormDocumento={$nrFormDocumento}&nrVersaoDocumento={$nrVersaoDocumento}&idEdital={$idEdital}&idUsuario={$idusuario}", "CONFIRM");
                 //                    echo json_encode(array("retorno"=>"INSERIR","mensagem"=>"Guia de edital incluída com sucesso!"));
             } else {
                 echo json_encode(array("retorno" => "ERRO", "mensagem" => "Erro ao tentar inserir a guia de edital."));
             }
             break;
         case "pesquisa":
             $edital = $tbFormDocumentoDAO->buscar($where);
             $result = array();
             foreach ($edital as $val) {
                 $result['nmFormDocumento'] = utf8_encode($val->nmFormDocumento);
                 $result['nrFormDocumento'] = $val->nrFormDocumento;
                 $result['nrVersaoDocumento'] = $val->nrVersaoDocumento;
                 $result['dsFormDocumento'] = utf8_encode($val->dsFormDocumento);
             }
             echo json_encode($result);
             break;
         case "alterar":
             $result = $tbFormDocumentoDAO->update(array('nmFormDocumento' => $nmFormDocumento, 'dsFormDocumento' => $dsFormDocumento), $where);
             if ($result) {
                 parent::message("Alteração realizada com sucesso!", "/cadastraredital/propostacustomizavel?nrFormDocumento={$nrFormDocumento}&nrVersaoDocumento={$nrVersaoDocumento}&idEdital={$idEdital}&idUsuario={$idusuario}", "CONFIRM");
                 //                    echo json_encode(array("retorno"=>"ALTERAR","mensagem"=>"Guia de edital alterada com sucesso!"));
             } else {
                 parent::message("Erro ao tentar alterar a guia de edital!", "/cadastraredital/propostacustomizavel?nrFormDocumento={$nrFormDocumento}&nrVersaoDocumento={$nrVersaoDocumento}&idEdital={$idEdital}&idUsuario={$idusuario}", "ALERT");
                 //                    echo json_encode(array("retorno"=>"ERRO","mensagem"=>"Erro ao tentar alterar a guia de edital."));
             }
             break;
         case "excluir":
             $tbPerguntaDAO = new tbPergunta();
             $tbPerguntaFormDoctoDAO = new tbPerguntaFormDocto();
             $tbOpcaoRespostaDAO = new tbOpcaoResposta();
             $tbFormDocumento = new tbFormDocumento();
             $nrFormDocumento = $_GET['nrFormDocumento'];
             $nrVersaoDocumento = $_GET['nrVersaoDocumento'];
             $nrFormDocURL = $_GET['nrFormDocURL'];
             $where = array('nrFormDocumento = ?' => $nrFormDocumento, 'nrVersaoDocumento = ?' => $nrVersaoDocumento);
             $listaPerguntaFormDocto = $tbPerguntaFormDoctoDAO->buscar($where);
             $tbOpcaoRespostaDAO->delete($where);
             $tbPerguntaFormDoctoDAO->delete($where);
             $tbFormDocumento->delete($where);
             if (is_object($listaPerguntaFormDocto) && count($listaPerguntaFormDocto) > 0) {
                 foreach ($listaPerguntaFormDocto as $pergunta) {
                     $tbPerguntaDAO->delete(array('nrPergunta = ?' => $pergunta->nrPergunta));
                 }
             }
             $idEdital = $_GET['idEdital'];
             $idusuario = $_GET['idUsuario'];
             $FormExclusao = $tbFormDocumento->buscar($where);
             if (count($FormExclusao) > 0) {
                 parent::message("Erro ao tentar excluir a guia de edital!", "/cadastraredital/propostacustomizavel?nrFormDocumento={$nrFormDocURL}&nrVersaoDocumento={$nrVersaoDocumento}&idEdital={$idEdital}&idUsuario={$idusuario}", "ALERT");
                 //                        echo json_encode(array("retorno"=>"EXCLUIR","mensagem"=>"Guia de edital excluida com sucesso!"));
             } else {
                 parent::message("Exclusão realizada com sucesso!", "/cadastraredital/propostacustomizavel?nrFormDocumento={$nrFormDocURL}&nrVersaoDocumento={$nrVersaoDocumento}&idEdital={$idEdital}&idUsuario={$idusuario}", "CONFIRM");
                 //                        echo json_encode(array("retorno"=>"ERRO","mensagem"=>"Erro ao tentar excluir a guia de edital."));
             }
             break;
         case 'tipoIT':
             //$this->questionario->setDsRespostaSubj(utf8_decode($_POST["resposta_{$this->questionario->getNrOpcao()}"]));
             $info = array('idPreProjeto' => $idPreProjeto, 'idUsuario' => $idusuario, 'nrFormDocumento' => $nrFormDocumento, 'nrOpcao' => $nrOpcao, 'nrPergunta' => $nrPergunta, 'nrVersaoDocumento' => $nrVersaoDocumento, 'dsRespostaSubj' => utf8_decode($_POST["resposta_{$nrOpcao}"]), 'operacao' => $operacao);
             $this->cadastraAtualizaRespostaQuestoes($info);
             break;
         case 'tipoTA':
             $info = array('idPreProjeto' => $idPreProjeto, 'idUsuario' => $idusuario, 'nrFormDocumento' => $nrFormDocumento, 'nrOpcao' => $nrOpcao, 'nrPergunta' => $nrPergunta, 'nrVersaoDocumento' => $nrVersaoDocumento, 'dsRespostaSubj' => utf8_decode($_POST["resposta_{$nrOpcao}"]), 'operacao' => $operacao);
             $this->cadastraAtualizaRespostaQuestoes($info);
             break;
         case 'tipoDT':
             $info = array('idPreProjeto' => $idPreProjeto, 'idUsuario' => $idusuario, 'nrFormDocumento' => $nrFormDocumento, 'nrOpcao' => $nrOpcao, 'nrPergunta' => $nrPergunta, 'nrVersaoDocumento' => $nrVersaoDocumento, 'dsRespostaSubj' => utf8_decode($_POST["resposta_{$nrOpcao}"]), 'operacao' => $operacao);
             $this->cadastraAtualizaRespostaQuestoes($info);
             break;
         case 'tipoNR':
             $info = array('idPreProjeto' => $idPreProjeto, 'idUsuario' => $idusuario, 'nrFormDocumento' => $nrFormDocumento, 'nrOpcao' => $nrOpcao, 'nrPergunta' => $nrPergunta, 'nrVersaoDocumento' => $nrVersaoDocumento, 'dsRespostaSubj' => utf8_decode($_POST["resposta_{$nrOpcao}"]), 'operacao' => $operacao);
             $this->cadastraAtualizaRespostaQuestoes($info);
             break;
         case 'tipoCK':
             if (isset($_POST["resposta_{$nrOpcao}"])) {
                 $dsResposta = $_POST["resposta_{$nrOpcao}"];
             } else {
                 $dsResposta = "";
             }
             $info = array('idPreProjeto' => $idPreProjeto, 'idUsuario' => $idusuario, 'nrFormDocumento' => $nrFormDocumento, 'nrOpcao' => $nrOpcao, 'nrPergunta' => $nrPergunta, 'nrVersaoDocumento' => $nrVersaoDocumento, 'dsRespostaSubj' => utf8_decode($dsResposta), 'operacao' => $operacao);
             if ($info['dsRespostaSubj'] != '') {
                 $this->cadastraAtualizaRespostaQuestoes($info);
             } else {
                 $where = array('nrFormDocumento = ?' => $info['nrFormDocumento'], 'nrVersaoDocumento = ?' => $info['nrVersaoDocumento'], 'nrPergunta = ?' => $info['nrPergunta'], 'idProjeto = ?' => $info['idPreProjeto'], 'idPessoaCadastro = ?' => $info['idUsuario'], 'nrOpcao = ?' => $info['nrOpcao']);
                 $tbRespostaDAO = new tbResposta();
                 $resposta = $tbRespostaDAO->buscar($where);
                 if (is_object($resposta) and $resposta->count() > 0) {
                     if ($tbRespostaDAO->delete($where)) {
                         echo json_encode(array('result' => true, 'mensagem' => utf8_encode('Cadastro realizado com sucesso.')));
                     } else {
                         echo json_encode(array('result' => false, 'mensagem' => utf8_encode('Erro excluir ' . $info['nrOpcao'] . '.')));
                     }
                 }
             }
             break;
         case 'tipoIC':
             if (isset($_POST["resposta_{$nrPergunta}_{$nrOpcao}"])) {
                 $dsResposta = $_POST["resposta_{$nrPergunta}_{$nrOpcao}"];
             } else {
                 $dsResposta = "";
             }
             $info = array('idPreProjeto' => $idPreProjeto, 'idUsuario' => $idusuario, 'nrFormDocumento' => $nrFormDocumento, 'nrOpcao' => $nrOpcao, 'nrPergunta' => $nrPergunta, 'nrVersaoDocumento' => $nrVersaoDocumento, 'dsRespostaSubj' => utf8_decode($dsResposta), 'operacao' => $operacao);
             if ($info['dsRespostaSubj'] != '') {
                 $this->cadastraAtualizaRespostaQuestoes($info);
             } else {
                 $where = array('nrFormDocumento = ?' => $info['nrFormDocumento'], 'nrVersaoDocumento = ?' => $info['nrVersaoDocumento'], 'nrPergunta = ?' => $info['nrPergunta'], 'idProjeto = ?' => $info['idPreProjeto'], 'idPessoaCadastro = ?' => $info['idUsuario'], 'nrOpcao = ?' => $info['nrOpcao']);
                 $tbRespostaDAO = new tbResposta();
                 $resposta = $tdRespostaDAO->buscar($where);
                 if (is_object($resposta) and $resposta->count() > 0) {
                     if ($tbRespostaDAO->delete($where)) {
                         echo json_encode(array('result' => true, 'mensagem' => utf8_encode('Cadastro realizado com sucesso.')));
                     } else {
                         echo json_encode(array('result' => false, 'mensagem' => utf8_encode('Erro excluir ' . $info['nrOpcao'] . '.')));
                     }
                 }
             }
             break;
         case 'tipoCB':
             if (isset($_POST["resposta_{$nrPergunta}"])) {
                 $nrOpcao = $_POST["resposta_{$nrPergunta}"];
             } else {
                 $nrOpcao = "";
             }
             $tbOpcaoRespostaDAO = new tbOpcaoResposta();
             $where = array('nrFormDocumento = ?' => $nrFormDocumento, 'nrVersaoDocumento = ?' => $nrVersaoDocumento, 'nrPergunta = ?' => $nrPergunta, 'nrOpcao = ?' => $nrOpcao);
             $resp = $tbOpcaoRespostaDAO->buscar($where);
             $info = array('idPreProjeto' => $idPreProjeto, 'idUsuario' => $idusuario, 'nrFormDocumento' => $nrFormDocumento, 'nrOpcao' => $nrOpcao, 'nrPergunta' => $nrPergunta, 'nrVersaoDocumento' => $nrVersaoDocumento, 'dsRespostaSubj' => $resp[0]->dsOpcao, 'operacao' => $operacao);
             $this->cadastraAtualizaRespostaQuestoes($info);
             break;
         case 'tipoRB':
             if (isset($_POST["resposta_{$nrPergunta}"])) {
                 $nrOpcao = $_POST["resposta_{$nrPergunta}"];
             } else {
                 $nrOpcao = "";
             }
             $tbOpcaoRespostaDAO = new tbOpcaoResposta();
             $where = array('nrFormDocumento = ?' => $nrFormDocumento, 'nrVersaoDocumento = ?' => $nrVersaoDocumento, 'nrPergunta = ?' => $nrPergunta, 'nrOpcao = ?' => $nrOpcao);
             $resp = $tbOpcaoRespostaDAO->buscar($where);
             $info = array('idPreProjeto' => $idPreProjeto, 'idUsuario' => $idusuario, 'nrFormDocumento' => $nrFormDocumento, 'nrOpcao' => $nrOpcao, 'nrPergunta' => $nrPergunta, 'nrVersaoDocumento' => $nrVersaoDocumento, 'dsRespostaSubj' => $resp[0]->dsOpcao, 'operacao' => $operacao);
             $this->cadastraAtualizaRespostaQuestoes($info);
             break;
         case 'tipoIR':
             if (isset($_POST["resposta_{$nrPergunta}"])) {
                 $nrOpcao = $_POST["resposta_{$nrPergunta}"];
             } else {
                 $nrOpcao = "";
             }
             $dsRespostaSubj = utf8_decode($_POST["resposta_{$nrPergunta}_{$nrOpcao}"]);
             $tbOpcaoRespostaDAO = new tbOpcaoResposta();
             if (empty($dsRespostaSubj)) {
                 $where = array('nrFormDocumento = ?' => $nrFormDocumento, 'nrVersaoDocumento = ?' => $nrVersaoDocumento, 'nrPergunta = ?' => $nrPergunta, 'nrOpcao = ?' => $nrOpcao);
                 $resp = $tbOpcaoRespostaDAO->buscar($where);
                 $dsRespostaSubj = $resp[0]->dsOpcao;
             }
             $info = array('idPreProjeto' => $idPreProjeto, 'idUsuario' => $idusuario, 'nrFormDocumento' => $nrFormDocumento, 'nrOpcao' => $nrOpcao, 'nrPergunta' => $nrPergunta, 'nrVersaoDocumento' => $nrVersaoDocumento, 'dsRespostaSubj' => $dsRespostaSubj, 'operacao' => $operacao);
             $this->cadastraAtualizaRespostaQuestoes($info);
             break;
         case 'ordenar':
             $tbPerguntaFormDoctoDAO = new tbPerguntaFormDocto();
             $data = array('nrOrdemPergunta' => $nrOrdemPergunta);
             $where = array('nrFormDocumento = ?' => $nrFormDocumento, 'nrVersaoDocumento = ?' => $nrVersaoDocumento, 'nrPergunta = ?' => $nrPergunta);
             $retorno = $tbPerguntaFormDoctoDAO->update($data, $where);
             if ($retorno) {
                 echo json_encode(array('result' => true, 'mensagem' => utf8_encode('Ordena??o Salva.')));
             } else {
                 echo json_encode(array('result' => false, 'mensagem' => utf8_encode('Erro Ordenação Perguntas.' . $retorno)));
             }
             break;
             /*case 'ordenarOpcao':
               if($this->dao->alterarPosicaoOpcao($this->questionario))
                   echo json_encode(array('result'=>true,'mensagem'=>utf8_encode('Ordena??o Salva.')));
               else
                   echo json_encode(array('result'=>false,'mensagem'=>utf8_encode('Erro Ordena??o Opcao.')));
               break;*/
         /*case 'ordenarOpcao':
           if($this->dao->alterarPosicaoOpcao($this->questionario))
               echo json_encode(array('result'=>true,'mensagem'=>utf8_encode('Ordena??o Salva.')));
           else
               echo json_encode(array('result'=>false,'mensagem'=>utf8_encode('Erro Ordena??o Opcao.')));
           break;*/
         case 'perguntas':
             $dsPergunta = $get->term;
             $palavras = explode(" ", $dsPergunta);
             $where = array();
             foreach ($palavras as $value) {
                 if (trim($value)) {
                     $where[' dsPergunta like ? '] = '%' . utf8_decode($value) . '%';
                 }
             }
             $tbPerguntaDAO = new tbPergunta();
             $resposta = $tbPerguntaDAO->buscar($where);
             $retorno = array();
             foreach ($resposta as $pergunta) {
                 $retorno[] = utf8_encode($pergunta->dsPergunta);
             }
             echo json_encode($retorno);
             break;
         case 'cadastroPergunta':
             //            	xd($_POST);
             $tbPerguntaDAO = new tbPergunta();
             $tbPerguntaFormDoctoDAO = new tbPerguntaFormDocto();
             $tbOpcaoRespostaDAO = new tbOpcaoResposta();
             $auth = Zend_Auth::getInstance();
             // instancia da autentica??o
             $idusuario = $auth->getIdentity()->usu_codigo;
             $dados = array('stTipoRespPergunta' => $this->stTipoRespPergunta, 'dsPergunta' => $dsPergunta, 'idPessoaCadastro' => $idusuario, 'dtCadastramento' => new Zend_Db_Expr('GETDATE()'));
             $nrPergunta = $tbPerguntaDAO->inserir($dados);
             if ($nrPergunta) {
                 $questao = $tbPerguntaDAO->montarQuestionario($nrFormDocumento, $nrVersaoDocumento);
                 $nrOrdemPergunta = count($questao) + 1;
                 $dados = array('nrFormDocumento' => $nrFormDocumento, 'nrVersaoDocumento' => $nrVersaoDocumento, 'nrPergunta' => $nrPergunta, 'dsLabelPergunta' => $dsLabelPergunta, 'nrOrdemPergunta' => $nrOrdemPergunta);
                 $idPerguntaFormDocto = $tbPerguntaFormDoctoDAO->inserir($dados);
                 if ($idPerguntaFormDocto) {
                     if ($stTipoObjetoPgr == 'TA' or $stTipoObjetoPgr == 'IT' or $stTipoObjetoPgr == 'DT' or $stTipoObjetoPgr == 'NR') {
                         $dsOpcao = '';
                         $dados = array('nrFormDocumento' => $nrFormDocumento, 'nrVersaoDocumento' => $nrVersaoDocumento, 'nrPergunta' => $nrPergunta, 'dsOpcao' => $dsOpcao, 'stTipoObjetoPgr' => $stTipoObjetoPgr);
                         $idOpcaoResposta = $tbOpcaoRespostaDAO->inserir($dados);
                         if ($idOpcaoResposta) {
                             parent::message("Cadastro realizado com sucesso!", "/cadastraredital/propostacustomizavel?nrFormDocumento={$nrFormDocumento}&nrVersaoDocumento={$nrVersaoDocumento}&idEdital={$idEdital}&idUsuario={$idusuario}", "CONFIRM");
                             //                                echo json_encode(array('retorno'=>'INSERIR','mensagem'=>''));
                         } else {
                             echo json_encode(array('retorno' => 'ERRO', 'mensagem' => utf8_encode('Erro cadastro OpcaoResposta TA IT.')));
                         }
                     } else {
                         $validado = true;
                         foreach ($dsOpcaoR as $key => $value) {
                             $dsOpcao = $value;
                             $StTipoObjetoPgrAux = '';
                             if ($stTipoObjetoPgr == 'CK' and isset($justificativa[$key]) and $justificativa[$key] == 1) {
                                 $StTipoObjetoPgrAux = 'IC';
                             }
                             if ($stTipoObjetoPgr == 'RB' and isset($justificativa[$key]) and $justificativa[$key] == 1) {
                                 $StTipoObjetoPgrAux = 'IR';
                             }
                             $dados = array('nrFormDocumento' => $nrFormDocumento, 'nrVersaoDocumento' => $nrVersaoDocumento, 'nrPergunta' => $nrPergunta, 'dsOpcao' => $dsOpcao, 'stTipoObjetoPgr' => $StTipoObjetoPgrAux ? $StTipoObjetoPgrAux : $stTipoObjetoPgr);
                             $idOpcaoResposta = $tbOpcaoRespostaDAO->inserir($dados);
                             if (!$idOpcaoResposta) {
                                 $validado = false;
                             }
                         }
                         if ($validado) {
                             parent::message("Cadastro realizado com sucesso!", "/cadastraredital/propostacustomizavel?nrFormDocumento={$nrFormDocumento}&nrVersaoDocumento={$nrVersaoDocumento}&idEdital={$idEdital}&idUsuario={$idusuario}", "CONFIRM");
                             //                              echo json_encode(array('retorno'=>'INSERIR','mensagem'=>''));
                         } else {
                             echo json_encode(array('retorno' => 'ERRO', 'mensagem' => utf8_encode('Erro cadastro OpcaoResposta CK CB RB.')));
                         }
                     }
                 } else {
                     echo json_encode(array('retorno' => 'ERRO', 'mensagem' => utf8_encode('Erro cadastro perguntaformdocto.')));
                 }
             } else {
                 echo json_encode(array('retorno' => 'ERRO', 'mensagem' => utf8_encode('Erro cadastro pergunta.')));
             }
             break;
         case 'excluirQuestao':
             $where = array('nrFormDocumento = ?' => $nrFormDocumento, 'nrVersaoDocumento = ?' => $nrVersaoDocumento, 'nrPergunta = ?' => $nrPergunta);
             $tbRespostaDAO = new tbResposta();
             $tbOpcaoRespostaDAO = new tbOpcaoResposta();
             $tbPerguntaFormDoctoDAO = new tbPerguntaFormDocto();
             $tbPerguntaDAO = new tbPergunta();
             $tbOpcaoRespostaDAO->delete($where);
             if ($tbPerguntaFormDoctoDAO->delete($where)) {
                 parent::message("Exclusão realizada com sucesso!", "/cadastraredital/propostacustomizavel?nrFormDocumento={$nrFormDocumento}&nrVersaoDocumento={$nrVersaoDocumento}&idEdital={$idEdital}&idUsuario={$idusuario}", "CONFIRM");
             }
             $listaPerguntaFormDocto = $tbPerguntaFormDoctoDAO->buscar($where);
             if (count($listaPerguntaFormDocto) > 0) {
                 foreach ($listaPerguntaFormDocto as $pergunta) {
                     $tbPerguntaDAO->delete(array('nrPergunta = ?' => $pergunta->nrPergunta));
                 }
             }
             break;
         case 'buscarQuestao':
             $where = array('nrFormDocumento = ?' => $nrFormDocumento, 'nrVersaoDocumento = ?' => $nrVersaoDocumento, 'nrPergunta = ?' => $nrPergunta);
             $tbPerguntaDAO = new tbPergunta();
             $questao = $tbPerguntaDAO->montarQuestionario($nrFormDocumento, $nrVersaoDocumento, $nrPergunta);
             $tbOpcaoRespostaDAO = new tbOpcaoResposta();
             $opcoes = $tbOpcaoRespostaDAO->buscar($where, array('nrOrdemOpcao'));
             $stTipoObjetoPgr = 0;
             if (is_object($opcoes)) {
                 $stTipoObjetoPgr = $opcoes[0]->stTipoObjetoPgr;
                 if ($stTipoObjetoPgr == 'IR') {
                     $stTipoObjetoPgr = 'RB';
                 }
                 if ($stTipoObjetoPgr == 'IC') {
                     $stTipoObjetoPgr = 'CK';
                 }
             }
             echo json_encode(array('result' => true, 'nrPergunta' => $questao[0]->nrPergunta, 'dsPergunta' => utf8_encode($questao[0]->dsPergunta), 'dsLabelPergunta' => utf8_encode($questao[0]->dsLabelPergunta), 'stTipoObjetoPgr' => $stTipoObjetoPgr));
             break;
         case 'alterarPergunta':
             $tbPerguntaDAO = new tbPergunta();
             $tbPerguntaFormDoctoDAO = new tbPerguntaFormDocto();
             $tbOpcaoRespostaDAO = new tbOpcaoResposta();
             $dados = array('dsPergunta' => $dsPergunta);
             $where = array('nrPergunta = ?' => $nrPergunta);
             $res = $tbPerguntaDAO->update($dados, $where);
             if ($res) {
                 $dados = array('dsLabelPergunta' => $dsLabelPergunta);
                 $where = array('nrFormDocumento = ?' => $nrFormDocumento, 'nrVersaoDocumento = ?' => $nrVersaoDocumento, 'nrPergunta = ?' => $nrPergunta);
                 $idPerguntaFormDocto = $tbPerguntaFormDoctoDAO->update($dados, $where);
                 if ($idPerguntaFormDocto) {
                     if ($tbOpcaoRespostaDAO->delete($where)) {
                         if ($stTipoObjetoPgr == 'TA' or $stTipoObjetoPgr == 'IT') {
                             $dsOpcao = '';
                             $dados = array('nrFormDocumento' => $nrFormDocumento, 'nrVersaoDocumento' => $nrVersaoDocumento, 'nrPergunta' => $nrPergunta, 'dsOpcao' => $dsOpcao, 'stTipoObjetoPgr' => $stTipoObjetoPgr);
                             $idOpcaoResposta = $tbOpcaoRespostaDAO->inserir($dados);
                             if ($idOpcaoResposta) {
                                 parent::message("Alteração realizado com sucesso!", "/cadastraredital/propostacustomizavel?nrFormDocumento={$nrFormDocumento}&nrVersaoDocumento={$nrVersaoDocumento}&idEdital={$idEdital}&idUsuario={$idusuario}", "CONFIRM");
                                 //                                    echo json_encode(array('retorno'=>'ALTERAR','mensagem'=>''));
                             } else {
                                 echo json_encode(array('retorno' => 'ERRO', 'mensagem' => utf8_encode('Erro cadastro OpcaoResposta TA IT.')));
                             }
                         } else {
                             $validado = true;
                             foreach ($dsOpcaoR as $key => $value) {
                                 $dsOpcao = $value;
                                 $StTipoObjetoPgrAux = '';
                                 if ($stTipoObjetoPgr == 'CK' and isset($justificativa[$key]) and $justificativa[$key] == 1) {
                                     $StTipoObjetoPgrAux = 'IC';
                                 }
                                 if ($stTipoObjetoPgr == 'RB' and isset($justificativa[$key]) and $justificativa[$key] == 1) {
                                     $StTipoObjetoPgrAux = 'IR';
                                 }
                                 $dados = array('nrFormDocumento' => $nrFormDocumento, 'nrVersaoDocumento' => $nrVersaoDocumento, 'nrPergunta' => $nrPergunta, 'dsOpcao' => $dsOpcao, 'stTipoObjetoPgr' => $StTipoObjetoPgrAux ? $StTipoObjetoPgrAux : $stTipoObjetoPgr);
                                 $idOpcaoResposta = $tbOpcaoRespostaDAO->inserir($dados);
                                 if (!$idOpcaoResposta) {
                                     $validado = false;
                                 }
                             }
                             if ($validado) {
                                 parent::message("Alteração realizado com sucesso!", "/cadastraredital/propostacustomizavel?nrFormDocumento={$nrFormDocumento}&nrVersaoDocumento={$nrVersaoDocumento}&idEdital={$idEdital}&idUsuario={$idusuario}", "CONFIRM");
                                 //                                    echo json_encode(array('retorno'=>'ALTERAR','mensagem'=>''));
                             } else {
                                 echo json_encode(array('retorno' => 'ERRO', 'mensagem' => utf8_encode('Erro cadastro OpcaoResposta CK CB RB.')));
                             }
                         }
                     } else {
                         echo json_encode(array('retorno' => 'ERRO', 'mensagem' => utf8_encode('Erro excluir alterar OpcaoResposta.')));
                     }
                 } else {
                     echo json_encode(array('retorno' => 'ERRO', 'mensagem' => utf8_encode('Erro alterar perguntaformdocto.')));
                 }
             } else {
                 echo json_encode(array('retorno' => 'ERRO', 'mensagem' => utf8_encode('Erro alterar pergunta.')));
             }
             break;
     }
 }