public function propostaPorProponenteAction() { $get = Zend_Registry::get("get"); $idAgente = $get->agente; $tblProposta = new Proposta(); $rsPropostas = $tblProposta->buscar(array("idagente = ?" => $idAgente), array("nomeprojeto ASC")); //Descobrindo os dados do Agente/Proponente $tblAgente = new Nome(); $rsAgente = $tblAgente->buscar(array("idAgente = ? " => $idAgente))->current(); //Descobrindo a movimentação corrente de cada proposta if (count($rsPropostas) > 0) { //Conectando com movimentacao $tblMovimentacao = new Movimentacao(); //Conectando com projetos $tblProjetos = new Projetos(); $movimentacoes = array(); foreach ($rsPropostas as $proposta) { //Buscando movimentação desta proposta $rsMovimentacao = $tblMovimentacao->buscar(array("idprojeto = ?" => $proposta->idPreProjeto, "stestado = ?" => 0))->current(); //Descobrindo se esta proposta ja existe em projetos $rsProjeto = $tblProjetos->buscar(array("idprojeto = ?" => $proposta->idPreProjeto)); //Descobrindo tecnico $tecnico = $tblProposta->buscarConformidadeVisualTecnico($proposta->idPreProjeto); $movimentacoes[$proposta->idPreProjeto]["codMovimentacao"] = $rsMovimentacao->Movimentacao; if ($rsMovimentacao->Movimentacao == 96) { $movimentacoes[$proposta->idPreProjeto]["txtMovimentacao"] = "<font color=#0000FF>" . $rsAgente->Descricao . "</font>"; //elseif ($tecnico[0]['tecnico'] == 96 and (!count($tecnico)>0)) //Antigo, que eu acho que estava errado if (!count($tecnico) > 0) { $movimentacoes[$proposta->idPreProjeto]["txtMovimentacao"] = "<font color=#FF0000>" . 'Proposta em Análise' . "</font>"; } } elseif ($rsMovimentacao->Movimentacao == 97 and !count($rsProjeto) > 0) { $movimentacoes[$proposta->idPreProjeto]["txtMovimentacao"] = "<font color=#FF0000>" . 'Proposta aguardando documentos' . "</font>"; } elseif (count($rsProjeto) > 0) { $movimentacoes[$proposta->idPreProjeto]["txtMovimentacao"] = "<font color=#FF0000>" . 'Proposta transformada em projeto' . "</font>"; } else { $tblUsuario = new Usuario(); $rsUsuario = $tblUsuario->find($rsMovimentacao->Usuario)->current(); $movimentacoes[$proposta->idPreProjeto]["txtMovimentacao"] = "Proposta com o Analista"; if (count($rsUsuario) > 0) { $movimentacoes[$proposta->idPreProjeto]["txtMovimentacao"] .= " (<font color=blue>" . $rsUsuario->usu_nome . "</font>)"; } } } } $arrDados = array("propostas" => $rsPropostas, "agente" => $rsAgente, "movimentacoes" => $movimentacoes); $this->montaTela("admissibilidade/listarpropostasproponente.phtml", $arrDados); }
/** * Reescreve o método init() * @access public * @param void * @return void */ public function init() { $auth = Zend_Auth::getInstance(); // pega a autenticação $GrupoAtivo = new Zend_Session_Namespace('GrupoAtivo'); // verifica as permissoes $PermissoesGrupo = array(); $PermissoesGrupo[] = 97; // Gestor do SALIC $PermissoesGrupo[] = 93; // Coordenador de Parecerista $PermissoesGrupo[] = 94; // Parecerista $PermissoesGrupo[] = 121; // Tecnico $PermissoesGrupo[] = 122; // Coordenador de Acompanhamento if (isset($auth->getIdentity()->usu_codigo)) { parent::perfil(1, $PermissoesGrupo); } else { parent::perfil(4, $PermissoesGrupo); } /* * ****************************************************************************************************** */ $cpf = isset($auth->getIdentity()->usu_codigo) ? $auth->getIdentity()->usu_identificacao : $auth->getIdentity()->Cpf; // Busca na SGCAcesso $sgcAcesso = new Sgcacesso(); $buscaAcesso = $sgcAcesso->buscar(array('Cpf = ?' => $cpf)); // Busca na Usuarios $usuarioDAO = new Usuario(); $buscaUsuario = $usuarioDAO->buscar(array('usu_identificacao = ?' => $cpf)); // Busca na Agentes $agentesDAO = new Agentes(); $buscaAgente = $agentesDAO->BuscaAgente($cpf); if (count($buscaAcesso) > 0) { $this->idResponsavel = $buscaAcesso[0]->IdUsuario; } if (count($buscaAgente) > 0) { $this->idAgente = $buscaAgente[0]->idAgente; } if (count($buscaUsuario) > 0) { $this->idUsuario = $buscaUsuario[0]->usu_codigo; } if ($this->idAgente != 0) { $this->usuarioProponente = "S"; } /* * ****************************************************************************************************** */ $this->cpfLogado = $cpf; $this->idAgenteProponente = $this->idAgente; $this->usuario = isset($auth->getIdentity()->usu_codigo) ? 'func' : 'prop'; $this->view->usuarioLogado = isset($auth->getIdentity()->usu_codigo) ? 'func' : 'prop'; $this->view->usuarioProponente = $this->usuarioProponente; parent::init(); //recupera ID do pre projeto (proposta) if (!empty($_REQUEST['idPreProjeto'])) { $this->idPreProjeto = $_REQUEST['idPreProjeto']; //VERIFICA SE A PROPOSTA ESTA COM O MINC $Movimentacao = new Movimentacao(); $rsStatusAtual = $Movimentacao->buscarStatusAtualProposta($this->idPreProjeto); $this->view->movimentacaoAtual = isset($rsStatusAtual->Movimentacao) ? $rsStatusAtual->Movimentacao : ''; //VERIFICA SE A PROPOSTA FOI ENVIADA AO MINC ALGUMA VEZ $arrbusca = array(); $arrbusca['idProjeto = ?'] = $this->idPreProjeto; $arrbusca['Movimentacao = ?'] = '96'; $rsHistMov = $Movimentacao->buscar($arrbusca); $this->view->blnJaEnviadaAoMinc = $rsHistMov->count(); //VERIFICA SE A PROPOSTA TEM DILIGENCIAS $PreProjeto = new PreProjeto(); $rsDiligencias = $PreProjeto->listarDiligenciasPreProjeto(array('pre.idPreProjeto = ?' => $this->idPreProjeto)); $this->view->blnPossuiDiligencias = $rsDiligencias->count(); } }
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(); $idOrgaoSuperior = null; 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(); // Recuperando edital $tblEdital = new Edital(); $rsEdital = $tblEdital->buscar(array("idEdital = ?" => $rsPreProjeto->idEdital))->current(); $idOrgaoSuperior = $rsEdital->idOrgao; //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 { $idTecnico = $avaliacao[0]->idTecnico; } } 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); $tblMovimentacao = new Movimentacao(); //Mudando as movimentacoes anteriores para o stEstado = 1 $rsRetorno = $tblMovimentacao->update(array("stEstado" => 1), "idProjeto = {$idPreProjeto}"); //Pegando ultima movimentacao $rsMov = $tblMovimentacao->buscar(array("idProjeto = ?" => $idPreProjeto), array("idMovimentacao DESC"), 1, 0)->current(); if (count($rsMov) > 0) { $ultimaMovimentacao = $rsMov->Movimentacao; //xd($ultimaMovimentacao); //Pegando penultima movimentacao $rsMov = $tblMovimentacao->buscar(array("idProjeto = ?" => $idPreProjeto, "Movimentacao <> ?" => $ultimaMovimentacao), array("idMovimentacao DESC"), 1, 0)->current(); //xd($rsMov->toArray()); $movimentacaoDestino = 96; if (count($rsMov) > 0) { $movimentacaoDestino = $rsMov->Movimentacao; } //xd($movimentacaoDestino); } else { $movimentacaoDestino = 96; } //PERSISTE DADOS DA MOVIMENTACAO $tblMovimentacao = new Movimentacao(); $dados = array("idProjeto" => $idPreProjeto, "Movimentacao" => $movimentacaoDestino, "DtMovimentacao" => new Zend_Db_Expr('GETDATE()'), "stEstado" => "0", "Usuario" => $this->idUsuario); $tblMovimentacao->inserir($dados); //======== PERSXISTE DADOS DA AVALIACAO ==========/ //atualiza status da ultima avaliacao $tblAvaliacao->updateEstadoAvaliacao($idPreProjeto); $dados = array(); $dados['idPreProjeto'] = $idPreProjeto; $dados['idTecnico'] = $idTecnico; //$this->idUsuario; $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); // //REMOVER AS PENDENCIAS DE DOCUMENTO // $tblDocAnexados = new tbDocumentosPreProjeto(); // $rsDocsAnexados = $tblDocAnexados->buscar(array("idProjeto = ?"=>$idPreProjeto)); // $tblDocumentosPendentesProjeto = new DocumentosProjeto(); // $tblDocumentosPendentesProponente = new DocumentosProponente(); // //xd($rsDocsAnexados); // foreach($rsDocsAnexados as $anexo){ // $tblDocumentosPendentesProjeto->delete("idProjeto = {$idPreProjeto} AND CodigoDocumento = {$anexo->CodigoDocumento}"); // $tblDocumentosPendentesProponente->delete("idProjeto = {$idPreProjeto} AND CodigoDocumento = {$anexo->CodigoDocumento}"); // } //$db->commit(); parent::message("A Proposta foi enviado com sucesso ao Ministério da Cultura!", "/manterpropostaedital/enviar-proposta-ao-minc?idPreProjeto=" . $idPreProjeto . $edital, "CONFIRM"); die; } catch (Exception $e) { //$db->rollback(); //xd($e->getMessage()); parent::message("O Projeto não foi enviado ao Ministério da Cultura!", "/manterpropostaedital/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. Técnico não localizado", "/manterpropostaedital/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.", "/manterpropostaedital/enviar-proposta-ao-minc?idPreProjeto=" . $idPreProjeto . $edital, "ERROR"); } }
/** * Reescreve o metodo init() * @access public * @param void * @return void */ public function init() { $auth = Zend_Auth::getInstance(); // instancia da autenticação $PermissoesGrupo = array(); //Da permissao de acesso a todos os grupos do usuario logado afim de atender o UC75 if (isset($auth->getIdentity()->usu_codigo)) { //Recupera todos os grupos do Usuario $Usuario = new Usuario(); // objeto usuário $grupos = $Usuario->buscarUnidades($auth->getIdentity()->usu_codigo, 21); foreach ($grupos as $grupo) { $PermissoesGrupo[] = $grupo->gru_codigo; } } isset($auth->getIdentity()->usu_codigo) ? parent::perfil(1, $PermissoesGrupo) : parent::perfil(4, $PermissoesGrupo); $this->usuarioLogado = isset($auth->getIdentity()->usu_codigo) ? $auth->getIdentity()->usu_codigo : $auth->getIdentity()->IdUsuario; parent::init(); //recupera ID do pre projeto (proposta) if (!empty($_REQUEST['idPreProjeto'])) { $this->idPreProjeto = $_REQUEST['idPreProjeto']; //VERIFICA SE A PROPOSTA ESTA COM O MINC $Movimentacao = new Movimentacao(); $rsStatusAtual = $Movimentacao->buscarStatusAtualProposta($_REQUEST['idPreProjeto']); $this->view->movimentacaoAtual = isset($rsStatusAtual->Movimentacao) ? $rsStatusAtual->Movimentacao : ''; } else { //xd($_REQUEST['idPreProjeto']); if ($_REQUEST['idPreProjeto'] != '0') { parent::message("Necessário informar o número da proposta.", "/manterpropostaincentivofiscal/index", "ERROR"); } } $auth = Zend_Auth::getInstance(); // instancia da autenticação $this->idUsuario = isset($auth->getIdentity()->usu_codigo) ? $auth->getIdentity()->usu_codigo : $auth->getIdentity()->IdUsuario; //******************************************* //VALIDA ITENS DO MENU (Documento pendentes) //******************************************* $get = Zend_Registry::get("get"); $this->view->documentosPendentes = AnalisarPropostaDAO::buscarDocumentoPendente($get->idPreProjeto); if (!empty($this->view->documentosPendentes)) { $verificarmenu = 1; $this->view->verificarmenu = $verificarmenu; } else { $verificarmenu = 0; $this->view->verificarmenu = $verificarmenu; } //(Enviar Proposta ao MinC , Excluir Proposta) $mov = new Movimentacao(); $movBuscar = $mov->buscar(array('idProjeto = ?' => $get->idPreProjeto), array('idMovimentacao desc'), 1, 0)->current(); if (isset($movBuscar->Movimentacao) && $movBuscar->Movimentacao != 95) { $enviado = 'true'; $this->view->enviado = $enviado; } else { $enviado = 'false'; $this->view->enviado = $enviado; } //***************** //FIM DA VALIDAÇ?O //***************** /* =============================================================================== */ /* ==== VERIFICA PERMISSAO DE ACESSO DO PROPONENTE A PROPOSTA OU AO PROJETO ====== */ /* =============================================================================== */ $this->verificarPermissaoAcesso(true, false, false); }
public function propostaPorProponenteAction() { $get = Zend_Registry::get("get"); $idAgente = $get->agente; $tblProposta = new Proposta(); $rsPropostas = $tblProposta->buscar(array("idagente = ?" => $idAgente), array("nomeprojeto ASC")); //Descobrindo os dados do Agente/Proponente $tblAgente = new Nomes(); $rsAgente = $tblAgente->buscar(array("idAgente = ? " => $idAgente))->current(); //Descobrindo a movimentação corrente de cada proposta if (count($rsPropostas) > 0) { //Conectando com movimentacao $tblMovimentacao = new Movimentacao(); //Conectando com projetos $tblProjetos = new Projetos(); $tbAvaliacao = new AvaliacaoProposta(); $tblUsuario = new Usuario(); $movimentacoes = array(); foreach ($rsPropostas as $proposta) { //Buscando movimentação desta proposta $rsMovimentacao = $tblMovimentacao->buscar(array("idprojeto = ?" => $proposta->idPreProjeto, "stestado = ?" => 0))->current(); $movimentacoes[$proposta->idPreProjeto]["tecnico"] = ""; if (count($rsMovimentacao)) { //Descobrindo se esta proposta ja existe em projetos $rsProjeto = $tblProjetos->buscar(array("idprojeto = ?" => $proposta->idPreProjeto)); //Descobrindo tecnico $tecnico = $tblProposta->buscarConformidadeVisualTecnico($proposta->idPreProjeto); $movimentacoes[$proposta->idPreProjeto]["codMovimentacao"] = $rsMovimentacao->Movimentacao; if ($rsMovimentacao->Movimentacao == 95) { $movimentacoes[$proposta->idPreProjeto]["txtMovimentacao"] = "<font color=#0000FF>Proposta com Proponente</font>"; } elseif ($rsMovimentacao->Movimentacao == 96) { $movimentacoes[$proposta->idPreProjeto]["txtMovimentacao"] = "<font color=#FF0000>" . 'Proposta em Análise' . "</font>"; $rsAvaliacao = $tbAvaliacao->buscar(array("idProjeto = ?" => $proposta->idPreProjeto, "ConformidadeOK =?" => 9, "stEstado =?" => 0))->current(); if (count($rsAvaliacao) > 0) { $rsUsuario = $tblUsuario->find($rsAvaliacao->idTecnico)->current(); if (count($rsUsuario) > 0) { $usuarioNome = $rsUsuario->usu_nome; $movimentacoes[$proposta->idPreProjeto]["tecnico"] = $usuarioNome; } } //$movimentacoes[$proposta->idPreProjeto]["txtMovimentacao"] = "<font color=#0000FF>Proposta com Proponente</font>"; /*if (!count($tecnico)>0) { $movimentacoes[$proposta->idPreProjeto]["txtMovimentacao"] = "<font color=#FF0000>" . 'Proposta em Análise' . "</font>"; }*/ } elseif ($rsMovimentacao->Movimentacao == 97 and !count($rsProjeto) > 0) { $movimentacoes[$proposta->idPreProjeto]["txtMovimentacao"] = "<font color=#FF0000>" . 'Proposta aguardando documentos' . "</font>"; } elseif (count($rsProjeto) > 0) { $rsAvaliacao = $tbAvaliacao->buscar(array("idProjeto = ?" => $proposta->idPreProjeto, "ConformidadeOK =?" => 1, "stEstado =?" => 0))->current(); $rsUsuario = $tblUsuario->find($rsAvaliacao->idTecnico)->current(); $movimentacoes[$proposta->idPreProjeto]["txtMovimentacao"] = "<font color=#FF0000>" . 'Proposta transformada em projeto' . "</font>"; if (count($rsUsuario) > 0) { $movimentacoes[$proposta->idPreProjeto]["tecnico"] = $rsUsuario->usu_nome; } } else { $usuarioNome = ""; $tipoUsuario = ""; $rsUsuario = null; /*$rsUsuario = $tblUsuario->find($rsMovimentacao->Usuario)->current(); // Verificando se usuario e um coordenador if(!empty($rsUsuario)>0){ if($tblUsuario->ECoordenador($rsUsuario->usu_codigo)){ $tipoUsuario = "Coordenador"; }else{ $tipoUsuario = "Analista"; } $usuarioNome = $rsUsuario->usu_nome; }*/ $rsAvaliacao = $tbAvaliacao->buscar(array("idProjeto = ?" => $proposta->idPreProjeto, "ConformidadeOK =?" => 1, "stEstado =?" => 0))->current(); if ($rsAvaliacao) { $rsUsuario = $tblUsuario->find($rsAvaliacao->idTecnico)->current(); } if ($rsMovimentacao->Movimentacao == 127) { $tipoUsuario = "Coordenador"; } else { $tipoUsuario = "Analista"; } if (count($rsUsuario) > 0) { $usuarioNome = $rsUsuario->usu_nome; } $movimentacoes[$proposta->idPreProjeto]["txtMovimentacao"] = "Proposta com o {$tipoUsuario}"; $movimentacoes[$proposta->idPreProjeto]["tecnico"] = $usuarioNome; } } else { $movimentacoes[$proposta->idPreProjeto]["txtMovimentacao"] = ""; } } } $arrDados = array("propostas" => $rsPropostas, "agente" => $rsAgente, "movimentacoes" => $movimentacoes); $this->montaTela("admissibilidade/listarpropostasproponente.phtml", $arrDados); }
private function desabilitaQuestoes() { $auth = Zend_Auth::getInstance(); $this->stSomenteLeitura = 'S'; $stSomenteLeituraAux = $this->_request->getParam('stSomenteLeitura'); if ($stSomenteLeituraAux != $this->stSomenteLeitura && $this->idPreProjeto && !isset($auth->getIdentity()->usu_codigo)) { $tbMovimentacaoDAO = new Movimentacao(); $where = array('idProjeto = ?' => $this->idPreProjeto, 'Movimentacao = ?' => $this->Movimentacao, 'stEstado = ?' => $this->stEstado); if (count($tbMovimentacaoDAO->buscar($where)) > 0) { $this->stSomenteLeitura = ''; } } }