public function orcamentoAction() { $get = Zend_Registry::get('get'); $idPronac = $get->idPronac; $idRecurso = $get->idRecurso; $tborcamento = RecursoDAO::buscarRecursoOrcamento($idPronac, $idRecurso); $this->view->recursoorcamento = $tborcamento; $buscarProdutos = SolicitarRecursoDecisaoDAO::analiseDeCustosBuscarProduto($idPronac); ///$buscarRecursos = RecursoDAO::buscarIdRecurso(); // busca a planilha com as unidades $buscarPlanilhaUnidade = PlanilhaUnidadeDAO::buscar(); // busca a planilha com as etapas $buscarPlanilhaEtapa = PlanilhaEtapaDAO::buscar(); // busca o pronac $pronac = ProjetoDAO::buscarPronac($idPronac); $pronac = $pronac['pronac']; $buscarPronac = ProjetoDAO::buscar($pronac); // manda os dados para a visão $this->view->analise = RealizarAnaliseProjetoDAO::analiseDeConta($pronac); $this->view->buscarProd = $buscarProdutos; $this->view->planilhaUnidade = $buscarPlanilhaUnidade; $this->view->planilhaEtapa = $buscarPlanilhaEtapa; $this->view->pronac = $buscarPronac; $this->view->qtdItens = count(RealizarAnaliseProjetoDAO::analiseDeConta($pronac)); // quantidade de ítens // caso o formulário seja enviado via post if ($this->getRequest()->isPost()) { $post = Zend_Registry::get('post'); $idPlanilha = $post->idPlanilha; $idPronac = $post->idPronac; $idRecurso = $post->idRecurso; $justificativa = $post->justificativa; $stAtendimento = $post->stAtendimento; try { // faz o update na tabela recurso $dadosRecurso = array('stAtendimento' => $stAtendimento); $alterarRecurso = RecursoDAO::avaliarRecurso($dadosRecurso, $idRecurso); // desativa a planilha $dadosDesativar = array('stAtivo' => 'N'); $desativar = RecursoDAO::desativarPlanilhaAprovacao($dadosDesativar, $idPlanilha); // busca todos os dados da planilha $buscar = RecursoDAO::buscarPlanilhaAprovacao($idPlanilha); // insere o novo registro na planilha de aprovação (Ministro) $dadosPlanilha = array('tpPlanilha' => 'MI', 'dtPlanilha' => new Zend_Db_Expr('GETDATE()'), 'idPlanilhaProjeto' => $buscar[0]->idPlanilhaProjeto, 'idPlanilhaProposta' => $buscar[0]->idPlanilhaProposta, 'IdPRONAC' => $buscar[0]->IdPRONAC, 'idProduto' => $buscar[0]->idProduto, 'idEtapa' => $buscar[0]->idEtapa, 'idPlanilhaItem' => $buscar[0]->idPlanilhaItem, 'dsItem' => $buscar[0]->dsItem, 'idUnidade' => $buscar[0]->idUnidade, 'qtItem' => $buscar[0]->qtItem, 'nrOcorrencia' => $buscar[0]->nrOcorrencia, 'vlUnitario' => $buscar[0]->vlUnitario, 'qtDias' => $buscar[0]->qtDias, 'tpDespesa' => $buscar[0]->tpDespesa, 'tpPessoa' => $buscar[0]->tpPessoa, 'nrContraPartida' => $buscar[0]->nrContraPartida, 'nrFonteRecurso' => $buscar[0]->nrFonteRecurso, 'idUFDespesa' => $buscar[0]->idUFDespesa, 'idMunicipioDespesa' => $buscar[0]->idMunicipioDespesa, 'dsJustificativa' => $justificativa, 'idAgente' => $this->getIdUsuario, 'idPlanilhaAprovacaoPai' => $idPlanilha, 'idPedidoAlteracao' => $buscar[0]->idPedidoAlteracao, 'tpAcao' => 'N', 'idRecursoDecisao' => $buscar[0]->idRecursoDecisao, 'stAtivo' => 'S'); $cadastrarPlanilha = RecursoDAO::cadastrarPlanilhaAprovacao($dadosPlanilha); if ($cadastrarPlanilha) { parent::message("Dados inseridos com sucesso!", "recurso/orcamento?idPronac=" . $idPronac . "&idRecurso=" . $idRecurso, "CONFIRM"); } else { throw new Exception("Erro ao alterar planilha!"); } } catch (Exception $e) { parent::message($e->getMessage(), "recurso/orcamento?idPronac=" . $idPronac . "&idRecurso=" . $idRecurso, "ERROR"); } } else { // recebe os dados via get $get = Zend_Registry::get('get'); $idPronac = $get->idPronac; $idRecurso = $get->idRecurso; try { if (!isset($idPronac) || empty($idPronac)) { JS::exibirMSG("É necessário o número do PRONAC para acessar essa página!"); JS::redirecionarURL("../"); } else { } // fecha else } catch (Exception $e) { parent::message($e->getMessage(), "solicitarrecursodecisao/planilhaorcamentoaprovada?idPronac=" . $idPronac . "&idRecurso=" . $idRecurso, "ERROR"); } } // fecha else }
/** * Devuelve todos los emails de los usuarios activos que no * registraron trabajos por al menos dos d�as h�biles * @author pfagalde * @return (array) emails */ function _getEmailsUsuariosAviso($id_area) { $lista_emails = array(); $r = new RecursoDAO(); $trabajoDAO = new TrabajoDAO(); $trabajo = new Trabajo(); $area = new Area($id_area); // Obtengo todos los recursos activos $recursos = $r->filterBy("activo = '1' AND id_area = '{$id_area}'"); // Para cada usuario verifico si lleva mas de dos dias h�biles // de trabajo sin cargar y lo agrego a la lista $body .= "<table style='font:9pt Verdana;'>"; $body .= "<thead>"; $body .= "<tr bgcolor='#CCCCCC'>"; $body .= "<th><b>Apellido y Nombre</b></th>"; $body .= "<th><b>D�as h�biles desde la �ltima carga</b></th>"; $body .= "</tr>"; $body .= "</thead>"; $body .= "<tbody>"; foreach ($recursos as $r) { $agregar = false; // Se pasan las fechas a timestamp para poder compararlas $hoy = strtotime(convertirFecha2YMD(date('d/m/Y'))); $f = $r->getFechaUltimoTrabajo(); if ($f != "") { $fechaUltimoTrabajo = strtotime(convertirFecha2YMD($f)); // Se guarda el mail del recurso si hace mas de dos dias habiles que no // registra sus trabajos $dias = $this->diasHabilesEntre($hoy, $fechaUltimoTrabajo); if ($dias > 2) { $lista_emails[] = trim($r->getEmail()); $agregar = true; } } else { // Si no vuelve una fecha de trabajo, entonces nunca se cargaron trabajos $lista_emails[] = trim($r->getEmail()); $agregar = true; $dias = "Nunca cargo horas"; } if ($agregar) { $body .= "<tr>"; $body .= "<td>" . $r->apellido . " " . $r->nombre . "</td>"; $body .= "<td>" . $dias . "</td>"; $body .= "</tr>"; } } $body .= "</tbody>"; $body .= "</table>"; if (sizeof($lista_emails) > 0) { $params["TEMPLATE"] = "TEMPLATE_AVISO_RESPONSABLES"; $params["subject"] = "Reporte de Carga de Horas"; $params["emails"] = implode(",", $lista_emails); $params["body"] = $body; $params["area"] = $area->nombre; } return $params; }
/** * Método para aplicar no banco de dados a desistência do recurso * @author Jefferson Alessandro <*****@*****.**> * @since 24/10/2013 */ public function recursoDesistenciaAction() { $post = Zend_Registry::get('post'); $idPronac = $this->_request->getParam("idPronac"); // pega o id do pronac via get $auth = Zend_Auth::getInstance(); if (strlen($idPronac) > 7) { $idPronac = Seguranca::dencrypt($idPronac); } if ($post->deacordo) { $dados = array('IdPRONAC' => $post->idPronac, 'dtSolicitacaoRecurso' => new Zend_Db_Expr('GETDATE()'), 'dsSolicitacaoRecurso' => 'Desistência do prazo recursal', 'idAgenteSolicitante' => $auth->getIdentity()->IdUsuario, 'stAtendimento' => 'N', 'siFaseProjeto' => 2, 'siRecurso' => 0, 'tpSolicitacao' => 'DR', 'tpRecurso' => 1, 'stAnalise' => null, 'stEstado' => 1); $tbRecurso = new tbRecurso(); $resultadoPesquisa = $tbRecurso->buscar(array('IdPRONAC = ?' => $_POST['idPronac'])); if (count($resultadoPesquisa) > 0) { $dados['tpRecurso'] = 2; } RecursoDAO::cadastrar($dados); parent::message('A desistência do prazo recursal foi cadastrada com sucesso!', "consultardadosprojeto?idPronac=" . Seguranca::encrypt($idPronac), "CONFIRM"); } else { parent::message('É necessário estar de acordo com os termos para registrar a sua desistência do prazo recursal!', "solicitarrecursodecisao/recurso-desistir?idPronac=" . Seguranca::encrypt($idPronac), "ERROR"); } }