コード例 #1
0
 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&eacute;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&atilde;o foi enviado ao Minist&eacute;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&atilde;o foi enviado ao Minist&eacute;rio da Cultura. T&eacute;cnico n&atilde;o localizado", "/manterpropostaedital/enviar-proposta-ao-minc?idPreProjeto=" . $idPreProjeto . $edital, "ERROR");
             die;
         }
     } else {
         //xd($e->getMessage());
         parent::message("A Proposta n&atilde;o foi enviado ao Minist&eacute;rio da Cultura.", "/manterpropostaedital/enviar-proposta-ao-minc?idPreProjeto=" . $idPreProjeto . $edital, "ERROR");
     }
 }
コード例 #2
0
 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&eacute;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&atilde;o foi enviado ao Minist&eacute;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&atilde;o foi enviado ao Minist&eacute;rio da Cultura.", "/manterpropostaincentivofiscal/enviar-proposta-ao-minc?idPreProjeto=" . $idPreProjeto . $edital, "ERROR");
             die;
         }
     } else {
         //xd($e->getMessage());
         parent::message("A Proposta n&atilde;o foi enviado ao Minist&eacute;rio da Cultura.", "/manterpropostaincentivofiscal/enviar-proposta-ao-minc?idPreProjeto=" . $idPreProjeto . $edital, "ERROR");
     }
 }
コード例 #3
0
 public function localizarGerenciamentoPropostaAction()
 {
     $params = new stdClass();
     $params->usu_nome = "";
     $params->gru_codigo = $_SESSION['GrupoAtivo']['codOrgao'];
     $params->usu_orgao = $this->codOrgaoSuperior;
     $this->view->novosAnalistas = AdmissibilidadeDAO::consultarRedistribuirAnaliseItemSelect($params);
     $arrDados = array("urlAcao" => $this->_urlPadrao . "/admissibilidade/gerenciamentodepropostas", "urlResumo" => $this->_urlPadrao . "/admissibilidade/resumo-gerenciamento-proposta");
     $this->montaTela("admissibilidade/localizarpropostasgerenciamento.phtml", $arrDados);
 }