public function confirmarEnvioPropostaAoMincAction()
 {
     /* =============================================================================== */
     /* ==== VERIFICA PERMISSAO DE ACESSO DO PROPONENTE A PROPOSTA OU AO PROJETO ====== */
     /* =============================================================================== */
     $this->verificarPermissaoAcesso(true, false, false);
     //recupera parametros
     $get = Zend_Registry::get('get');
     $idPreProjeto = $get->idPreProjeto;
     $valida = $get->valida;
     $idTecnico = null;
     $rsTecnicos = array();
     if (isset($_REQUEST['edital'])) {
         $edital = "&edital=s";
     } else {
         $edital = "";
     }
     if (!empty($idPreProjeto) && $valida == "s") {
         $tblPreProjeto = new PreProjeto();
         $tblAvaliacao = new AnalisarPropostaDAO();
         //recupera dados do projeto
         $rsPreProjeto = $tblPreProjeto->find($idPreProjeto)->current();
         if ($rsPreProjeto->AreaAbrangencia == 0) {
             $idOrgaoSuperior = 262;
         } else {
             $idOrgaoSuperior = 171;
         }
         //verifica se a proposta ja foi recebida por um tecnico
         $avaliacao = $tblAvaliacao->verificarAvaliacao($idPreProjeto);
         //SE A PROPOSTA JA FOI AVALIADA POR UM TECNICO E O MESMO ESTIVER ATIVO, ATRIBUI A AVALIACAO A ELE
         if (count($avaliacao) > 0) {
             if ($avaliacao[0]->ConformidadeOK == 0 || $avaliacao[0]->ConformidadeOK == 1) {
                 //verifica se o tecnico esta habilitado
                 $arrBusca = array();
                 $arrBusca['sis_codigo = '] = 21;
                 $arrBusca['gru_codigo = '] = 92;
                 $arrBusca['usu_codigo = '] = $avaliacao[0]->idTecnico;
                 $analista = AdmissibilidadeDAO::buscarAnalistas($arrBusca);
                 if (count($analista) > 0) {
                     if ($analista[0]->uog_status == 1) {
                         $idTecnico = $avaliacao[0]->idTecnico;
                     } else {
                         $idTecnico = null;
                         //recupera todos os tecnicos do orgao para fazer o balanceamento
                         $rsTecnicos = $tblPreProjeto->recuperarTecnicosOrgao($idOrgaoSuperior);
                     }
                 } else {
                     $idTecnico = null;
                     //recupera todos os tecnicos do orgao para fazer o balanceamento
                     $rsTecnicos = $tblPreProjeto->recuperarTecnicosOrgao($idOrgaoSuperior);
                 }
             }
         } else {
             //recupera todos os tecnicos do orgao para fazer o balanceamento
             $rsTecnicos = $tblPreProjeto->recuperarTecnicosOrgao($idOrgaoSuperior);
         }
         //SE A PROPOSTA NUNCA FOI AVALIADA OU SE O TECNICO Q A AVALIOU ESTA DESABILITADO FAZ O BALANCEAMENTO
         if (count($rsTecnicos) > 0 && $idTecnico == null) {
             $arrTecnicosPropostas = array();
             foreach ($rsTecnicos as $tecnico) {
                 $rsAvaliacaoPorTecnico = $tblAvaliacao->recuperarQtdePropostaTecnicoOrgao($tecnico->uog_orgao, $tecnico->usu_codigo);
                 $arrTecnicosPropostas[$tecnico->usu_codigo] = $rsAvaliacaoPorTecnico[0]->qtdePropostas;
             }
             asort($arrTecnicosPropostas);
             //PEGA O ID DO TECNICO Q TEM MENOS PROPOSTAS
             $ct = 1;
             foreach ($arrTecnicosPropostas as $chave => $valor) {
                 if ($ct == 1) {
                     $idTecnico = $chave;
                     $ct++;
                 } else {
                     break;
                 }
             }
         }
         //INICIA PERSISTENCIA DOS DADOS
         if ($idTecnico) {
             //                $db = Zend_Db_Table::getDefaultAdapter();
             //                $db->beginTransaction();
             try {
                 //======== PERSXISTE DADOS DA MOVIMENTACAO ==========/
                 //atualiza status da ultima movimentacao
                 $tblAvaliacao->updateEstadoMovimentacao($idPreProjeto);
                 //PERSISTE DADOS DA MOVIMENTACAO
                 $tblMovimentacao = new Movimentacao();
                 $dados = array("idProjeto" => $idPreProjeto, "Movimentacao" => "96", "DtMovimentacao" => date("Y/m/d H:i:s"), "stEstado" => "0", "Usuario" => $this->idResponsavel);
                 $tblMovimentacao->salvar($dados);
                 //======== PERSXISTE DADOS DA AVALIACAO ==========/
                 //atualiza status da ultima avaliacao
                 //$tblAvaliacao->updateEstadoAvaliacao($idPreProjeto); //COMENTANDO CODIGO PARA DEIXAR SP (SAC..tbMovimentacao.trMovimentacao_Insert) TRABALHAR
                 $dados = array();
                 $dados['idPreProjeto'] = $idPreProjeto;
                 $dados['idTecnico'] = $idTecnico;
                 //$this->idResponsavel;
                 $dados['dtEnvio'] = "'" . date("Y/m/d H:i:s") . "'";
                 $dados['dtAvaliacao'] = "'" . date("Y/m/d H:i:s") . "'";
                 $dados['avaliacao'] = "";
                 $dados['conformidade'] = 9;
                 $dados['estado'] = 0;
                 //PERSISTE DADOS DA AVALIACAO PROPOSTA
                 //$tblAvaliacao->inserirAvaliacao($dados); //COMENTANDO CODIGO PARA DEIXAR SP (SAC..tbMovimentacao.trMovimentacao_Insert) TRABALHAR
                 //                    $db->commit();
                 parent::message("A Proposta foi enviado com sucesso ao Ministério da Cultura!", "/manterpropostaincentivofiscal/enviar-proposta-ao-minc?idPreProjeto=" . $idPreProjeto . $edital, "CONFIRM");
                 die;
             } catch (Exception $e) {
                 //                    $db->rollback();
                 // xd($e->getMessage());
                 parent::message("A Proposta não foi enviado ao Ministério da Cultura.", "/manterpropostaincentivofiscal/enviar-proposta-ao-minc?idPreProjeto=" . $idPreProjeto . $edital, "ERROR");
                 die;
             }
         } else {
             //fecha IF se encontrou tecnicos para enviar a proposta
             parent::message("A Proposta não foi enviado ao Ministério da Cultura.", "/manterpropostaincentivofiscal/enviar-proposta-ao-minc?idPreProjeto=" . $idPreProjeto . $edital, "ERROR");
             die;
         }
     } else {
         //xd($e->getMessage());
         parent::message("A Proposta não foi enviado ao Ministério da Cultura.", "/manterpropostaincentivofiscal/enviar-proposta-ao-minc?idPreProjeto=" . $idPreProjeto . $edital, "ERROR");
     }
 }
 public function inserirdadospropostaeditalAction()
 {
     $array = array('mensagem' => '');
     if ($_REQUEST['idAgente'] && $_REQUEST['idEdital'] && $_REQUEST['nomeProjeto'] && $_REQUEST['resumoProjeto']) {
         try {
             if (strlen(trim($_REQUEST['resumoProjeto'])) > 1000) {
                 $array['mensagem'] = 'Quantidade de caracteres maior que o permitido. Limite: 1000 caracteres.';
                 $array['tpmensagem'] = 'msgERROR';
                 $this->_redirect('/manterpropostaedital/dadospropostaedital?idPreProjeto=' . $_REQUEST['idPreProjeto'] . '&idAgente=' . $_REQUEST['idAgente'] . '&idEdital=' . $_REQUEST['idEdital'] . '&mensagem=' . $array['mensagem'] . '&tpmensagem=' . $array['tpmensagem']);
             }
             $array = array();
             $array['Mecanismo'] = 2;
             // Adicionado, Edital deve ser Mecanismo 2
             $array['idAgente'] = $_REQUEST['idAgente'];
             $array['idEdital'] = $_REQUEST['idEdital'];
             $array['AgenciaBancaria'] = $_REQUEST['agencia'];
             $datainicio = explode('/', $_REQUEST['dtIniExec']);
             $array['DtInicioDeExecucao'] = $datainicio['2'] . '-' . $datainicio['1'] . '-' . $datainicio['0'];
             $datafim = explode('/', $_REQUEST['dtFimExec']);
             $array['DtFinalDeExecucao'] = $datafim['2'] . '-' . $datafim['1'] . '-' . $datafim['0'];
             $array['NomeProjeto'] = TratarString::escapeString($_REQUEST['nomeProjeto']);
             $array['stTipoDemanda'] = 'ED';
             $array['ResumoDoProjeto'] = trim(TratarString::escapeString($_REQUEST['resumoProjeto']));
             // Salvar o responsável
             $array['idUsuario'] = $this->idResponsavel;
             if (isset($_REQUEST['idPreProjeto'])) {
                 $array['idPreProjeto'] = $_REQUEST['idPreProjeto'];
                 $dados = ManterpropostaeditalDAO::alterarDadosProposta($array);
                 $array['mensagem'] = 'Alteração realizada com sucesso!';
                 $array['tpmensagem'] = 'msgCONFIRM';
                 $array['mensagem'] = htmlspecialchars($array['mensagem']);
                 parent::message("Alteração realizada com sucesso!", "/manterpropostaedital/dadospropostaedital?idPreProjeto=" . $array['idPreProjeto'], "CONFIRM");
             } else {
                 $dados = ManterpropostaeditalDAO::inserirProposta($array);
                 $array['idPreProjeto'] = $dados;
                 $tblMovimentacao = new Movimentacao();
                 $dados = array("idProjeto" => $array['idPreProjeto'], "Movimentacao" => "95", "DtMovimentacao" => date("Y/m/d H:i:s"), "stEstado" => "0", "Usuario" => $this->idUsuario);
                 //$this->view->usuario->usu_codigo;
                 $tblMovimentacao->salvar($dados);
                 /*******************************************************************************************/
                 // Salvando os dados na TbVinculoProposta
                 $tbVinculoDAO = new TbVinculo();
                 $tbVinculoPropostaDAO = new tbVinculoPropostaResponsavelProjeto();
                 $whereVinculo['idUsuarioResponsavel = ?'] = $this->idResponsavel;
                 $whereVinculo['idAgenteProponente   = ?'] = $_REQUEST['idAgente'];
                 $vinculo = $tbVinculoDAO->buscar($whereVinculo);
                 if (count($vinculo) == 0) {
                     $dadosV = array('idAgenteProponente' => $_REQUEST['idAgente'], 'dtVinculo' => new Zend_Db_Expr("GETDATE()"), 'siVinculo' => 2, 'idUsuarioResponsavel' => $this->idResponsavel);
                     $insere = $tbVinculoDAO->inserir($dadosV);
                 }
                 $vinculo2 = $tbVinculoDAO->buscar($whereVinculo);
                 if (count($vinculo2) > 0) {
                     $novosDadosV = array('idVinculo' => $idVinculo = $vinculo2[0]->idVinculo, 'idPreProjeto' => $array['idPreProjeto'], 'siVinculoProposta' => 2);
                     $insere = $tbVinculoPropostaDAO->inserir($novosDadosV, false);
                 }
                 /*******************************************************************************************/
                 $array['mensagem'] = 'Cadastro realizado com sucesso!';
                 $array['tpmensagem'] = 'msgCONFIRM';
             }
         } catch (Zend_Exception $ex) {
             parent::message("Não foi possível realizar a operação!", "/manterpropostaincentivofiscal/listar-propostas", "ERROR");
         }
     } else {
         $array['mensagem'] = 'Dados incorretos.';
         $array['tpmensagem'] = 'Erro!';
     }
     $this->_redirect('/manterpropostaedital/dadospropostaedital?idPreProjeto=' . $array['idPreProjeto'] . '&mensagem=' . $array['mensagem'] . '&tpmensagem=' . $array['tpmensagem']);
 }