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"); } }
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 salvaravaliacaoAction() { $dao = new AnalisarPropostaDAO(); $post = Zend_Registry::get('post'); $dado = array(); $dados['idProjeto'] = $post->idPreProjeto; $dados['idTecnico'] = $this->idUsuario; $dados['dtEnvio'] = $post->dataAtual; $dados['dtAvaliacao'] = $post->dataAtual; $dados['avaliacao'] = $_POST['despacho']; $dados['ConformidadeOK'] = $post->conformidade; $dados['stEstado'] = 0; $dados['stEnviado'] = 'N'; $projetoExiste = AnalisarPropostaDAO::verificarAvaliacao($post->idPreProjeto); //Esse if so existe por que nao existe objeto de negocio. if (count($projetoExiste) > 0) { $dados['dtEnvio'] = null; } $avaliacaoProposta = new tbAvaliacaoProposta(); $insert = $avaliacaoProposta->inserir($dados); parent::message("Despacho encaminhado com sucesso!", "/admissibilidade/exibirpropostacultural?idPreProjeto=" . $post->idPreProjeto . "&gravado=sim", "CONFIRM"); }