public function despacharprojAction() { $auth = Zend_Auth::getInstance(); // instancia da autenticação $idusuario = $this->getIdUsuario; $GrupoAtivo = new Zend_Session_Namespace('GrupoAtivo'); // cria a sessão com o grupo ativo $codGrupo = $GrupoAtivo->codGrupo; // Grupo ativo na sessão $codOrgao = $GrupoAtivo->codOrgao; // Órgão ativo na sessão $destino = TramitarprojetosDAO::pesquisarDestinos(1); $this->view->Destino = $destino; $todosDestinos = TramitarprojetosDAO::pesquisarTodosDestinos(); $this->view->TodosDestinos = $todosDestinos; $despacho = TramitarprojetosDAO::projetosDespachados(1, 4); $this->view->Despacho = $despacho; $db = Zend_Registry::get('db'); if (isset($_POST)) { if ($_POST['projeto']) { try { //Código novo - Jefferson //VERIFICAR A EXISTENCIA DO PROJETO $Projetos = new Projetos(); $dadosProjeto = $Projetos->buscarIdPronac($_POST['pronac']); if (empty($dadosProjeto)) { parent::message("Projeto inexistente.", "tramitarprojetos/despacharprojetos", "ALERT"); } //CHECAR SE HÁ DOCUMENTO SEM ANEXACAO PARA O PROJETO $whereHistorio = array(); $whereHistorio['idPronac = ?'] = $dadosProjeto->IdPRONAC; $whereHistorio['idDocumento != ?'] = 0; $whereHistorio['Acao < ?'] = 4; $whereHistorio['stEstado = ?'] = 1; $tbHistoricoDocumento = new tbHistoricoDocumento(); $dadosTbHistorico = $tbHistoricoDocumento->buscar($whereHistorio); if (count($dadosTbHistorico) > 0) { parent::message("O projeto não pode ser despachado, porque existe documento a ser juntado antes da sua tramitação para outra unidade.", "tramitarprojetos/despacharprojetos", "ALERT"); } //CHECAR SE O PROJETO NAO ESTA DESPACHADO PARA OUTRA UNIDADE $whereHistorio = array(); $whereHistorio['idPronac = ?'] = $dadosProjeto->IdPRONAC; $whereHistorio['idDocumento = ?'] = 0; $whereHistorio['Acao < ?'] = 3; $whereHistorio['stEstado = ?'] = 1; $dadosTbHistorico = $tbHistoricoDocumento->buscar($whereHistorio); if (count($dadosTbHistorico) > 0) { parent::message("O projeto não pode ser despachado novamente, transação cancelada.", "tramitarprojetos/despacharprojetos", "ALERT"); } //SE EXISTIR ALGUM REGISTRO ATIVO, ELE TRANSFORMA PARA HISTORICO $whereHistorio = array(); $whereHistorio['idPronac = ?'] = $dadosProjeto->IdPRONAC; $whereHistorio['idDocumento = ?'] = 0; $whereHistorio['stEstado = ?'] = 1; $atualizaHistorico = $tbHistoricoDocumento->buscar($whereHistorio); foreach ($atualizaHistorico as $a) { $dadosAlteracao = array(); $dadosAlteracao['stEstado'] = 0; $whereAlteracao = "idHistorico = {$a->idHistorico}"; $atualizaHistorico = $tbHistoricoDocumento->alterar($dadosAlteracao, $whereAlteracao); } //CADASTRA UM REGISTRO DE TRAMITACAO $dados = array('idPronac' => $dadosProjeto->IdPRONAC, 'idDocumento' => 0, 'idOrigem' => $codOrgao, 'idUnidade' => $_POST['idunidade'], 'dtTramitacaoEnvio' => new Zend_Db_Expr('GETDATE()'), 'idUsuarioEmissor' => $idusuario, 'meDespacho' => $_POST['despacho'], 'Acao' => 1, 'stEstado' => 1); if ($codOrgao == $_POST['idunidade']) { parent::message("O projeto não pode ser despachado para sua própria unidade.", "tramitarprojetos/despacharprojetos", "ALERT"); } else { $tbHistoricoDocumento->inserir($dados); } parent::message("Cadastro realizado com sucesso!", "tramitarprojetos/despacharprojetos", "CONFIRM"); } catch (Exception $e) { parent::message("Error: " . $e->getMessage(), "gerenciarpareceres/index", "ERROR"); die($e->getMessage()); } } } }