Пример #1
1
 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
 }
Пример #2
0
 /**
  * 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");
     }
 }