/** * Método para buscar as inconsistências do extrato de movimentação bancária * @param string $pronac * @param array $data_recibo * @param string $proponente * @param string $incentivador * @param array $data_credito * @return object */ public function buscarDados($pronac = null, $data_recibo = null, $proponente = null, $incentivador = null, $data_credito = null) { $select = $this->select(); $select->setIntegrityCheck(false); // $select->distinct(); $select->from(array("t" => $this->_name), array("(t.nrAnoProjeto+t.nrSequencial) AS pronac", "CONVERT(CHAR(10), t.dtChegadaRecibo, 103) AS dtChegadaRecibo", "t.nrCpfCnpjProponente", "t.nrCpfCnpjIncentivador", "CONVERT(CHAR(10), t.dtCredito, 103) AS dtCredito", "t.vlValorCredito", "t.cdPatrocinio", "p.NomeProjeto", "c.Banco", "bc.Descricao AS nmBanco", "i.idTipoInconsistencia", "i.idTmpCaptacao")); $select->joinInner(array("i" => "tbTmpInconsistenciaCaptacao"), "t.idTmpCaptacao = i.idTmpCaptacao", array()); $select->joinLeft(array("p" => "Projetos"), "t.nrAnoProjeto = p.AnoProjeto AND t.nrSequencial = p.Sequencial", array()); $select->joinLeft(array("c" => "ContaBancaria"), "t.nrAnoProjeto = c.AnoProjeto AND t.nrSequencial = c.Sequencial", array('Agencia' => new Zend_Db_Expr("case\t\n\t\t\t\twhen\n c.Agencia is not null then c.Agencia\n\t\t\t\telse \n t.nrAgenciaProponente end"), 'ContaBloqueada' => new Zend_Db_Expr("case \n\t\t\t\twhen \n\t\t\t\t\tc.ContaBloqueada is not null then c.ContaBloqueada \n\t\t\t\telse t.nrContaProponente end")), array()); $select->joinLeft(array("bc" => "bancos"), "c.Banco = bc.Codigo", array(), "AGENTES.dbo"); // busca pelo pronac if (!empty($pronac)) { $select->where("(t.nrAnoProjeto+t.nrSequencial) = ?", $pronac); } // busca pela data do recibo if (!empty($data_recibo)) { if (!empty($data_recibo[0]) && !empty($data_recibo[1])) { $select->where("t.dtChegadaRecibo >= ?", Data::dataAmericana($data_recibo[0]) . " 00:00:00"); $select->where("t.dtChegadaRecibo <= ?", Data::dataAmericana($data_recibo[1]) . " 23:59:59"); } else { if (!empty($data_recibo[0])) { $select->where("t.dtChegadaRecibo >= ?", Data::dataAmericana($data_recibo[0]) . " 00:00:00"); } if (!empty($data_recibo[1])) { $select->where("t.dtChegadaRecibo <= ?", Data::dataAmericana($data_recibo[1]) . " 23:59:59"); } } } // fecha if data do recibo // filtra pelo cpf/cnpj do proponente if (!empty($proponente)) { $select->where("t.nrCpfCnpjProponente = ?", $proponente); } // filtra pelo cpf/cnpj do incentivador if (!empty($incentivador)) { $select->where("t.nrCpfCnpjIncentivador = ?", $incentivador); } // busca pela data do crédito if (!empty($data_credito)) { if (!empty($data_credito[0]) && !empty($data_credito[1])) { $select->where("t.dtCredito >= ?", Data::dataAmericana($data_credito[0]) . " 00:00:00"); $select->where("t.dtCredito <= ?", Data::dataAmericana($data_credito[1]) . " 23:59:59"); } else { if (!empty($data_credito[0])) { $select->where("t.dtCredito >= ?", Data::dataAmericana($data_credito[0]) . " 00:00:00"); } if (!empty($data_credito[1])) { $select->where("t.dtCredito <= ?", Data::dataAmericana($data_credito[1]) . " 23:59:59"); } } } // fecha if data do recibo //$select->order("t.idTipoInconsistencia"); $select->order("(t.nrAnoProjeto+t.nrSequencial)"); $select->order("t.dtChegadaRecibo"); $select->order("t.dtCredito"); //xd($select->assemble()); return $this->fetchAll($select); }
/** * Redireciona para o fluxo inicial * @access public * @param void * @return void */ public function indexAction() { $tblOrgao = new Orgaos(); $rsOrgao = $tblOrgao->buscar(array(), array("Sigla ASC")); $this->view->orgaos = $rsOrgao; $this->intTamPag = 50; // $this->intTamPag = 10; //DEFINE PARAMETROS DE ORDENACAO / QTDE. REG POR PAG. / PAGINACAO if ($this->_request->getParam("qtde")) { $this->intTamPag = $this->_request->getParam("qtde"); } $order = array(); //==== parametro de ordenacao ======// if ($this->_request->getParam("ordem")) { $ordem = $this->_request->getParam("ordem"); if ($ordem == "ASC") { $novaOrdem = "DESC"; } else { $novaOrdem = "ASC"; } } else { $ordem = "ASC"; $novaOrdem = "ASC"; } //==== campo de ordenacao ======// if ($this->_request->getParam("campo")) { $campo = $this->_request->getParam("campo"); $order = array($campo . " " . $ordem); $ordenacao = "&campo=" . $campo . "&ordem=" . $ordem; } else { $campo = null; $order = array(1); //NomeProjeto $ordenacao = null; } $pag = 1; $get = Zend_Registry::get('get'); if (isset($get->pag)) { $pag = $get->pag; } $inicio = $pag > 1 ? ($pag - 1) * $this->intTamPag : 0; /* ================== PAGINACAO ======================*/ $GrupoAtivo = new Zend_Session_Namespace('GrupoAtivo'); // cria a sessão com o grupo ativo $orgaoAtivo = $GrupoAtivo->codOrgao; // manda o órgão ativo do usuário para a visão $Orgaos = new Orgaos(); $orgaoSuperior = $Orgaos->codigoOrgaoSuperior($orgaoAtivo)->current(); $wherenaopublicados = array(); if ($orgaoSuperior->Superior == 251) { $wherenaopublicados['pr.Area <> ?'] = 2; } else { $wherenaopublicados['pr.Area = ?'] = 2; } $wherenaopublicados['ap.PortariaAprovacao is null or DtPublicacaoAprovacao is null or DtPortariaAprovacao is null'] = ''; //$wherenaopublicados['YEAR(ap.DtInicioCaptacao) = YEAR(GETDATE())'] = ''; if (isset($_GET['pronac']) && !empty($_GET['pronac'])) { $this->view->pronac = $_GET['pronac']; $wherenaopublicados['pr.AnoProjeto+pr.Sequencial = ?'] = $_GET['pronac']; } if (isset($_GET['orgaoFiltro']) && !empty($_GET['orgaoFiltro'])) { $this->view->orgaoFiltro = $_GET['orgaoFiltro']; $wherenaopublicados['pr.Orgao = ?'] = $_GET['orgaoFiltro']; } if (isset($_GET['situacao'])) { $filtro = $_GET['situacao']; $this->view->filtro = $filtro; switch ($filtro) { case '': $wherenaopublicados['pr.Situacao in (?)'] = array('D27'); $wherenaopublicados['ap.TipoAprovacao = ?'] = 1; break; case 'complementacao': $this->view->nmPagina = 'Complementação'; $wherenaopublicados['pr.Situacao in (?)'] = array('D28'); $wherenaopublicados['ap.TipoAprovacao = ?'] = 2; break; case 'prorrogacao': $this->view->nmPagina = 'Prorrogação'; $wherenaopublicados['pr.Situacao in (?)'] = array('D22'); $wherenaopublicados['ap.TipoAprovacao = ?'] = 3; break; case 'reducao': $this->view->nmPagina = 'Redução'; $wherenaopublicados['pr.Situacao in (?)'] = array('D29'); $wherenaopublicados['ap.TipoAprovacao = ?'] = 4; break; case 'aprovacaoPrestacao': $this->view->nmPagina = 'Aprovação - Prestação de Contas'; $wherenaopublicados['pr.Situacao in (?)'] = array('D42'); $wherenaopublicados['ap.TipoAprovacao = ?'] = 5; break; case 'reprovacaoPrestacao': $this->view->nmPagina = 'Reprovação - Prestação de Contas'; $wherenaopublicados['pr.Situacao in (?)'] = array('D43'); $wherenaopublicados['ap.TipoAprovacao = ?'] = 6; break; case 'readequacao': $this->view->nmPagina = 'Readequação'; $wherenaopublicados['r.siEncaminhamento = ?'] = 9; $wherenaopublicados['ap.TipoAprovacao = ?'] = 8; break; } } else { $wherenaopublicados['pr.Situacao in (?)'] = array('D27'); $wherenaopublicados['ap.TipoAprovacao = ?'] = 1; } $projetos = new Projetos(); if ($this->_getParam('situacao') == 'readequacao') { $total = $projetos->buscarProjetosReadequacoes($wherenaopublicados, $order, null, null, true); } else { $total = $projetos->buscarProjetosAprovados($wherenaopublicados, $order, null, null, true); } $fim = $inicio + $this->intTamPag; $totalPag = (int) ($total % $this->intTamPag == 0 ? $total / $this->intTamPag : $total / $this->intTamPag + 1); $tamanho = $fim > $total ? $total - $inicio : $this->intTamPag; if ($this->_getParam('situacao') == 'readequacao') { $busca = $projetos->buscarProjetosReadequacoes($wherenaopublicados, $order, $tamanho, $inicio); } else { $busca = $projetos->buscarProjetosAprovados($wherenaopublicados, $order, $tamanho, $inicio); } $paginacao = array("pag" => $pag, "qtde" => $this->intTamPag, "campo" => $campo, "ordem" => $ordem, "ordenacao" => $ordenacao, "novaOrdem" => $novaOrdem, "total" => $total, "inicio" => $inicio + 1, "fim" => $fim, "totalPag" => $totalPag, "Itenspag" => $this->intTamPag, "tamanho" => $tamanho); $this->view->paginacao = $paginacao; $this->view->qtdDocumentos = $total; $this->view->dados = $busca; $this->view->intTamPag = $this->intTamPag; $buscaCargosPublicacao = PublicacaoDouDAO::buscaCargosPublicacao(); $this->view->cargosPublicacao = $buscaCargosPublicacao; $buscaNomesPublicacao = PublicacaoDouDAO::buscaNomesPublicacao(); $this->view->nomesPublicacao = $buscaNomesPublicacao; $wherepublicados["ap.dtPortariaAprovacao IS NOT NULL OR DtPublicacaoAprovacao IS NOT NULL or ap.PortariaAprovacao <> ''"] = ''; if ($orgaoSuperior->Superior == 251) { $wherepublicados['pr.Area <> ?'] = 2; } else { $wherepublicados['pr.Area = ?'] = 2; } //$wherepublicados['YEAR(ap.DtInicioCaptacao) = YEAR(GETDATE())'] = ''; if (isset($_GET['situacao'])) { $filtro = $_GET['situacao']; switch ($filtro) { case '': $wherepublicados['pr.Situacao = ?'] = 'D09'; $wherepublicados['ap.TipoAprovacao = ?'] = 1; break; case 'complementacao': $wherepublicados['pr.Situacao = ?'] = 'D16'; $wherepublicados['ap.TipoAprovacao = ?'] = 2; break; case 'prorrogacao': $wherepublicados['pr.Situacao = ?'] = 'D17'; $wherepublicados['ap.TipoAprovacao = ?'] = 3; break; case 'reducao': $wherepublicados['pr.Situacao = ?'] = 'D23'; $wherepublicados['ap.TipoAprovacao = ?'] = 4; break; case 'aprovacaoPrestacao': $this->view->nmPagina = 'Aprovação - Prestação de Contas'; $wherenaopublicados['pr.Situacao in (?)'] = array('E19'); $wherenaopublicados['ap.TipoAprovacao = ?'] = 5; break; case 'reprovacaoPrestacao': $this->view->nmPagina = 'Reprovação - Prestação de Contas'; $wherenaopublicados['pr.Situacao in (?)'] = array('L05'); $wherenaopublicados['ap.TipoAprovacao = ?'] = 6; break; } } else { $wherepublicados['pr.Situacao = ?'] = 'D09'; $wherepublicados['ap.TipoAprovacao = ?'] = 1; } // busca os projetos publicados $ap = new Aprovacao(); $buscaportaria = $ap->buscarportaria($wherepublicados); $this->view->projetosPublicados = $buscaportaria; ini_set('memory_limit', '-1'); if (isset($_POST['datapublicacao'])) { $this->_helper->layout->disableLayout(); // desabilita o Zend_Layout $datapublicacao = $_POST['datapublicacao']; $portaria = $_POST['portaria']; $dados = array('dtpublicacaoaprovacao' => Data::dataAmericana($datapublicacao)); try { PublicacaoDouDAO::alterardatapublicacao($dados, $portaria); echo json_encode(array('error' => false, 'datagravada' => $datapublicacao)); die; } catch (Exception $e) { echo json_encode(array('error' => true)); die; } } if (isset($_POST['portaria'])) { $this->_helper->layout->disableLayout(); // desabilita o Zend_Layout $pr = new Projetos(); $portaria = str_replace('-', '/', $_POST['portaria']); $where['ap.PortariaAprovacao = ?'] = $portaria; $buscarprojetos = $pr->buscarProjetosAprovados($where, array(), null, null, false); //$btnPublicar = "<td align=\"center\" colspan=\"4\"><input type=\"button\" class=\"btn_publicar\" onclick=\"confirmaPublicacao('{$portaria}');\" title=\"Publicar\"/> Publicar</td>"; $btnPublicar = '<td align="center" colspan="4"><input type="button" class="btn_imprimir impressaoPublicados" title=Imprimir" portaria="' . $portaria . '"/></td>'; $table = '<table class=\'tabela\'>'; $table .= '<tr>'; $table .= '<th width="80px">pronac</th>'; $table .= '<th>nome projeto</th>'; $table .= '<th width="200px">área</th>'; $table .= '<th width="125px">valor aprovado</th>'; $table .= '</tr>'; foreach ($buscarprojetos as $projetos) { $table .= '<tr>'; $table .= '<td align="center"><a href="' . Zend_Controller_Front::getInstance()->getBaseUrl() . '/consultardadosprojeto/index/?idPronac=' . $projetos->IdPRONAC . '" target="_blank" title="Ir para Consultar Dados do Projeto">' . $projetos->pronac . '</td>'; $table .= '<td>' . utf8_encode($projetos->NomeProjeto) . '</td>'; $table .= '<td>' . utf8_encode($projetos->area) . '</td>'; $table .= '<td align="right">R$ ' . number_format($projetos->AprovadoReal, '2', ',', '.') . '</td>'; $table .= '</tr>'; } $table .= '<tr>'; $table .= $btnPublicar; $table .= '</tr>'; $table .= '<table>'; echo $table; die; } }
/** * Método para solicitar prorrogação de Prazo de Captação do Projeto * @access public * @param void * @return void */ public function prazoCaptacaoAction() { try { // verifica se o usuário logado tem permissão para acessar o projeto $this->verificarPermissaoAcesso(false, true, false); // objetos utilizados $this->Projetos = new Projetos(); $this->tbProrrogacaoPrazo = new tbProrrogacaoPrazo(); $this->tbPedidoAlteracaoXTipoAlteracao = new tbPedidoAlteracaoXTipoAlteracao(); $this->tbPedidoAltProjetoXArquivo = new tbPedidoAltProjetoXArquivo(); // busca os dados aprovados de execução e captação $buscarExecAP = $this->Projetos->buscarPeriodoExecucao($this->_idPronac); $this->view->dadosExecAP = $buscarExecAP; // manda as informações para a visão $buscarAP = $this->Projetos->buscarPeriodoCaptacao($this->_idPronac, null, null, false, array('TipoAprovacao = ?' => 1, 'PortariaAprovacao IS NOT NULL' => '')); $this->view->dadosAP = $buscarAP; // manda as informações para a visão // busca os dados com solicitação de readequação (execução e captação) $buscarExecSR = $this->tbProrrogacaoPrazo->buscarDados($this->_idPronac, 'E', $this->_idPedidoAlteracao)->current(); $this->view->dadosExecSR = $buscarExecSR; // manda as informações para a visão $buscarSR = $this->tbProrrogacaoPrazo->buscarDados($this->_idPronac, 'C', $this->_idPedidoAlteracao)->current(); $this->view->dadosSR = $buscarSR; // manda as informações para a visão // busca o pedido (justificativa) da solicitação de readequação $whereTipoReadequacao = array('p.idPedidoAlteracao = ?' => $this->_idPedidoAlteracao, 'x.tpAlteracaoProjeto IN (?)' => array(8)); $buscarPedido = $this->tbPedidoAlteracaoXTipoAlteracao->buscarPedido($whereTipoReadequacao)->current(); $this->view->pedido = $buscarPedido; // manda as informações para a visão // busca os arquivos da solicitação de readequação $whereArquivo = array('x.idPedidoAlteracao = ?' => $this->_idPedidoAlteracao, 'x.tpAlteracaoProjeto IN (?)' => array(8)); $buscarArquivo = $this->tbPedidoAltProjetoXArquivo->buscarArquivos($whereArquivo); $this->view->arquivos = $buscarArquivo; // manda as informações para a visão } catch (Exception $e) { parent::message($e->getMessage(), $this->_urlAtual, 'ERROR'); } // ========== INÍCIO: FORMULÁRIO ENVIADO VIA POST ========== if ($this->getRequest()->isPost()) { // recebe os dados do formulário $post = Zend_Registry::get('post'); $dtInicioCaptacao = Data::dataAmericana($post->dtInicioCaptacaoSR); $dtFimCaptacao = Data::dataAmericana($post->dtFimCaptacaoSR); $justificativa = $post->justificativa; $stPedidoAlteracao = $post->stPedidoAlteracao; $siVerificacao = $post->siVerificacao; $tpAlteracaoProjeto = $post->tpAlteracaoProjeto; try { // validação dos dados if (empty($dtInicioCaptacao) || empty($dtFimCaptacao) || empty($justificativa)) { throw new Exception('Dados obrigatórios não informados!'); } // atualiza o status do pedido de readequação $this->_stPedidoAlteracao = $stPedidoAlteracao; // salva os dados do pedido $this->salvarPedido($stPedidoAlteracao, $siVerificacao); // filtro para alteração $whereItemPedido = array('idPedidoAlteracao = ?' => $this->_idPedidoAlteracao); // salva os dados do item do pedido if (count($this->tbProrrogacaoPrazo->buscarDados($this->_idPronac, 'C', $this->_idPedidoAlteracao)) <= 0) { // CADASTRA $dadosItemPedido = array('idPedidoAlteracao' => $this->_idPedidoAlteracao, 'tpProrrogacao' => 'C', 'dtInicioNovoPrazo' => $dtInicioCaptacao, 'dtFimNovoPrazo' => $dtFimCaptacao); $this->tbProrrogacaoPrazo->inserir($dadosItemPedido); } else { // ALTERA $dadosItemPedido = array('dtInicioNovoPrazo' => $dtInicioCaptacao, 'dtFimNovoPrazo' => $dtFimCaptacao); $wherePrazo = array_merge($whereItemPedido, array('tpProrrogacao = ?' => 'C')); $this->tbProrrogacaoPrazo->alterar($dadosItemPedido, $wherePrazo); } // salva os dados da justificativa $whereItemPedido = array_merge($whereItemPedido, array('tpAlteracaoProjeto = ?' => $tpAlteracaoProjeto)); // filtro para alteração if (count($this->tbPedidoAlteracaoXTipoAlteracao->buscar($whereItemPedido)) <= 0) { // CADASTRA $dadosJustificativa = array('idPedidoAlteracao' => $this->_idPedidoAlteracao, 'dsJustificativa' => $justificativa, 'tpAlteracaoProjeto' => $tpAlteracaoProjeto, 'stVerificacao' => 0); $this->tbPedidoAlteracaoXTipoAlteracao->inserir($dadosJustificativa); } else { // ALTERA $dadosJustificativa = array('dsJustificativa' => $justificativa); $this->tbPedidoAlteracaoXTipoAlteracao->alterar($dadosJustificativa, $whereItemPedido); } // cadastra os arquivos $this->cadastrarArquivos($_FILES, $this->_idPedidoAlteracao, $tpAlteracaoProjeto); parent::message('Solicitação realizada com sucesso!', $this->_urlAtual, 'CONFIRM'); } catch (Exception $e) { $this->view->message = $e->getMessage(); $this->view->message_type = 'ERROR'; } } // fecha if // ========== FIM: FORMULÁRIO ENVIADO VIA POST ========== }
public function cadastrarLocalRealizacaoAction() { $linkFinal = ''; if (filter_input(INPUT_POST, 'relatorofinal')) { $linkFinal = '-final'; } //** Verifica se o usuário logado tem permissão de acesso **// $this->verificarPermissaoAcesso(false, true, false); $idpronac = $this->_request->getParam("idpronac"); if (strlen($idpronac) > 7) { $idpronac = Seguranca::dencrypt($idpronac); } $redirectUrl = "comprovarexecucaofisica/local-de-realizacao{$linkFinal}/idpronac/" . Seguranca::encrypt($idpronac); try { $Projetos = new Projetos(); $dadosProj = $Projetos->buscar(array('IdPRONAC = ?' => $idpronac))->current(); $idProjeto = $dadosProj->idProjeto; if (empty($idProjeto)) { parent::message('Não existe idProjeto.', $redirectUrl, 'ERROR'); } $AbrangenciaDAO = new AbrangenciaDAO(); foreach ($_POST['siAbrangencia'] as $valores) { list($abragenciaSituacao, $abrangenciaId) = explode(':', $valores); $dt = null; if (filter_input(INPUT_POST, 'dtRealizacao' . $abrangenciaId)) { $dt = Data::dataAmericana(filter_input(INPUT_POST, 'dtRealizacao' . $abrangenciaId)); $validacao = Data::validarData(filter_input(INPUT_POST, 'dtRealizacao' . $abrangenciaId)); if (!$validacao) { parent::message('Data inválida.', $redirectUrl, 'ERROR'); } } $abragenciaRow = $AbrangenciaDAO->find($abrangenciaId)->current(); if ($abragenciaRow) { if (2 != $abragenciaRow->siAbrangencia && 2 == $abragenciaSituacao) { $abragenciaRow->dtRealizacao = $dt; } elseif (2 != $abragenciaSituacao) { $abragenciaRow->dtRealizacao = null; } if (1 == $abragenciaSituacao) { $justificativa = filter_input(INPUT_POST, 'justificativa' . $abrangenciaId); if (!empty($justificativa)) { $abragenciaRow->dsJustificativa = $justificativa; } } $abragenciaRow->siAbrangencia = $abragenciaSituacao; $abragenciaRow->Usuario = $this->IdUsuario; $abragenciaRow->save(); } } if (filter_input(INPUT_POST, 'novoPais')) { if (31 == \filter_input(\INPUT_POST, 'novoPais')) { //31=Brasil $idPais = filter_input(INPUT_POST, 'novoPais'); $idUF = filter_input(INPUT_POST, 'novoUf'); $idMunicipio = filter_input(INPUT_POST, 'novoMunicipio'); $dsJustificativa = filter_input(INPUT_POST, 'justificativaNovo'); //se for Brasil, o usuario deve informar a cidade e o municipio if (empty($idPais) || empty($idUF) || empty($idMunicipio)) { parent::message("Não foi possível cadastrar o novo local de realização do Projeto!", "comprovarexecucaofisica/local-de-realizacao{$linkFinal}/idpronac/" . Seguranca::encrypt($idpronac), "ERROR"); } } else { $idPais = filter_input(INPUT_POST, 'novoPais'); $idUF = 0; $idMunicipio = 0; $dsJustificativa = filter_input(INPUT_POST, 'justificativaNovo'); } $Abrangencia = new Abrangencia(); $abrangencias = $Abrangencia->verificarIgual($idPais, $idUF, $idMunicipio, $idProjeto); if (0 == count($abrangencias)) { $dtNovo = null; if (filter_input(INPUT_POST, 'novoDtRealizacao')) { $dtNovo = Data::dataAmericana(filter_input(INPUT_POST, 'novoDtRealizacao')); $validacaoNova = Data::validarData(filter_input(INPUT_POST, 'novoDtRealizacao')); if (!$validacaoNova) { parent::message('Data inválida.', $redirectUrl, 'ERROR'); } } $dados = array('idProjeto' => $idProjeto, 'idPais' => $idPais, 'idUF' => $idUF, 'idMunicipioIBGE' => $idMunicipio, 'Usuario' => $this->IdUsuario, 'stAbrangencia' => 1, 'siAbrangencia' => filter_input(INPUT_POST, 'novoRealizado'), 'dsJustificativa' => $dsJustificativa, 'dtRealizacao' => $dtNovo); $AbrangenciaDAO->cadastrar($dados); } else { parent::message('Não é possível salvar o mesmo local mais de uma vez. ' . '(País, Uf, Município)', $redirectUrl, 'ERROR'); } } parent::message('Dados salvos com sucesso!', $redirectUrl, 'CONFIRM'); } catch (Exception $e) { parent::message('Erro ao salvar os dados.', $redirectUrl, 'ERROR'); } }
/** * Método para buscar/salvar os dados do edital */ public function dadosgeraisAction() { $auth = Zend_Auth::getInstance(); // instancia da autenticacao $idusuario = $auth->getIdentity()->usu_codigo; $idorgao = $auth->getIdentity()->usu_orgao; $usu_identificacao = $auth->getIdentity()->usu_identificacao; $GrupoAtivo = new Zend_Session_Namespace('GrupoAtivo'); // cria a sessao com o grupo ativo $codGrupo = $GrupoAtivo->codGrupo; // Grupo ativo na sessao $codOrgao = $GrupoAtivo->codOrgao; // Orgao ativo na sessao $this->view->codOrgao = $codOrgao; $this->view->idUsuarioLogado = $idusuario; $buscarClassificacaoDocumento = new tbClassificaDocumento(); $resultadoClassificaDocumento = $buscarClassificacaoDocumento->buscar(array('idClassificaDocumento not in (?)' => array(23, 24, 25)), array('dsClassificaDocumento ASC'))->toArray(); $this->view->resultadoClassificaDocumento = $resultadoClassificaDocumento; $buscarOrgao = new Orgaos(); $resultadoOrgaos = $buscarOrgao->buscar(array('Sigla != ?' => ''), array('Sigla ASC'))->toArray(); $this->view->resultadoOrgaos = $resultadoOrgaos; if (isset($_POST['idorgao'])) { $this->_helper->layout->disableLayout(); // desabilita o Zend_Layout $iduf = $_POST['idorgao']; $date = getdate(); $data = $date['year']; $buscarPI = new SimcAtividade(); $pi = $buscarPI->buscarPI(array('o.Codigo = ?' => $iduf, 'atianopi = ?' => $data, 'ati.atistatuspi = ?' => "A")); $a = 0; $Array = array(); foreach ($pi as $Dados) { $Array[$a]['idPi'] = $Dados->atiid; $Array[$a]['pi'] = $Dados->pi; $a++; } if (empty($Array)) { $Array['semdados'] = 'semdados'; } echo json_encode($Array); die; } // caso já exista um edital cadastrado if (!empty($_GET['idEdital']) && !empty($idusuario)) { $idEdital = $_GET['idEdital']; $this->view->idUsuarioLogado = $idusuario; $dadosEdital = new Edital(); $buscaEdital = $dadosEdital->buscaEditalFormDocumento($idusuario, $idEdital)->toArray(); //busca os PI´s da secretaria cadastrada no Edital $buscarPI = new SimcAtividade(); $pi = $buscarPI->buscarPI(array('o.Codigo = ?' => $buscaEdital[0]['idOrgao'], 'atianopi = ?' => date('Y'), 'ati.atistatuspi = ?' => "A"))->toArray(); $classificacaoDocumento = $buscaEdital[0]['idClassificaDocumento']; if (count($classificacaoDocumento) > 0) { $buscarClassificacaoDocumento = new tbClassificaDocumento(); $resultadoClassificaDocumento = $buscarClassificacaoDocumento->buscar(array('idClassificaDocumento = ?' => $classificacaoDocumento))->current()->toArray(); $dadosFasesEdital = new tbEditalXtbFaseEdital(); $buscaFasesEdital = $dadosFasesEdital->buscar(array('idEdital = ?' => $idEdital))->toArray(); $dadosOrgao = new Orgaos(); $buscaOrgao = $dadosOrgao->buscar(array('Codigo = ?' => $buscaEdital[0]['idOrgao']))->toArray(); $this->view->sigla = $buscaOrgao[0]['Sigla']; } else { parent::message("Edital não encontrado.", "/cadastraredital/consultaralterareditais", "ERROR"); } if (!empty($buscaFasesEdital)) { $this->view->recurso = $buscaFasesEdital[0]['qtDiasRecurso']; $this->view->julg = $buscaFasesEdital[0]['qtDiasJulgamento']; foreach ($buscaFasesEdital as $FasesEdital) { if ($FasesEdital['idFaseEdital'] == 1) { $dataIni1 = data::tratarDataZend($FasesEdital['dtIniFase'], "brasileiro"); $dataFim1 = data::tratarDataZend($FasesEdital['dtFimFase'], "brasileiro"); $this->view->dtIniFase1 = $dataIni1; $this->view->dtFimFase1 = $dataFim1; } else { if ($FasesEdital['idFaseEdital'] == 2) { $dataIni2 = data::tratarDataZend($FasesEdital['dtIniFase'], "brasileiro"); $dataFim2 = data::tratarDataZend($FasesEdital['dtFimFase'], "brasileiro"); $this->view->dtIniFase2 = $dataIni2; $this->view->dtFimFase2 = $dataFim2; } else { if ($FasesEdital['idFaseEdital'] == 3) { $dataIni3 = data::tratarDataZend($FasesEdital['dtIniFase'], "brasileiro"); $dataFim3 = data::tratarDataZend($FasesEdital['dtFimFase'], "brasileiro"); $this->view->dtIniFase3 = $dataIni3; $this->view->dtFimFase3 = $dataFim3; } else { if ($FasesEdital['idFaseEdital'] == 4) { $dataIni4 = data::tratarDataZend($FasesEdital['dtIniFase'], "brasileiro"); $dataFim4 = data::tratarDataZend($FasesEdital['dtFimFase'], "brasileiro"); $this->view->dtIniFase4 = $dataIni4; $this->view->dtFimFase4 = $dataFim4; } else { if ($FasesEdital['idFaseEdital'] == 5) { $dataIni5 = data::tratarDataZend($FasesEdital['dtIniFase'], "brasileiro"); $dataFim5 = data::tratarDataZend($FasesEdital['dtFimFase'], "brasileiro"); $this->view->dtIniFase5 = $dataIni5; $this->view->dtFimFase5 = $dataFim5; } else { if ($FasesEdital['idFaseEdital'] == 6) { $dataIni6 = data::tratarDataZend($FasesEdital['dtIniFase'], "brasileiro"); $dataFim6 = data::tratarDataZend($FasesEdital['dtFimFase'], "brasileiro"); $this->view->dtIniFase6 = $dataIni6; $this->view->dtFimFase6 = $dataFim6; } else { if ($FasesEdital['idFaseEdital'] == 7) { $dataIni7 = data::tratarDataZend($FasesEdital['dtIniFase'], "brasileiro"); $dataFim7 = data::tratarDataZend($FasesEdital['dtFimFase'], "brasileiro"); $this->view->dtIniFase7 = $dataIni7; $this->view->dtFimFase7 = $dataFim7; } else { if ($FasesEdital['idFaseEdital'] == 8) { if (!empty($FasesEdital['idFaseEdital'])) { $dataIni8 = data::tratarDataZend($FasesEdital['dtIniFase'], "brasileiro"); $dataFim8 = data::tratarDataZend($FasesEdital['dtFimFase'], "brasileiro"); $this->view->dtIniFase8 = $dataIni8; $this->view->dtFimFase8 = $dataFim8; } else { $this->view->dtIniFase8 = ""; $this->view->dtFimFase8 = ""; } } else { if (!empty($FasesEdital['idFaseEdital'])) { $dataIni9 = data::tratarDataZend($FasesEdital['dtIniFase'], "brasileiro"); $dataFim9 = data::tratarDataZend($FasesEdital['dtFimFase'], "brasileiro"); $this->view->dtIniFase9 = $dataIni9; $this->view->dtFimFase9 = $dataFim9; } else { $this->view->dtIniFase9 = ""; $this->view->dtFimFase9 = ""; } } } } } } } } } } // fecha foreach } // fecha if $this->view->idClassificaDocumento = $resultadoClassificaDocumento['idClassificaDocumento']; $this->view->dsClassificaDocumento = $resultadoClassificaDocumento['dsClassificaDocumento']; $this->view->buscaEdital = $buscaEdital; $this->view->pi = $pi; } // fecha if ( !empty ( $_GET['idEdital'] ) ) // caso os dados sejam enviados via post if ($_POST) { $nomeEdital = $_POST['nomeEdital']; $classificaDocumento = $_POST['classificaDocumento']; $modalidadeDocumento = $_POST['modalidadeDocumento']; $numeroEdital = $_POST['numeroEdital']; $orgao = $_POST['orgao']; $celulaOrcamentaria = $_POST['celulaOrcamentaria']; $qtAvaliadores = $_POST['qtAvaliadores']; $tipoFundo = $_POST['tipoFundo']; $objeto = $_POST['objeto']; $diasRec = $_POST['diasRec']; $diasJulg = $_POST['diasJulg']; $faseElabIni = $_POST['faseElabIni']; $faseElabFim = $_POST['faseElabFim']; $faseInscIni = $_POST['faseInscIni']; $faseInscFim = $_POST['faseInscFim']; $faseHabIni = $_POST['faseHabIni']; $faseHabFim = $_POST['faseHabFim']; $faseSelIni = $_POST['faseSelIni']; $faseSelFim = $_POST['faseSelFim']; $faseHomIni = $_POST['faseHomIni']; $faseHomFim = $_POST['faseHomFim']; $faseDivIni = $_POST['faseDivIni']; $faseDivFim = $_POST['faseDivFim']; $fasePagIni = $_POST['fasePagIni']; $fasePagFim = $_POST['fasePagFim']; $faseAcoIni = $_POST['faseAcoIni']; $faseAcoFim = $_POST['faseAcoFim']; $fasePrestIni = $_POST['fasePrestIni']; $fasePrestFim = $_POST['fasePrestFim']; $atiid = $_POST['pi']; $date = getdate(); $data = $date['year']; $buscarPI = new SimcAtividade(); $pi = $buscarPI->buscarPI(array('ati.atiid = ?' => $atiid, 'o.Codigo = ?' => $orgao, 'atianopi = ?' => $data, 'ati.atistatuspi = ?' => "A")); foreach ($pi as $Dados) { $PiDisponivel = $Dados['atiorcamento']; } $PiDisponivel = $PiDisponivel / 100; if (!empty($_POST['idEdital'])) { $idEdital = $_POST['idEdital']; } if (!empty($_POST['nrFormDocumento'])) { $nrFormDocumento = $_POST['nrFormDocumento']; } if (!empty($_POST['nrVersaoDocumento'])) { $nrVersaoDocumento = $_POST['nrVersaoDocumento']; } $insereDadosEdital = new Edital(); try { if (empty($_POST['idEdital'])) { $dados = array('idOrgao' => $orgao, 'NrEdital' => $numeroEdital, 'DtEdital' => new Zend_Db_Expr('GETDATE()'), 'CelulaOrcamentaria' => $celulaOrcamentaria, 'Objeto' => $objeto, 'Logon' => $idusuario, 'qtAvaliador' => $qtAvaliadores, 'stDistribuicao' => 'M', 'stAdmissibilidade' => 'S', 'cdTipoFundo' => $tipoFundo, 'idAti' => $atiid); // xd($dados); $idEdital = $insereDadosEdital->salvar($dados); } else { $dados = array('idEdital' => $idEdital, 'idOrgao' => $orgao, 'NrEdital' => $numeroEdital, 'DtEdital' => new Zend_Db_Expr('GETDATE()'), 'CelulaOrcamentaria' => $celulaOrcamentaria, 'Objeto' => $objeto, 'Logon' => $idusuario, 'qtAvaliador' => $qtAvaliadores, 'stDistribuicao' => 'M', 'stAdmissibilidade' => 'S', 'cdTipoFundo' => $tipoFundo, 'idAti' => $atiid); // xd($dados); $idEdital = $insereDadosEdital->salvar($dados); } } catch (Exception $e) { //xd($e->getMessage()); parent::message("Erro ao realizar operação. " . $e->getMessage(), "/cadastraredital/dadosgerais", "ERROR"); } $arrFases[0][0] = $faseElabIni; $arrFases[0][1] = $faseElabFim; $arrFases[0][2] = 1; $arrFases[1][0] = $faseInscIni; $arrFases[1][1] = $faseInscFim; $arrFases[1][2] = 2; $arrFases[2][0] = $faseHabIni; $arrFases[2][1] = $faseHabFim; $arrFases[2][2] = 3; $arrFases[3][0] = $faseSelIni; $arrFases[3][1] = $faseSelFim; $arrFases[3][2] = 4; $arrFases[4][0] = $faseHomIni; $arrFases[4][1] = $faseHomFim; $arrFases[4][2] = 5; $arrFases[5][0] = $faseDivIni; $arrFases[5][1] = $faseDivFim; $arrFases[5][2] = 6; $arrFases[6][0] = $fasePagIni; $arrFases[6][1] = $fasePagFim; $arrFases[6][2] = 7; if (!empty($_POST['faseAcoIni']) && !empty($_POST['faseAcoFim'])) { $arrFases[7][0] = $faseAcoIni; $arrFases[7][1] = $faseAcoFim; $arrFases[7][2] = 8; } if (!empty($_POST['fasePrestIni']) && !empty($_POST['fasePrestFim'])) { $arrFases[8][0] = $fasePrestIni; $arrFases[8][1] = $fasePrestFim; $arrFases[8][2] = 9; } $insereDadosFaseEdital = new tbEditalXtbFaseEdital(); try { foreach ($arrFases as $fases) { $dataIniFase = Data::dataAmericana($fases[0]); $dataFimFase = Data::dataAmericana($fases[1]); $dados = array('idFaseEdital' => $fases[2], 'idEdital' => $idEdital, 'dtIniFase' => $dataIniFase, 'dtFimFase' => $dataFimFase, 'qtDiasRecurso' => $diasRec, 'qtDiasJulgamento' => $diasJulg); if (!empty($_POST['idEdital'])) { $where = " idFaseEdital = " . $fases[2] . " AND idEdital = " . $idEdital; $verificaFaseEdital = $insereDadosFaseEdital->buscar(array('idEdital = ?' => $idEdital, 'idFaseEdital = ?' => $fases[2]))->toArray(); if (empty($verificaFaseEdital[0])) { $idFasesEdital = $insereDadosFaseEdital->salvar($dados); } else { $idFasesEdital = $insereDadosFaseEdital->alterar($dados, $where); } $idFasesEdital = $insereDadosFaseEdital->alterar($dados, $where); } else { $idFasesEdital = $insereDadosFaseEdital->salvar($dados); } } // fecha foreach fases } catch (Exception $e) { //xd($e->getMessage()); parent::message("Erro ao realizar operação. " . $e->getMessage(), "/cadastraredital/dadosgerais", "ERROR"); } $inserirNrFormDocumento = new tbFormDocumento(); try { if (empty($nrFormDocumento)) { $dadosFormDocumento = array('nrVersaoDocumento' => 1, 'nmFormDocumento' => $nomeEdital, 'dsFormDocumento' => 'Formulário de Edital', 'stFormDocumento' => 'A', 'dtCadastramento' => new Zend_Db_Expr('GETDATE()'), 'idClassificaDocumento' => $classificaDocumento, 'stModalidadeDocumento' => $modalidadeDocumento, 'idEdital' => $idEdital); $idFormDocumento = $inserirNrFormDocumento->salvar($dadosFormDocumento); $nrFormDocumento = $idFormDocumento['nrFormDocumento']; $nrVersaoDocumento = $idFormDocumento['nrVersaoDocumento']; parent::message("Cadastro realizado com sucesso!", "/cadastraredital/dadosgerais?nrFormDocumento={$nrFormDocumento}&nrVersaoDocumento={$nrVersaoDocumento}&idUsuario={$idusuario}&idEdital={$idEdital}", "CONFIRM"); } else { $dadosFormDocumento = array('nmFormDocumento' => $nomeEdital, 'dsFormDocumento' => 'Formulário de Edital', 'stFormDocumento' => 'A', 'dtCadastramento' => new Zend_Db_Expr('GETDATE()'), 'idClassificaDocumento' => $classificaDocumento, 'stModalidadeDocumento' => $modalidadeDocumento); $whereFormDocumento = array('nrFormDocumento = ?' => $nrFormDocumento, 'nrVersaoDocumento = ?' => $nrVersaoDocumento, 'idEdital = ?' => $idEdital); //" WHERE nrFormDocumento = " . $nrFormDocumento . " AND nrVersaoDocumento = $nrVersaoDocumento AND idEdital = $idEdital"; $idFormDocumento = $inserirNrFormDocumento->update($dadosFormDocumento, $whereFormDocumento); parent::message("Alteração realizada com sucesso!", "/cadastraredital/dadosgerais?nrFormDocumento={$nrFormDocumento}&nrVersaoDocumento={$nrVersaoDocumento}&idUsuario={$idusuario}&idEdital={$idEdital}", "CONFIRM"); } } catch (Exception $e) { //xd($e->getMessage()); parent::message("Erro ao realizar operação. " . $e->getMessage(), "/cadastraredital/dadosgerais", "ERROR"); } } // fecha if ($_POST) }
public function encaminharReadequacaoChecklistAction() { if ($this->idPerfil != 93 && $this->idPerfil != 94 && $this->idPerfil != 121 && $this->idPerfil != 122 && $this->idPerfil != 123) { parent::message("Você não tem permissão para acessar essa área do sistema!", "principal", "ALERT"); } $auth = Zend_Auth::getInstance(); $idCoordenador = $auth->getIdentity()->usu_codigo; $get = Zend_Registry::get('get'); $idReadequacao = (int) $get->id; $reuniao = new Reuniao(); $raberta = $reuniao->buscarReuniaoAberta(); $idNrReuniao = $raberta['stPlenaria'] == 'A' ? $raberta['idNrReuniao'] + 1 : $raberta['idNrReuniao']; $tbReadequacaoXParecer = new tbReadequacaoXParecer(); $dadosParecer = $tbReadequacaoXParecer->buscar(array('idReadequacao=?' => $idReadequacao)); foreach ($dadosParecer as $key => $dp) { $pareceres = array(); $pareceres[$key] = $dp->idParecer; } $Parecer = new Parecer(); $parecerTecnico = $Parecer->buscar(array('IdParecer=(?)' => $pareceres), array('IdParecer'))->current(); $tbReadequacao = new tbReadequacao(); if ($parecerTecnico->ParecerFavoravel == 2) { //Se for parecer favorável, atualiza os dados solicitados na readequação $read = $tbReadequacao->buscarReadequacao(array('idReadequacao =?' => $idReadequacao))->current(); // READEQUAÇÃO DE PLANILHA ORÇAMENTÁRIA if ($read->idTipoReadequacao == 2) { $Projetos = new Projetos(); $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $read->idPronac))->current(); $tbPlanilhaAprovacao = new tbPlanilhaAprovacao(); //BUSCAR VALOR TOTAL DA PLANILHA ATIVA $where = array(); $where['a.IdPRONAC = ?'] = $read->idPronac; $where['a.stAtivo = ?'] = 'S'; $PlanilhaAtiva = $tbPlanilhaAprovacao->valorTotalPlanilha($where)->current(); //BUSCAR VALOR TOTAL DA PLANILHA DE READEQUADA $where = array(); $where['a.IdPRONAC = ?'] = $read->idPronac; $where['a.tpPlanilha = ?'] = 'SR'; $where['a.stAtivo = ?'] = 'N'; $PlanilhaReadequada = $tbPlanilhaAprovacao->valorTotalPlanilha($where)->current(); if ($PlanilhaAtiva->Total < $PlanilhaReadequada->Total) { $TipoAprovacao = 2; $dadosPrj->Situacao = 'D28'; } else { $TipoAprovacao = 4; $dadosPrj->Situacao = 'D29'; } $dadosPrj->save(); $AprovadoReal = number_format($PlanilhaReadequada->Total - $PlanilhaAtiva->Total, 2, '.', ''); $tbAprovacao = new Aprovacao(); $dadosAprovacao = array('IdPRONAC' => $read->idPronac, 'AnoProjeto' => $dadosPrj->AnoProjeto, 'Sequencial' => $dadosPrj->Sequencial, 'TipoAprovacao' => $TipoAprovacao, 'DtAprovacao' => new Zend_Db_Expr('GETDATE()'), 'ResumoAprovacao' => 'Parecer favorável para readequação', 'AprovadoReal' => $AprovadoReal, 'Logon' => $this->idUsuario, 'idReadequacao' => $idReadequacao); $idAprovacao = $tbAprovacao->inserir($dadosAprovacao); // READEQUAÇÃO DE ALTERAÇÃO DE RAZÃO SOCIAL } else { if ($read->idTipoReadequacao == 3) { //Se for readequação de alteração de razão social, atualiza os dados na AGENTES.dbo.Nomes. $Projetos = new Projetos(); $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $read->idPronac))->current(); $tbAprovacao = new Aprovacao(); $dadosAprovacao = array('IdPRONAC' => $read->idPronac, 'AnoProjeto' => $dadosPrj->AnoProjeto, 'Sequencial' => $dadosPrj->Sequencial, 'TipoAprovacao' => 8, 'DtAprovacao' => new Zend_Db_Expr('GETDATE()'), 'ResumoAprovacao' => 'Parecer favorável para readequação', 'Logon' => $this->idUsuario, 'idReadequacao' => $idReadequacao); $idAprovacao = $tbAprovacao->inserir($dadosAprovacao); // READEQUAÇÃO DE AGÊNCIA BANCÁRIA } else { if ($read->idTipoReadequacao == 4) { //Se for readequação de agência bancária, atualiza os dados na SAC.dbo.PreProjeto. $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); $agenciaBancaria = str_replace('-', '', $read->dsSolicitacao); $tblContaBancaria = new ContaBancaria(); $arrayDadosBancarios = array('Agencia' => $agenciaBancaria, 'ContaBloqueada' => '000000000000', 'DtLoteRemessaCB' => NULL, 'LoteRemessaCB' => '00000', 'OcorrenciaCB' => '000', 'ContaLivre' => '000000000000', 'DtLoteRemessaCL' => NULL, 'LoteRemessaCL' => '00000', 'OcorrenciaCL' => '000', 'Logon' => $this->idUsuario, 'idPronac' => $read->idPronac); $whereDadosBancarios['AnoProjeto = ?'] = $dadosPrj->AnoProjeto; $whereDadosBancarios['Sequencial = ?'] = $dadosPrj->Sequencial; $tblContaBancaria->alterar($arrayDadosBancarios, $whereDadosBancarios); // READEQUAÇÃO DE SINOPSE DA OBRA } else { if ($read->idTipoReadequacao == 5) { //Se for readequação de sinopse da obra, atualiza os dados na SAC.dbo.PreProjeto. $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); $PrePropojeto = new PreProjeto(); $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current(); $dadosPreProjeto->Sinopse = $read->dsSolicitacao; $dadosPreProjeto->save(); // READEQUAÇÃO DE IMPACTO AMBIENTAL } else { if ($read->idTipoReadequacao == 6) { //Se for readequação de impacto ambiental, atualiza os dados na SAC.dbo.PreProjeto. $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); $PrePropojeto = new PreProjeto(); $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current(); $dadosPreProjeto->ImpactoAmbiental = $read->dsSolicitacao; $dadosPreProjeto->save(); // READEQUAÇÃO DE ESPECIFICAÇÃO TÉCNICA } else { if ($read->idTipoReadequacao == 7) { //Se for readequação de especificação técnica, atualiza os dados na SAC.dbo.PreProjeto. $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); $PrePropojeto = new PreProjeto(); $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current(); $dadosPreProjeto->EspecificacaoTecnica = $read->dsSolicitacao; $dadosPreProjeto->save(); // READEQUAÇÃO DE ESTRATÉGIA DE EXECUÇÃO } else { if ($read->idTipoReadequacao == 8) { //Se for readequação de estratégia de execução, atualiza os dados na SAC.dbo.PreProjeto. $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); $PrePropojeto = new PreProjeto(); $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current(); $dadosPreProjeto->EstrategiadeExecucao = $read->dsSolicitacao; $dadosPreProjeto->save(); // READEQUAÇÃO DE LOCAL DE REALIZAÇÃO } else { if ($read->idTipoReadequacao == 9) { //Se for readequação de local de realização, atualiza os dados na SAC.dbo.Abrangencia. $Abrangencia = new Abrangencia(); $tbAbrangencia = new tbAbrangencia(); $abrangencias = $tbAbrangencia->buscar(array('idReadequacao=?' => $idReadequacao)); foreach ($abrangencias as $abg) { $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); //Se não houve avalição do conselheiro, pega a avaliação técnica como referencia. $avaliacao = $abg->tpAnaliseComissao; if ($abg->tpAnaliseComissao == 'N') { $avaliacao = $abg->tpAnaliseTecnica; } //Se a avaliação foi deferida, realiza as mudanças necessárias na tabela original. if ($avaliacao == 'D') { if ($abg->tpSolicitacao == 'E') { //Se a abrangencia foi excluída, atualiza os status da abrangencia na SAC.dbo.Abrangencia $Abrangencia->delete(array('idProjeto = ?' => $dadosPrj->idProjeto, 'idPais = ?' => $abg->idPais, 'idUF = ?' => $abg->idUF, 'idMunicipioIBGE = ?' => $abg->idMunicipioIBGE)); } else { if ($abg->tpSolicitacao == 'I') { //Se a abangência foi incluída, cria um novo registro na tabela SAC.dbo.Abrangencia $novoLocalRead = array(); $novoLocalRead['idProjeto'] = $dadosPrj->idProjeto; $novoLocalRead['idPais'] = $abg->idPais; $novoLocalRead['idUF'] = $abg->idUF; $novoLocalRead['idMunicipioIBGE'] = $abg->idMunicipioIBGE; $novoLocalRead['Usuario'] = $this->idUsuario; $novoLocalRead['stAbrangencia'] = 1; $Abrangencia->salvar($novoLocalRead); } } } } $dadosAbr = array(); $dadosAbr['stAtivo'] = 'N'; $whereAbr = "idPronac = {$read->idPronac} AND idReadequacao = {$idReadequacao}"; $tbAbrangencia->update($dadosAbr, $whereAbr); // READEQUAÇÃO DE ALTERAÇÃO DE PROPONENTE } else { if ($read->idTipoReadequacao == 10) { //Se for readequação de alteração de proponente, atualiza os dados na SAC.dbo.Projetos. $Projetos = new Projetos(); $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $read->idPronac))->current(); $tbAprovacao = new Aprovacao(); $dadosAprovacao = array('IdPRONAC' => $read->idPronac, 'AnoProjeto' => $dadosPrj->AnoProjeto, 'Sequencial' => $dadosPrj->Sequencial, 'TipoAprovacao' => 8, 'DtAprovacao' => new Zend_Db_Expr('GETDATE()'), 'ResumoAprovacao' => 'Parecer favorável para readequação', 'Logon' => $this->idUsuario, 'idReadequacao' => $idReadequacao); $idAprovacao = $tbAprovacao->inserir($dadosAprovacao); // READEQUAÇÃO DE PLANO DE DISTRIBUIÇÃO } else { if ($read->idTipoReadequacao == 11) { //Se for readequação de plano de distribuição, atualiza os dados na SAC.dbo.PlanoDistribuicaoProduto. $PlanoDistribuicaoProduto = new PlanoDistribuicaoProduto(); $tbPlanoDistribuicao = new tbPlanoDistribuicao(); $planosDistribuicao = $tbPlanoDistribuicao->buscar(array('idReadequacao=?' => $idReadequacao)); foreach ($planosDistribuicao as $plano) { $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); //Se não houve avalição do conselheiro, pega a avaliação técnica como referencia. $avaliacao = $plano->tpAnaliseComissao; if ($plano->tpAnaliseComissao == 'N') { $avaliacao = $plano->tpAnaliseTecnica; } //Se a avaliação foi deferida, realiza as mudanças necessárias na tabela original. if ($avaliacao == 'D') { if ($plano->tpSolicitacao == 'E') { //Se o plano de distribuição foi excluído, atualiza os status do plano na SAC.dbo.PlanoDistribuicaoProduto $PlanoDistribuicaoProduto->delete(array('idProjeto = ?' => $dadosPrj->idProjeto, 'idProduto = ?' => $plano->idProduto, 'Area = ?' => $plano->cdArea, 'Segmento = ?' => $plano->cdSegmento)); } else { if ($plano->tpSolicitacao == 'I') { //Se o plano de distribuição foi incluído, cria um novo registro na tabela SAC.dbo.PlanoDistribuicaoProduto $novoPlanoDistRead = array(); $novoPlanoDistRead['idProjeto'] = $dadosPrj->idProjeto; $novoPlanoDistRead['idProduto'] = $plano->idProduto; $novoPlanoDistRead['Area'] = $plano->cdArea; $novoPlanoDistRead['Segmento'] = $plano->cdSegmento; $novoPlanoDistRead['idPosicaoDaLogo'] = $plano->idPosicaoLogo; $novoPlanoDistRead['QtdeProduzida'] = $plano->qtProduzida; $novoPlanoDistRead['QtdePatrocinador'] = $plano->qtPatrocinador; $novoPlanoDistRead['QtdeProponente'] = $plano->qtProponente; $novoPlanoDistRead['QtdeOutros'] = $plano->qtOutros; $novoPlanoDistRead['QtdeVendaNormal'] = $plano->qtVendaNormal; $novoPlanoDistRead['QtdeVendaPromocional'] = $plano->qtVendaPromocional; $novoPlanoDistRead['PrecoUnitarioNormal'] = $plano->vlUnitarioNormal; $novoPlanoDistRead['PrecoUnitarioPromocional'] = $plano->vlUnitarioPromocional; $novoPlanoDistRead['stPrincipal'] = 0; $novoPlanoDistRead['Usuario'] = $this->idUsuario; $novoPlanoDistRead['dsJustificativaPosicaoLogo'] = null; $novoPlanoDistRead['stPlanoDistribuicaoProduto'] = 1; $PlanoDistribuicaoProduto->inserir($novoPlanoDistRead); } } } } $dadosPDD = array(); $dadosPDD['stAtivo'] = 'N'; $wherePDD = "idPronac = {$read->idPronac} AND idReadequacao = {$idReadequacao}"; $tbPlanoDistribuicao->update($dadosPDD, $wherePDD); // READEQUAÇÃO DE NOME DO PROJETO } else { if ($read->idTipoReadequacao == 12) { //Se for readequação de nome do projeto, insere o registo na tela de Checklist de Publicação. $Projetos = new Projetos(); $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $read->idPronac))->current(); $tbAprovacao = new Aprovacao(); $dadosAprovacao = array('IdPRONAC' => $read->idPronac, 'AnoProjeto' => $dadosPrj->AnoProjeto, 'Sequencial' => $dadosPrj->Sequencial, 'TipoAprovacao' => 8, 'DtAprovacao' => new Zend_Db_Expr('GETDATE()'), 'ResumoAprovacao' => 'Parecer favorável para readequação', 'Logon' => $this->idUsuario, 'idReadequacao' => $idReadequacao); $idAprovacao = $tbAprovacao->inserir($dadosAprovacao); // READEQUAÇÃO DE PERÍODO DE EXECUÇÃO } else { if ($read->idTipoReadequacao == 13) { //Se for readequação de período de execução, atualiza os dados na SAC.dbo.Projetos. $dtFimExecucao = Data::dataAmericana($read->dsSolicitacao); $Projetos = new Projetos(); $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $read->idPronac))->current(); $dadosPrj->DtFimExecucao = $dtFimExecucao; $dadosPrj->save(); // READEQUAÇÃO DE PLANO DE DIVULGAÇÃO } else { if ($read->idTipoReadequacao == 14) { //Se for readequação de plano de divulgacao, atualiza os dados na SAC.dbo.PlanoDeDivulgacao. $PlanoDeDivulgacao = new PlanoDeDivulgacao(); $tbPlanoDivulgacao = new tbPlanoDivulgacao(); $planosDivulgacao = $tbPlanoDivulgacao->buscar(array('idReadequacao=?' => $idReadequacao)); foreach ($planosDivulgacao as $plano) { $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); //Se não houve avalição do conselheiro, pega a avaliação técnica como referencia. $avaliacao = $plano->tpAnaliseComissao; if ($plano->tpAnaliseComissao == 'N') { $avaliacao = $plano->tpAnaliseTecnica; } //Se a avaliação foi deferida, realiza as mudanças necessárias na tabela original. if ($avaliacao == 'D') { if ($plano->tpSolicitacao == 'E') { //Se o plano de divulgação foi excluído, atualiza os status do plano na SAC.dbo.PlanoDeDivulgacao $PlanoDivulgacaoEmQuestao = $PlanoDeDivulgacao->buscar(array('idProjeto = ?' => $dadosPrj->idProjeto, 'idPeca = ?' => $plano->idPeca, 'idVeiculo = ?' => $plano->idVeiculo))->current(); $tbLogomarca = new tbLogomarca(); $dadosLogomarcaDaDivulgacao = $tbLogomarca->buscar(array('idPlanoDivulgacao = ?' => $PlanoDivulgacaoEmQuestao->idPlanoDivulgacao))->current(); $dadosLogomarcaDaDivulgacao->delete(); $PlanoDivulgacaoEmQuestao->delete(); } else { if ($plano->tpSolicitacao == 'I') { //Se o plano de divulgação foi incluído, cria um novo registro na tabela SAC.dbo.PlanoDeDivulgacao $novoPlanoDivRead = array(); $novoPlanoDivRead['idProjeto'] = $dadosPrj->idProjeto; $novoPlanoDivRead['idPeca'] = $plano->idPeca; $novoPlanoDivRead['idVeiculo'] = $plano->idVeiculo; $novoPlanoDivRead['Usuario'] = $this->idUsuario; $novoPlanoDivRead['siPlanoDeDivulgacao'] = 0; $novoPlanoDivRead['idDocumento'] = null; $novoPlanoDivRead['stPlanoDivulgacao'] = 1; $PlanoDeDivulgacao->inserir($novoPlanoDivRead); } } } } $dadosPDD = array(); $dadosPDD['stAtivo'] = 'N'; $wherePDD = "idPronac = {$read->idPronac} AND idReadequacao = {$idReadequacao}"; $tbPlanoDivulgacao->update($dadosPDD, $wherePDD); // READEQUAÇÃO DE RESUMO DO PROJETO } else { if ($read->idTipoReadequacao == 15) { //Se for readequação de resumo do projeto, atualiza os dados na SAC.dbo.PreProjeto. $Projetos = new Projetos(); $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $read->idPronac))->current(); $tbAprovacao = new Aprovacao(); $dadosAprovacao = array('IdPRONAC' => $read->idPronac, 'AnoProjeto' => $dadosPrj->AnoProjeto, 'Sequencial' => $dadosPrj->Sequencial, 'TipoAprovacao' => 8, 'DtAprovacao' => new Zend_Db_Expr('GETDATE()'), 'ResumoAprovacao' => 'Parecer favorável para readequação', 'Logon' => $this->idUsuario, 'idReadequacao' => $idReadequacao); $idAprovacao = $tbAprovacao->inserir($dadosAprovacao); // READEQUAÇÃO DE OBJETIVOS } else { if ($read->idTipoReadequacao == 16) { //Se for readequação de objetivos, atualiza os dados na SAC.dbo.PreProjeto. $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); $PrePropojeto = new PreProjeto(); $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current(); $dadosPreProjeto->Objetivos = $read->dsSolicitacao; $dadosPreProjeto->save(); // READEQUAÇÃO DE JUSTIFICATIVA } else { if ($read->idTipoReadequacao == 17) { //Se for readequação de justificativa, atualiza os dados na SAC.dbo.PreProjeto. $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); $PrePropojeto = new PreProjeto(); $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current(); $dadosPreProjeto->Justificativa = $read->dsSolicitacao; $dadosPreProjeto->save(); // READEQUAÇÃO DE ACESSIBILIDADE } else { if ($read->idTipoReadequacao == 18) { //Se for readequação de acesibilidade, atualiza os dados na SAC.dbo.PreProjeto. $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); $PrePropojeto = new PreProjeto(); $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current(); $dadosPreProjeto->Acessibilidade = $read->dsSolicitacao; $dadosPreProjeto->save(); // READEQUAÇÃO DE DEMOCRATIZAÇÃO DE ACESSO } else { if ($read->idTipoReadequacao == 19) { //Se for readequação de democratização de acesso, atualiza os dados na SAC.dbo.PreProjeto. $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); $PrePropojeto = new PreProjeto(); $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current(); $dadosPreProjeto->DemocratizacaoDeAcesso = $read->dsSolicitacao; $dadosPreProjeto->save(); // READEQUAÇÃO DE ETAPAS DE TRABALHO } else { if ($read->idTipoReadequacao == 20) { //Se for readequação de etapas de trabalho, atualiza os dados na SAC.dbo.PreProjeto. $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); $PrePropojeto = new PreProjeto(); $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current(); $dadosPreProjeto->EtapaDeTrabalho = $read->dsSolicitacao; $dadosPreProjeto->save(); // READEQUAÇÃO DE FICHA TÉCNICA } else { if ($read->idTipoReadequacao == 21) { //Se for readequação de ficha técnica, atualiza os dados na SAC.dbo.PreProjeto. $Projetos = new Projetos(); $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current(); $PrePropojeto = new PreProjeto(); $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current(); $dadosPreProjeto->FichaTecnica = $read->dsSolicitacao; $dadosPreProjeto->save(); } } } } } } } } } } } } } } } } } } } } } //Atualiza a tabela tbReadequacao $dados = array(); $dados['siEncaminhamento'] = 15; //Finalizam sem a necessidade de passar pela publicação no DOU. $dados['stEstado'] = 1; $tiposParaChecklist = array(2, 3, 10, 12, 15); if (in_array($read->idTipoReadequacao, $tiposParaChecklist)) { $dados['siEncaminhamento'] = 9; //Encaminhado pelo sistema para o Checklist de Publicação $dados['stEstado'] = 0; } $dados['idNrReuniao'] = $idNrReuniao; $where = "idReadequacao = {$idReadequacao}"; $return = $tbReadequacao->update($dados, $where); //Atualiza a tabela tbDistribuirReadequacao $dados = array(); $dados['stValidacaoCoordenador'] = 1; $dados['DtValidacaoCoordenador'] = new Zend_Db_Expr('GETDATE()'); $dados['idCoordenador'] = $idCoordenador; $where = "idReadequacao = {$idReadequacao}"; $tbDistribuirReadequacao = new tbDistribuirReadequacao(); $return2 = $tbDistribuirReadequacao->update($dados, $where); if (!$return && !$return2) { parent::message("Não foi possível encaminhar a readequação para o Checklist de Publicação", "readequacoes/painel?tipoFiltro=analisados", "ERROR"); } parent::message("Readequação encaminhada com sucesso!", "readequacoes/painel?tipoFiltro=analisados", "CONFIRM"); }
/** * * @param type $prorrogacaoRow * @param type $observacao * @param type $atendimento * @param type $logon * @param type $dataInicial * @param type $dataFinal */ public function atualizaAnaliseProrrogacao($prorrogacaoRow, $observacao, $atendimento, $logon, $dataInicial, $dataFinal) { $prorrogacaoRow->Observacao = $observacao; $prorrogacaoRow->Atendimento = $atendimento; $prorrogacaoRow->Logon = $logon; $prorrogacaoRow->DtInicio = Data::dataAmericana($dataInicial); $prorrogacaoRow->DtFinal = Data::dataAmericana($dataFinal); $prorrogacaoRow->save(); }
/** * Método para buscar projetos com comprovantes aguardando aprovação * @access public * @param void * @return void */ public function aguardandoaprovacaoAction() { // autenticação e permissões zend (AMBIENTE MINC) // define as permissões $PermissoesGrupo = array(); $PermissoesGrupo[] = 122; // Coordenador de Acompanhamento $PermissoesGrupo[] = 123; // Coordenador - Geral de Acompanhamento parent::perfil(1, $PermissoesGrupo); // caso o formulário seja enviado via post // realiza a busca de acordo com os parâmetros enviados if ($this->getRequest()->isPost()) { // recebe o pronac via post $post = Zend_Registry::get('post'); $pronac = $post->pronac == 'Digite o Pronac...' ? '' : $post->pronac; $status = $post->status; if ($post->dt_inicio == '00/00/0000') { $post->dt_inicio = ""; } if ($post->dt_fim == '00/00/0000') { $post->dt_fim = ""; } $dt_inicio = !empty($post->dt_inicio) ? Data::dataAmericana($post->dt_inicio) . " 00:00:00" : $post->dt_inicio; $dt_fim = !empty($post->dt_fim) ? Data::dataAmericana($post->dt_fim) . " 23:59:59" : $post->dt_fim; // data a ser validada $dt_begin = $dt_inicio; $dt_end = $dt_fim; $dt_begin = explode(" ", $dt_begin); $dt_end = explode(" ", $dt_end); try { // valida o número do pronac if (!empty($pronac) && strlen($pronac) > 20) { throw new Exception("O Nº do PRONAC é inválido!"); } else { if (!empty($dt_inicio) && !Data::validarData(Data::dataBrasileira($dt_begin[0]))) { throw new Exception("A data inicial é inválida!"); } else { if (!empty($dt_fim) && !Data::validarData(Data::dataBrasileira($dt_end[0]))) { throw new Exception("A data final é inválida!"); } else { // busca os projetos com comprovantes $resultado = ComprovanteExecucaoFisicaDAO::buscarProjetos($pronac, $status, $dt_inicio, $dt_fim); } } } } catch (Exception $e) { parent::message($e->getMessage(), "execucaofisicadoprojeto/aguardandoaprovacao", "ERROR"); } } else { $resultado = ComprovanteExecucaoFisicaDAO::buscarProjetos(); } // fecha else // ========== INÍCIO PAGINAÇÃO ========== //criando a paginaçao Zend_Paginator::setDefaultScrollingStyle('Sliding'); Zend_View_Helper_PaginationControl::setDefaultViewPartial('paginacao/paginacao.phtml'); $paginator = Zend_Paginator::factory($resultado); // dados a serem paginados // página atual e quantidade de ítens por página $currentPage = $this->_getParam('page', 1); $paginator->setCurrentPageNumber($currentPage)->setItemCountPerPage(20); // ========== FIM PAGINAÇÃO ========== // manda para a visão $this->view->paginacao = $paginator; $this->view->qtd = count($resultado); // quantidade }
public function mandatoAction() { $this->autenticacao(); if (!empty($_POST)) { $idAgente = $this->_request->getParam("id"); $idDirigente = $this->_request->getParam("idDirigente"); $tbDirigenteMandato = new tbAgentesxVerificacao(); $idVerificacao = $this->_request->getParam("idVerificacao"); $dsNumeroDocumento = $this->_request->getParam("dsNumeroDocumento"); $idDirigente = $this->_request->getParam("idDirigente"); $dtInicioVigencia = $this->_request->getParam("dtInicioVigencia"); $dtInicioVigencia = Data::dataAmericana($dtInicioVigencia); $dtTerminoVigencia = $this->_request->getParam("dtTerminoVigencia"); $dtTerminoVigencia = Data::dataAmericana($dtTerminoVigencia); $stMandato = 0; $idArquivo = $this->_request->getParam("idArquivo"); //validação data do mandato $buscarMandato = $tbDirigenteMandato->mandatoRepetido($idAgente, $dtInicioVigencia, $dtTerminoVigencia); if (count($buscarMandato) > 0) { parent::message("Não poderá inserir um novo mandato, pois já existe um mandato em vigor para esse dirigente!mandatos", "agentes/visualizadirigente/id/" . $idAgente . "/idDirigente/" . $idDirigente, "ERROR"); } if (count($_FILES) > 0) { foreach ($_FILES['arquivo']['name'] as $key => $val) { $arquivoNome = $_FILES['arquivo']['name'][$key]; $arquivoTemp = $_FILES['arquivo']['tmp_name'][$key]; $arquivoTipo = $_FILES['arquivo']['type'][$key]; $arquivoTamanho = $_FILES['arquivo']['size'][$key]; $arquivoExtensao = Upload::getExtensao($arquivoNome); // extensão if ($arquivoExtensao != "doc" && $arquivoExtensao != "docx") { if (!empty($arquivoTemp)) { $idArquivo = $this->cadastraranexo($arquivoNome, $arquivoTemp, $arquivoTipo, $arquivoTamanho); $dados = array('idArquivo' => $idArquivo, 'idTipoDocumento' => 0); $tabela = new tbDocumento(); $idDocumento = $tabela->inserir($dados); if ($idDocumento) { $idDocumento = $tabela->ultimodocumento(array('idArquivo = ? ' => $idArquivo)); $idDocumento = $idDocumento->idDocumento; } else { $ERROR .= "Erro no anexo"; $idDocumento = 0; $erro = true; } } } else { parent::message("Não são permitidos documentos de texto doc/docx!", "agentes/visualizadirigente/id/" . $idAgente . "/idDirigente/" . $idDirigente, "ERROR"); } } } try { $arrayMandato = array('idVerificacao' => $idVerificacao, 'dsNumeroDocumento' => $dsNumeroDocumento, 'dtInicioMandato' => $dtInicioVigencia, 'dtFimMandato' => $dtTerminoVigencia, 'stMandato' => $stMandato, 'idEmpresa' => $idAgente, 'idDirigente' => $idDirigente); if ($idArquivo > 0) { $arrayMandato['idArquivo'] = $idArquivo; } $salvarMandato = $tbDirigenteMandato->inserir($arrayMandato); $buscarMandato = $tbDirigenteMandato->buscar(array('idAgentexVerificacao = ?' => $salvarMandato)); if (!empty($buscarMandato)) { $dadosBuscar['idVerificacao'] = $buscarMandato[0]->idVerificacao; $dadosBuscar['dsNumeroDocumento'] = $buscarMandato[0]->dsNumeroDocumento; $dadosBuscar['dtInicioMandato'] = $buscarMandato[0]->dtInicioMandato; $dadosBuscar['dtFimMandato'] = $buscarMandato[0]->dtFimMandato; $dadosBuscar['stMandato'] = $buscarMandato[0]->stMandato; $dadosBuscar['idEmpresa'] = $buscarMandato[0]->idEmpresa; $dadosBuscar['idDirigente'] = $buscarMandato[0]->idDirigente; $dadosBuscar['idArquivo'] = $buscarMandato[0]->idArquivo; // echo json_encode($dadosBuscar); // exit(); } parent::message("Cadastro realizado com sucesso!", "agentes/visualizadirigente/id/" . $idAgente . "/idDirigente/" . $idDirigente, "CONFIRM"); } catch (Exception $e) { parent::message("Erro ao salvar o mandato:" . $e->getMessage(), "agentes/visualizadirigente/id/" . $idAgente . "/idDirigente/" . $idDirigente, "ERROR"); } } }
public function cadastrarProrrogacaoAction() { $projetos = new Projetos(); $DadosProjeto = $projetos->buscar(array('idPronac = ?' => $_POST['pronac']))->current(); $dataI = explode('/', $_POST['dtInicio']); $dtI = checkdate($dataI[1], $dataI[0], $dataI[2]); if (!$dtI) { parent::message("Data Início inválida.", "solicitarprorrogacao", "ERROR"); } $dataF = explode('/', $_POST['dtFinal']); $dtF = checkdate($dataF[1], $dataF[0], $dataF[2]); if (!$dtF) { parent::message("Data Final inválida.", "solicitarprorrogacao", "ERROR"); } $pa = new paChecklistSolicitacaoProrrogacaoPrazo(); $resutadoPA = $pa->checkSolicitacao($_POST['pronac'], Data::dataAmericana($_POST['dtInicio']), Data::dataAmericana($_POST['dtFinal']), 'I'); if (count($resutadoPA) > 0) { $Projetos = new Projetos(); $this->view->dadosProjeto = $Projetos->buscar(array('IdPRONAC = ?' => $_POST['pronac'])); $this->view->Erros = $resutadoPA; } else { // $idDocumento = null; $idDocumento = ''; if (!empty($_FILES['arquivo']['tmp_name'])) { $arquivoNome = $_FILES['arquivo']['name']; // nome $arquivoTemp = $_FILES['arquivo']['tmp_name']; // nome temporário $arquivoTipo = $_FILES['arquivo']['type']; // tipo $arquivoTamanho = $_FILES['arquivo']['size']; // tamanho if (!empty($arquivoNome) && !empty($arquivoTemp)) { $arquivoExtensao = Upload::getExtensao($arquivoNome); // extensão $arquivoBinario = Upload::setBinario($arquivoTemp); // binário $arquivoHash = Upload::setHash($arquivoTemp); // hash } if (!isset($_FILES['arquivo'])) { parent::message("O arquivo não atende os requisitos informados no formulário.", "solicitarprorrogacao", "ERROR"); } if (empty($_FILES['arquivo']['tmp_name'])) { parent::message("Falha ao anexar o arquivo.", "solicitarprorrogacao", "ERROR"); } $tipos = array('pdf'); if (!in_array(strtolower($arquivoExtensao), $tipos)) { parent::message("Favor selecionar o arquivo no formato PDF!", "solicitarprorrogacao", "ERROR"); } $dataString = file_get_contents($arquivoTemp); $arrData = unpack("H*hex", $dataString); $data = "0x" . $arrData['hex']; // ==================== PERSISTE DADOS DO ARQUIVO =================// $dadosArquivo = array('nmArquivo' => $arquivoNome, 'sgExtensao' => $arquivoExtensao, 'biArquivo' => $data, 'dsDocumento' => 'Cadastro de Prorrogação de Prazo de Captação', 'idPronac' => $_POST['pronac'], 'idTipoDocumento' => 27); $Arquivo = new Arquivo(); $Arquivo->inserirUploads($dadosArquivo); $DocumentoProjeto = new tbDocumentoProjetoBDCORPORATIVO(); $dadosDocumento = $DocumentoProjeto->buscar(array('idPronac =?' => $_POST['pronac'], 'idTipoDocumento =?' => 27), array('idDocumento DESC')); $idDocumento = $dadosDocumento[0]->idDocumento; } $dados = array('idPronac' => $DadosProjeto->IdPRONAC, 'AnoProjeto' => $DadosProjeto->AnoProjeto, 'Sequencial' => $DadosProjeto->Sequencial, 'DtInicioExecucao' => $DadosProjeto->DtInicioExecucao, 'DtFimExecucao' => $DadosProjeto->DtFimExecucao, 'Justificativa' => $_POST['justificativa'], 'idUsuario' => $this->idUsuario, 'idDocumento' => $idDocumento, 'DtInicio' => Data::dataAmericana($_POST['dtInicio']), 'DtFinal' => Data::dataAmericana($_POST['dtFinal'])); $vw = new vwSolicitarProrrogacaoPrazoCaptacao(); $vw->inserir($dados); parent::message("Pedido de prorrogação enviado ao Ministério da Cultura com sucesso!", "consultardadosprojeto/index?idPronac=" . Seguranca::encrypt($DadosProjeto->IdPRONAC), "CONFIRM"); } }
public function imprimirResultadoContaBancariaAction() { //FUNÇÃO ACESSADA SOMENTE PELO TEC., COORD. E COORD. GERAL DE ACOMPANHAMENTO if ($this->idPerfil != 121 && $this->idPerfil != 122 && $this->idPerfil != 123) { parent::message("Você não tem permissão para acessar essa área do sistema!", "principal", "ALERT"); } //DEFINE PARAMETROS DE ORDENACAO / QTDE. REG POR PAG. / PAGINACAO if ($this->_request->getParam("qtde")) { $this->intTamPag = $this->_request->getParam("qtde"); } $order = array(); //==== parametro de ordenacao ======// if ($this->_request->getParam("ordem")) { $ordem = $this->_request->getParam("ordem"); if ($ordem == "ASC") { $novaOrdem = "DESC"; } else { $novaOrdem = "ASC"; } } else { $ordem = "ASC"; $novaOrdem = "ASC"; } //==== campo de ordenacao ======// if ($this->_request->getParam("campo")) { $campo = $this->_request->getParam("campo"); $order = array($campo . " " . $ordem); $ordenacao = "&campo=" . $campo . "&ordem=" . $ordem; } else { $campo = null; $order = array(1); //idPronac $ordenacao = null; } $pag = 1; $get = Zend_Registry::get('post'); if (isset($get->pag)) { $pag = $get->pag; } $inicio = $pag > 1 ? ($pag - 1) * $this->intTamPag : 0; /* ================== PAGINACAO ======================*/ $where = array(); if (!empty($_POST['pronac'])) { $this->view->pronac = $_POST['pronac']; $where["(p.AnoProjeto+p.Sequencial) = ?"] = $_POST['pronac']; } if (!empty($_POST['tpPessoa']) || $_POST['tpPessoa'] == '0') { $this->view->tpPessoa = $_POST['tpPessoa']; $where["a.TipoPessoa = ?"] = $_POST['tpPessoa']; } if (!empty($_POST['ocorrencia']) && $_POST['ocorrencia'] != '000') { $this->view->ocorrencia = $_POST['ocorrencia']; $where["c.OcorrenciaCB = ?"] = $_POST['ocorrencia']; } if (!empty($_POST['estadoConta'])) { $this->view->estadoConta = $_POST['estadoConta']; if ($_POST['estadoConta'] == 1) { $where["c.ContaBloqueada = ?"] = '000000000000'; } else { $where["c.ContaBloqueada <> ?"] = '000000000000'; } } if (!empty($_POST['tpDtLtCap'])) { //SE O USUARIO NÃO INFORMAR A DATA CORRETAMENTE, O SISTEMA RETORNA A MSG. if (empty($_POST['dtInicioLtCap'])) { parent::message("Faltou informar a data para a realizarmos a pesquisa!", "operacional/conta-bancaria", "ALERT"); } else { $d1 = Data::dataAmericana($_POST['dtInicioLtCap']); $this->view->dtInicioLtCap = $_POST['dtInicioLtCap']; //SE O USUARIO INFORMAR QUE DESEJA FAZER UMA ANALISE ENTRE DUAS DATAS E NAO INFORMAR A SEGUNDA DATA, O SISTEMA RETORNA A MSG. if ($_POST['tpDtLtCap'] == "entre" && empty($_POST['dtFimLtCap'])) { parent::message("Faltou informar a data final para a realizarmos a pesquisa!", "operacional/conta-bancaria", "ALERT"); } if ($_POST['tpDtLtCap'] == "igual") { $where["c.DtLoteRemessaCL BETWEEN '{$d1} 00:00:00' AND '{$d1} 23:59:59.999'"] = ''; } else { if ($_POST['tpDtLtCap'] == "entre") { $d2 = Data::dataAmericana($_POST['dtFimLtCap']); $this->view->dtFimLtCap = $_POST['dtFimLtCap']; $where["c.DtLoteRemessaCL BETWEEN '{$d1} 00:00:00' AND '{$d2} 23:59:59.999'"] = ''; } else { if ($_POST['tpDtLtCap'] == "maior") { $where["c.DtLoteRemessaCL >= ?"] = $d1 . ' 00:00:00'; } else { if ($_POST['tpDtLtCap'] == "menor") { $where["c.DtLoteRemessaCL <= ?"] = $d1 . ' 23:59:59.999'; } } } } $this->view->tpDtLtCap = $_POST['tpDtLtCap']; } } $Orgaos = new Orgaos(); $idSecretaria = $Orgaos->buscar(array('codigo = ?' => $this->idOrgao))->current(); if (isset($idSecretaria) && !empty($idSecretaria)) { if ($idSecretaria->idSecretaria == 160) { $where['p.Area = ?'] = 2; } else { $where['p.Area <> ?'] = 2; } } $ContaBancaria = new ContaBancaria(); $total = $ContaBancaria->painelContasBancarias($where, $order, null, null, true); $fim = $inicio + $this->intTamPag; $totalPag = (int) ($total % $this->intTamPag == 0 ? $total / $this->intTamPag : $total / $this->intTamPag + 1); $tamanho = $fim > $total ? $total - $inicio : $this->intTamPag; $busca = $ContaBancaria->painelContasBancarias($where, $order, $tamanho, $inicio); $this->view->qtdRegistros = $total; $this->view->dados = $busca; $this->_helper->layout->disableLayout(); // Desabilita o Zend Layout }
public function imprimirProjetosLiberadosAction() { $this->_helper->layout->disableLayout(); // Desabilita o Zend Layout $post = Zend_Registry::get('post'); //DEFINE PARAMETROS DE ORDENACAO / QTDE. REG POR PAG. / PAGINACAO if ($this->_request->getParam("qtde")) { $this->intTamPag = $this->_request->getParam("qtde"); } $order = array(); //==== parametro de ordenacao ======// if ($this->_request->getParam("ordem")) { $ordem = $this->_request->getParam("ordem"); if ($ordem == "ASC") { $novaOrdem = "DESC"; } else { $novaOrdem = "ASC"; } } else { $ordem = "ASC"; $novaOrdem = "ASC"; } //==== campo de ordenacao ======// if ($this->_request->getParam("campo")) { $campo = $this->_request->getParam("campo"); $order = array($campo . " " . $ordem); $ordenacao = "&campo=" . $campo . "&ordem=" . $ordem; } else { $campo = null; $order = array(3); //Pronac $ordenacao = null; } $where = array(); $where['n.TipoNome in (?)'] = array(18, 19); if (isset($post->pronac) && !empty($post->pronac)) { $where['p.AnoProjeto+p.Sequencial = ?'] = $post->pronac; } if (isset($post->cnpjcpf) && !empty($post->cnpjcpf)) { $where['a.CNPJCPF = ?'] = Mascara::delMaskCPFCNPJ($post->cnpjcpf); } if (isset($post->dtI) && !empty($post->dtI)) { $d1 = Data::dataAmericana($post->dtI); if ($post->tipo_dt == 1) { $where["l.DtLiberacao BETWEEN '{$d1}' AND '{$d1} 23:59:59:999'"] = ''; } else { if ($post->tipo_dt == 2) { $d2 = Data::dataAmericana($post->dtF); $where["l.DtLiberacao BETWEEN '{$d1}' AND '{$d2}'"] = ''; } } } if (isset($post->secretaria) && !empty($post->secretaria)) { if ($post->secretaria == 1) { $where['p.Area <> ?'] = 2; } else { $where['p.Area = ?'] = 2; } } $Liberacao = new Liberacao(); $busca = $Liberacao->consultarLiberacoes($where, $order); $this->view->dados = $busca; $this->view->vlrTotalGrid = $Liberacao->consultarLiberacoesTotalValorGrid($where); }
function gravarAlteracaoProjetoAction() { $this->_helper->layout->disableLayout(); $GrupoAtivo = new Zend_Session_Namespace('GrupoAtivo'); // cria a sessão com o grupo ativo $auth = Zend_Auth::getInstance(); // pega a autenticação $post = Zend_Registry::get('post'); $idpronac = $post->idpronac; $areacultural = $post->areacultural; $segmento = $post->segmento; $enquadramento = $post->enquadramento; $dsjustificativaEnquadramento = Seguranca::tratarVarAjaxUFT8($post->dsjustificativa); $dtinicioexec = Data::dataAmericana($post->dtinicioexecucao); $dtfimexecucao = Data::dataAmericana($post->dtfimexecucao); $dtinicaptacao = Data::dataAmericana($post->dataCaptacaoIni); $dtfimcaptacao = Data::dataAmericana($post->dataCaptacaoFim); $idAprovacao = $post->idAprovacao; $nomeProjeto = Seguranca::tratarVarAjaxUFT8($post->nomeProjeto); $resumoProjeto = Seguranca::tratarVarAjaxUFT8($post->resumoProjeto); $usuario = $auth->getIdentity()->usu_codigo; //$urlRetorno = "index.php"; // Alterar projetos try { //DADOS DO PROJETO $dadosProjeto = array("Area" => $areacultural, "Segmento" => $segmento, "DtInicioExecucao" => $dtinicioexec, "DtFimExecucao" => $dtfimexecucao, "Logon" => $usuario, "NomeProjeto" => $nomeProjeto, "ResumoProjeto" => $resumoProjeto); $alterarTabelaProjetos = ProjetosDAO::alterarDadosProjeto($dadosProjeto, $idpronac); //DADOS ENQUADRAMENTO $dadosEnquadramento = array("Enquadramento" => $enquadramento, "Observacao" => $dsjustificativaEnquadramento, "DtEnquadramento" => new Zend_Db_Expr('GETDATE()'), "Logon" => $usuario); $alterarEnquadramento = EnquadramentoDAO::AlterarEnquadramento($dadosEnquadramento, $idpronac); //DADOS APROVACAO $tblAprovacao = new Aprovacao(); $rsAprovacao = $tblAprovacao->buscar(array('idAprovacao=?' => $idAprovacao))->current(); //ATUALIZANDO PERIODO DE CAPTACAO $rsAprovacao->DtInicioCaptacao = $dtinicaptacao; $rsAprovacao->DtFimCaptacao = $dtfimcaptacao; $rsAprovacao->Logon = $usuario; $rsAprovacao->save(); //STATUS AVALIACAO $tblVerificaProjeto = new tbVerificaProjeto(); $rsVP = $tblVerificaProjeto->buscar(array('idPronac=?' => $idpronac))->current(); $dadosVP = array(); if (empty($rsVP)) { $dadosVP['idPronac'] = $idpronac; $dadosVP['idOrgao'] = $this->codOrgao; $dadosVP['idAprovacao'] = $idAprovacao; $dadosVP['idUsuario'] = $usuario; $dadosVP['stAnaliseProjeto'] = 2; $dadosVP['dtRecebido'] = new Zend_Db_Expr('GETDATE()'); //$dadosVP['dtFinalizado']= $idpronac; //$dadosVP['dtPortaria'] = $idpronac; $dadosVP['stAtivo'] = 1; $tblVerificaProjeto->inserir($dadosVP); } else { $rsVP->stAnaliseProjeto = '2'; $rsVP->save(); } echo json_encode(array('error' => false, "msg" => "Projeto alterado com sucesso!")); die; //parent::message("Projeto alterado com sucesso!!", "checklistpublicacao/", "CONFIRM"); } catch (Exception $e) { echo json_encode(array('error' => true, "msg" => "Erro ao atualizar informações! As alterações não foram salvas. " . $e->getMessage())); die; //parent::message("Erro ao atualizar informações! Operação não realizada. ".$e->getMessage(), "checklistpublicacao/", "ERROR"); } }
/** * Método salvar() * @access public * @param void * @return List */ public function salvarAction() { $tbComunicados = new tbComunicados(); $url = $this->_request->getParam("url"); $idComunicado = $this->_request->getParam("idComunicado"); $dtInicioVigencia = $this->_request->getParam("dtInicioVigencia"); $dtTerminoVigencia = $this->_request->getParam("dtTerminoVigencia"); $stEstado = $this->_request->getParam("stEstado"); $stOpcao = $this->_request->getParam("stOpcao"); // $comunicado = strip_tags($this->_request->getParam("comunicado"),'<strike><a><b><i><u><ol><li><ul><strong><blockquote><font>'); $comunicado = $this->_request->getParam("comunicado"); if (empty($url)) { $url = "consultar"; } if (empty($dtInicioVigencia)) { $dtInicio = new Zend_Db_Expr('GETDATE()'); } else { $dtInicio = Data::dataAmericana($dtInicioVigencia); } if (empty($dtTerminoVigencia)) { $dtTermino = null; } else { $dtTermino = Data::dataAmericana($dtTerminoVigencia); } $dados = array("Comunicado" => $comunicado, "idSistema" => 21, "stOpcao" => $stOpcao, "stEstado" => $stEstado, "dtInicioVigencia" => $dtInicio, "dtTerminoVigencia" => $dtTermino); try { if (!empty($idComunicado)) { $where['idComunicado = ?'] = $idComunicado; $salvar = $tbComunicados->alterar($dados, $where); } else { $salvar = $tbComunicados->inserir($dados); } parent::message("Solicitação enviada com sucesso!", "comunicados/consultar/" . $url, "CONFIRM"); } catch (Exception $e) { parent::message("Erro ao salvar: " . $e->getMessage(), "comunicados/editar/idComunicado/" . $idComunicado, "ERROR"); } }
public function salvarInformacaoGeralAction() { //Recupera os parametros que vem da View $idEdital = $this->_request->getParam('idEdital'); $nmEdital = $this->_request->getParam('nmEdital'); $nrEdital = $this->_request->getParam('nrEdital'); $dtInicioEdital = $this->_request->getParam('dtInicioElaboracao'); $dtFimEdital = $this->_request->getParam('dtFimElaboracao'); $dtInicioRealizacao = $this->_request->getParam('dtInicioRealizacao'); $dtFimRealizacao = $this->_request->getParam('dtFimRealizacao'); $origemRecurso = $this->_request->getParam('origemRecurso'); $tipoPremiacao = $this->_request->getParam('tipoPremiacao'); $qtAvaliadores = $this->_request->getParam('quantidadeAvaliadores'); $segmento = $this->_request->getParam('segmento'); $tipoparticipacao = $this->_request->getParam('tipoParticipacaoEdital'); $qtTipoParticipacao = $this->_request->getParam('qtdTipoParticipacaoEdital'); $dtInicioEditalInvertida = Data::dataAmericana($dtInicioEdital); $dtFimEditalInvertida = Data::dataAmericana($dtFimEdital); $nEdital = new NovoEdital(); $modelEditalTipoParticipacao = new tbEditalTipoParticipacao(); $tbEditalAreaSegmento = new tbEditalAreaSegmento(); $db = Zend_Db_Table::getDefaultAdapter(); $db->beginTransaction(); try { $dados = array('nmEdital' => $nmEdital, 'nrEdital' => $nrEdital, 'dtInicioEdital' => $dtInicioEditalInvertida, 'dtFimEdital' => $dtFimEditalInvertida, 'dtInicioRealizacao' => $dtInicioRealizacao == '' ? new Zend_Db_Expr('NULL') : Data::dataAmericana($dtInicioRealizacao), 'dtFimRealizacao' => $dtFimRealizacao == '' ? new Zend_Db_Expr('NULL') : Data::dataAmericana($dtFimRealizacao), 'qtAvaliadores' => $qtAvaliadores, 'idOrigemRecurso' => $origemRecurso == '0' ? new Zend_Db_Expr('NULL') : $origemRecurso, 'idTpPremiacao' => $tipoPremiacao); // xd($dados); $where = array('idEdital = ?' => $idEdital); //Atualizando informações na tabela tbEdital $nEdital->salvardadosgerais($dados, $where); // Excluir todos com idEdital = $idEdital $tbEditalAreaSegmento->delete(array('idEdital = ?' => $idEdital)); // Pega os dados de segmento foreach ($segmento as $as) { $idArea = substr($as, 0, 1); $idSegmento = $as; $dados = array('idEdital' => $idEdital, 'idArea' => $idArea, 'idSegmento' => $idSegmento); x($dados); // salva na nova tabela nova tbEditalAreaSegmento $tbEditalAreaSegmento->inserir($dados); } if (isset($tipoparticipacao)) { $modelEditalTipoParticipacao->delete(array('idEdital = ?' => $idEdital)); foreach ($tipoparticipacao as $key => $tpart) { $dadosTipoParticipacao = array('idEdital' => $idEdital, 'idTpParticipacao' => $tpart, 'qtParticipacao' => $qtTipoParticipacao[$tpart - 1]); $modelEditalTipoParticipacao->associarEditalTipoParticipacao($dadosTipoParticipacao); } } $db->commit(); if (isset($_POST['salvarDados']) && !empty($_POST['salvarDados'])) { parent::message('Dados salvos com sucesso!', 'edital/informacao-geral/idEdital/' . $idEdital, 'CONFIRM'); } parent::message('Informações gerais do Edital com sucesso!', 'edital/criterios-avaliacao/idEdital/' . $idEdital, 'CONFIRM'); } catch (Exception $exc) { $db->rollBack(); xd($exc->getMessage()); parent::message('Erro ao cadastrar as Informações gerais do Edital', 'edital/informacao-geral/idEdital/' . $idEdital, 'ERROR'); } }
public static function atualizaCertidao($post, $cpfCgc, $codigoCertidao) { //print_r($post);die; if (isset($_POST['situacao'])) { $codigoSituacao = $_POST['situacao']; } $dataEmissao = $_POST['dataEmissao']; $hora = $_POST['hora']; $dataEmissaoHora = Data::dataAmericana($dataEmissao) . " " . $hora; $dataEmissaoFormatada = str_replace("/", "-", $dataEmissaoHora); if (!isset($_POST['situacao'])) { $validade = $_POST['validade']; $dataValidadeHora = Data::dataAmericana($validade) . " " . date('h:i:s'); $dataValidadeFormatada = str_replace("/", "-", $dataValidadeHora); } $pronac = $_POST['projeto']; $protocolo = trim($_POST['protocolo']); if (isset($_POST['situacao'])) { echo $sql = "UPDATE SAC.dbo.CertidoesNegativas\n SET DtEmissao = '{$dataEmissaoFormatada}', \n cdProtocoloNegativa = {$protocolo}, \n cdSituacaoCertidao = {$codigoSituacao} , \n AnoProjeto = '" . substr($pronac, 0, 2) . "',\n Sequencial = '" . substr($pronac, 2, strlen($pronac) - 2) . "'\n where CgcCpf = '{$cpfCgc}' and CodigoCertidao = {$codigoCertidao}"; } else { echo $sql = "UPDATE SAC.dbo.CertidoesNegativas\n SET DtEmissao = '{$dataEmissaoFormatada}', \n DtValidade = '{$dataValidadeFormatada}',\n cdProtocoloNegativa = {$protocolo} ,\n AnoProjeto = '" . substr($pronac, 0, 2) . "',\n Sequencial = '" . substr($pronac, 2, strlen($pronac) - 2) . "'\n where CgcCpf = '{$cpfCgc}' and CodigoCertidao = {$codigoCertidao}"; } $db = Zend_Registry::get('db'); $db->setFetchMode(Zend_DB::FETCH_OBJ); return $db->fetchAll($sql); }
/** * Salva o arquivo do banco do brasil: * toda vez que acessar aqui, verificar se o arquivo do BB existe, * caso o arquivo exista, grava os dados no banco e exclui o arquivo. * **************************************************************************************************** * OBS: Por enquanto foi substituído pela TRIGGER/SP, mas, é bom não retirá-lo para o caso de precisar * **************************************************************************************************** * @access public * @param void * @return void */ public function salvararquivobbAction() { $this->_helper->layout->disableLayout(); // desabilita o layout // diretório onde se encontram os arquivos do banco $dir = getcwd() . $this->arquivoTXT; // abre o diretório if (($abrir = opendir($dir)) === false) { throw new Exception('Não foi possível abrir o diretório ' . $dir . '!'); } // busca todos os arquivos do diretório while (($arq = readdir($abrir)) !== false) { // verifica se a extensão do arquivo é .txt if (substr(strtolower($arq), -4) == '.txt') { // array contendo o caminho/nome completo de cada arquivo $arquivos[] = $dir . '/' . $arq; } // fecha if } // fecha while // caso exista arquivo(s) .txt no diretório: // 1. Varre o conteúdo de cada arquivo // 2. Grava o conteúdo de cada arquivo no banco // 3. Deleta o arquivo do diretório if (isset($arquivos) && count($arquivos) > 0) { // ========== INÍCIO - VARRE O ARQUIVO DETALHADAMENTE ========== foreach ($arquivos as $arquivoTXT) { // abre o arquivo para leitura $abrir_arquivo = fopen($arquivoTXT, 'r'); // contador para os dados das constantes $cont1 = 0; // constante 1 $cont2 = 0; // constante 2 $cont3 = 0; // constante 3 $cont9 = 0; // constante 9 // arrays com os dados de cada constante $movimentacao1 = array(); // constante 1 $movimentacao2 = array(); // constante 2 $movimentacao3 = array(); // constante 3 $movimentacao9 = array(); // constante 9 $id_ultima_movimentacao = 0; // id contendo a última movimentação $id_ultima_movimentacao_item = 0; // id contendo o último item movimentação $erros = array(); // verificador de erros // início while de leitura do arquivo linha por linha while (!feof($abrir_arquivo)) { // pega a linha do arquivo $linha = fgets($abrir_arquivo, 4096); //echo $linha . '<br />'; // ========== INÍCIO CONSTANTE 1 (HEADER) ========== if (substr($linha, 0, 1) == 1) { $movimentacao1['nr_banco'][$cont1] = substr($linha, 1, 3); // NÚMERO DO BANCO $movimentacao1['nm_arquivo'][$cont1] = substr($linha, 4, 40); // NOME DO ARQUIVO $movimentacao1['dt_arquivo'][$cont1] = substr($linha, 44, 8); // DATA DA GERAÇÃO DO ARQUIVO $movimentacao1['dt_inicio_movimentacao'][$cont1] = substr($linha, 52, 8); // DATA DE INÍCIO DA MOVIMENTAÇÃO BANCÁRIA $movimentacao1['dt_fim_movimentacao'][$cont1] = substr($linha, 60, 8); // DATA FINAL DA MOVIMENTAÇÃO BANCÁRIA // gravar no banco os dados do arquivo $dados_movimentacao = array('nrBanco' => $movimentacao1['nr_banco'][$cont1], 'nmArquivo' => $movimentacao1['nm_arquivo'][$cont1], 'dtArquivo' => Data::dataAmericana(Mascara::addMaskDataBrasileira($movimentacao1['dt_arquivo'][$cont1])), 'dtInicioMovimento' => Data::dataAmericana(Mascara::addMaskDataBrasileira($movimentacao1['dt_inicio_movimentacao'][$cont1])), 'dtFimMovimento' => Data::dataAmericana(Mascara::addMaskDataBrasileira($movimentacao1['dt_fim_movimentacao'][$cont1])), 'idAgente' => $this->getIdUsuario); $this->tbMovimentacaoBancaria = new tbMovimentacaoBancaria(); $id_ultima_movimentacao = $this->tbMovimentacaoBancaria->cadastrarDados($dados_movimentacao); $cont1++; //incrementa o contador } // ========== FIM CONSTANTE 1 (HEADER) ========== // ========== INÍCIO CONSTANTE 2 ========== if (substr($linha, 0, 1) == 2) { $movimentacao2['agencia'][$cont2] = substr($linha, 1, 4); // PREFIXO DA AGÊNCIA $movimentacao2['dv_agencia'][$cont2] = substr($linha, 5, 1); // DIGITO VERIFICADOR DA AGÊNCIA $movimentacao2['conta'][$cont2] = substr($linha, 6, 9); // NÚMERO DA CONTA CORRENTE $movimentacao2['dv_conta'][$cont2] = substr($linha, 15, 1); // DIGITO VERIFICADOR DA CONTA CORRENTE $movimentacao2['titulo_razao'][$cont2] = substr($linha, 16, 12); // CÓDIGO TÍTULO RAZÃO DA CONTA CORRENTE $movimentacao2['nome_abreviado'][$cont2] = substr($linha, 28, 30); // NOME ABREVIADO $movimentacao2['dt_abertura'][$cont2] = substr($linha, 58, 8); // DATA DA ABERTURA DA CONTA CORRENTE $movimentacao2['cnpj_cpf'][$cont2] = substr($linha, 66, 14); // CNPJ OU CPF DA CONTA CORRENTE $movimentacao2['saldo_inicial'][$cont2] = (double) substr($linha, 80, 18); // SALDO INICIAL DA CONTA CORRENTE $movimentacao2['dc_saldo_inicial'][$cont2] = substr($linha, 98, 1); // DEBITO OU CREDITO DO SALDO INICIAL $movimentacao2['saldo_final'][$cont2] = (double) substr($linha, 99, 18); // SALDO FINAL NA CONTA CORRENTE $movimentacao2['dc_saldo_final'][$cont2] = substr($linha, 117, 1); // DEBITO OU CREDITO DO SALDO FINAL // gravar no banco os dados da movimentação $dados_movimentacao_item = array('tpRegistro' => substr($linha, 0, 1), 'nrAgencia' => $movimentacao2['agencia'][$cont2] . $movimentacao2['dv_agencia'][$cont2], 'nrDigitoConta' => '00' . $movimentacao2['conta'][$cont2] . $movimentacao2['dv_conta'][$cont2], 'nmTituloRazao' => $movimentacao2['titulo_razao'][$cont2], 'nmAbreviado' => $movimentacao2['nome_abreviado'][$cont2], 'dtAberturaConta' => Data::dataAmericana(Mascara::addMaskDataBrasileira($movimentacao2['dt_abertura'][$cont2])), 'nrCNPJCPF' => $movimentacao2['cnpj_cpf'][$cont2], 'vlSaldoInicial' => number_format($movimentacao2['saldo_inicial'][$cont2] / 100, 2, '.', ''), 'tpSaldoInicial' => $movimentacao2['dc_saldo_inicial'][$cont2], 'vlSaldoFinal' => number_format($movimentacao2['saldo_final'][$cont2] / 100, 2, '.', ''), 'tpSaldoFinal' => $movimentacao2['dc_saldo_final'][$cont2], 'idMovimentacaoBancaria' => $id_ultima_movimentacao); $this->tbMovimentacaoBancariaItem = new tbMovimentacaoBancariaItem(); $id_ultima_movimentacao_item = $this->tbMovimentacaoBancariaItem->cadastrarDados($dados_movimentacao_item); // busca os dados (nome) do cnpj ou cpf da conta corrente $this->Nomes = new Nomes(); $dadosAgente = $this->Nomes->buscarNomePorCPFCNPJ($movimentacao2['cnpj_cpf'][$cont2], null, null, null, false); if (!$dadosAgente) { // filtra somente por cpf (retira os 3 primeiros caracteres) $dadosAgente = $this->Nomes->buscarNomePorCPFCNPJ(substr($movimentacao2['cnpj_cpf'][$cont2], 3, 14), null, null, null, false); if (!$dadosAgente) { // grava no banco a inconsistência $dados_inconsistencia = array('idMovimentacaoBancariaItem' => $id_ultima_movimentacao_item, 'idTipoInconsistencia' => '6'); $this->tbMovimentacaoBancariaItemxTipoInconsistencia = new tbMovimentacaoBancariaItemxTipoInconsistencia(); $cadastrar_inconsistencia = $this->tbMovimentacaoBancariaItemxTipoInconsistencia->cadastrarDados($dados_inconsistencia); } } $movimentacao2['nm_agente'][$cont2] = $dadosAgente ? $dadosAgente['Nome'] : ''; // NOME DO AGENTE // busca o pronac de acordo com a agência e a conta do projeto // obs: a conta tem 12 carateres na tabela SAC.dbo.ContaBancaria $agencia = $movimentacao2['agencia'][$cont2] . $movimentacao2['dv_agencia'][$cont2]; $conta = '00' . $movimentacao2['conta'][$cont2] . $movimentacao2['dv_conta'][$cont2]; $this->ContaBancaria = new ContaBancaria(); $dadosProjeto = $this->ContaBancaria->buscarDados(null, null, $agencia, $conta, false); if (!$dadosProjeto) { // busca somente pela conta $dadosProjeto = $this->ContaBancaria->buscarDados(null, null, null, $conta, false); if (!$dadosProjeto) { // grava no banco a inconsistência $dados_inconsistencia = array('idMovimentacaoBancariaItem' => $id_ultima_movimentacao_item, 'idTipoInconsistencia' => '7'); $this->tbMovimentacaoBancariaItemxTipoInconsistencia = new tbMovimentacaoBancariaItemxTipoInconsistencia(); $cadastrar_inconsistencia = $this->tbMovimentacaoBancariaItemxTipoInconsistencia->cadastrarDados($dados_inconsistencia); } } $movimentacao2['ano_projeto'][$cont2] = $dadosProjeto ? $dadosProjeto['AnoProjeto'] : ''; $movimentacao2['sequencial'][$cont2] = $dadosProjeto ? $dadosProjeto['Sequencial'] : ''; // busca o enquadramento do projeto $pronac = $movimentacao2['ano_projeto'][$cont2] . $movimentacao2['sequencial'][$cont2]; if (!empty($pronac)) { $this->Enquadramento = new Enquadramento(); $dadosEnquadramento = $this->Enquadramento->buscarDados(null, $pronac, false); } else { $dadosEnquadramento = false; // grava no banco a inconsistência $dados_inconsistencia = array('idMovimentacaoBancariaItem' => $id_ultima_movimentacao_item, 'idTipoInconsistencia' => '9'); $this->tbMovimentacaoBancariaItemxTipoInconsistencia = new tbMovimentacaoBancariaItemxTipoInconsistencia(); $cadastrar_inconsistencia = $this->tbMovimentacaoBancariaItemxTipoInconsistencia->cadastrarDados($dados_inconsistencia); } if (!$dadosEnquadramento) { // grava no banco a inconsistência $dados_inconsistencia = array('idMovimentacaoBancariaItem' => $id_ultima_movimentacao_item, 'idTipoInconsistencia' => '8'); $this->tbMovimentacaoBancariaItemxTipoInconsistencia = new tbMovimentacaoBancariaItemxTipoInconsistencia(); $cadastrar_inconsistencia = $this->tbMovimentacaoBancariaItemxTipoInconsistencia->cadastrarDados($dados_inconsistencia); } $cont2++; //incrementa o contador } // ========== FIM CONSTANTE 2 ========== // ========== INÍCIO CONSTANTE 3 ========== if (substr($linha, 0, 1) == 3) { $movimentacao3['agencia'][$cont3] = substr($linha, 1, 4); // PREFIXO DA AGÊNCIA $movimentacao3['dv_agencia'][$cont3] = substr($linha, 5, 1); // DIGITO VERIFICADOR DA AGÊNCIA $movimentacao3['conta'][$cont3] = substr($linha, 6, 9); // NÚMERO DA CONTA CORRENTE $movimentacao3['dv_conta'][$cont3] = substr($linha, 15, 1); // DIGITO VERIFICADOR DA CONTA CORRENTE $movimentacao3['dt_movimento'][$cont3] = substr($linha, 16, 8); // DATA DO MOVIMENTO NA CONTA CORRENTE $movimentacao3['cod_historico'][$cont3] = substr($linha, 24, 4); // CÓDIGO DO HISTÓRICO DO BANCO $movimentacao3['historico'][$cont3] = substr($linha, 28, 15); // HISTÓRICO DO BANCO $movimentacao3['nr_documento'][$cont3] = substr($linha, 43, 10); // NÚMERO DO DOCUMENTO PARA O BANCO $movimentacao3['valor_movimento'][$cont3] = (double) substr($linha, 53, 18); // VALOR DO MOVIMENTO NA CONTA CORRENTE $movimentacao3['dc_valor_movimento'][$cont3] = substr($linha, 71, 1); // DEBITO OU CREDITO DO MOVIMENTO NA CONTA CORRENTE // gravar no banco os dados da movimentação $dados_movimentacao_item = array('tpRegistro' => substr($linha, 0, 1), 'nrAgencia' => $movimentacao3['agencia'][$cont3] . $movimentacao3['dv_agencia'][$cont3], 'nrDigitoConta' => '00' . $movimentacao3['conta'][$cont3] . $movimentacao3['dv_conta'][$cont3], 'dtMovimento' => Data::dataAmericana(Mascara::addMaskDataBrasileira($movimentacao3['dt_movimento'][$cont3])), 'cdHistorico' => $movimentacao3['cod_historico'][$cont3], 'dsHistorico' => $movimentacao3['historico'][$cont3], 'nrDocumento' => $movimentacao3['nr_documento'][$cont3], 'vlMovimento' => number_format($movimentacao3['valor_movimento'][$cont3] / 100, 2, '.', ''), 'cdMovimento' => $movimentacao3['dc_valor_movimento'][$cont3], 'idMovimentacaoBancaria' => $id_ultima_movimentacao); $this->tbMovimentacaoBancariaItem = new tbMovimentacaoBancariaItem(); $id_ultima_movimentacao_item = $this->tbMovimentacaoBancariaItem->cadastrarDados($dados_movimentacao_item); // busca o pronac de acordo com a agência e a conta do projeto // obs: a conta tem 12 carateres na tabela SAC.dbo.ContaBancaria $agencia = $movimentacao3['agencia'][$cont3] . $movimentacao3['dv_agencia'][$cont3]; $conta = '00' . $movimentacao3['conta'][$cont3] . $movimentacao3['dv_conta'][$cont3]; $this->ContaBancaria = new ContaBancaria(); $dadosProjeto = $this->ContaBancaria->buscarDados(null, null, $agencia, $conta, false); if (!$dadosProjeto) { // busca somente pela conta $dadosProjeto = $this->ContaBancaria->buscarDados(null, null, null, $conta, false); if (!$dadosProjeto) { // grava no banco a inconsistência $dados_inconsistencia = array('idMovimentacaoBancariaItem' => $id_ultima_movimentacao_item, 'idTipoInconsistencia' => '7'); $this->tbMovimentacaoBancariaItemxTipoInconsistencia = new tbMovimentacaoBancariaItemxTipoInconsistencia(); $cadastrar_inconsistencia = $this->tbMovimentacaoBancariaItemxTipoInconsistencia->cadastrarDados($dados_inconsistencia); } } $movimentacao3['ano_projeto'][$cont3] = $dadosProjeto ? $dadosProjeto['AnoProjeto'] : ''; $movimentacao3['sequencial'][$cont3] = $dadosProjeto ? $dadosProjeto['Sequencial'] : ''; // busca o enquadramento do projeto // verifica se o projeto está com a data de execução vigente // verifica se o projeto está com a data de captação vigente $pronac = $movimentacao3['ano_projeto'][$cont3] . $movimentacao3['sequencial'][$cont3]; if (!empty($pronac)) { $this->Enquadramento = new Enquadramento(); $dadosEnquadramento = $this->Enquadramento->buscarDados(null, $pronac, false); $this->Projetos = new Projetos(); $dadosPeriodoExecucao = $this->Projetos->buscarPeriodoExecucao(null, $pronac, Data::dataAmericana(Mascara::addMaskDataBrasileira($movimentacao3['dt_movimento'][$cont3]))); $dadosPeriodoCaptacao = $this->Projetos->buscarPeriodoCaptacao(null, $pronac, Data::dataAmericana(Mascara::addMaskDataBrasileira($movimentacao3['dt_movimento'][$cont3])), false); } else { $dadosEnquadramento = false; $dadosPeriodoExecucao = false; $dadosPeriodoCaptacao = false; // grava no banco a inconsistência $dados_inconsistencia = array('idMovimentacaoBancariaItem' => $id_ultima_movimentacao_item, 'idTipoInconsistencia' => '9'); $this->tbMovimentacaoBancariaItemxTipoInconsistencia = new tbMovimentacaoBancariaItemxTipoInconsistencia(); $cadastrar_inconsistencia = $this->tbMovimentacaoBancariaItemxTipoInconsistencia->cadastrarDados($dados_inconsistencia); } if (!$dadosEnquadramento) { // grava no banco a inconsistência $dados_inconsistencia = array('idMovimentacaoBancariaItem' => $id_ultima_movimentacao_item, 'idTipoInconsistencia' => '8'); $this->tbMovimentacaoBancariaItemxTipoInconsistencia = new tbMovimentacaoBancariaItemxTipoInconsistencia(); $cadastrar_inconsistencia = $this->tbMovimentacaoBancariaItemxTipoInconsistencia->cadastrarDados($dados_inconsistencia); } if (!$dadosPeriodoExecucao) { // grava no banco a inconsistência $dados_inconsistencia = array('idMovimentacaoBancariaItem' => $id_ultima_movimentacao_item, 'idTipoInconsistencia' => '1'); $this->tbMovimentacaoBancariaItemxTipoInconsistencia = new tbMovimentacaoBancariaItemxTipoInconsistencia(); $cadastrar_inconsistencia = $this->tbMovimentacaoBancariaItemxTipoInconsistencia->cadastrarDados($dados_inconsistencia); } if (!$dadosPeriodoCaptacao) { // grava no banco a inconsistência $dados_inconsistencia = array('idMovimentacaoBancariaItem' => $id_ultima_movimentacao_item, 'idTipoInconsistencia' => '2'); $this->tbMovimentacaoBancariaItemxTipoInconsistencia = new tbMovimentacaoBancariaItemxTipoInconsistencia(); $cadastrar_inconsistencia = $this->tbMovimentacaoBancariaItemxTipoInconsistencia->cadastrarDados($dados_inconsistencia); } $cont3++; //incrementa o contador } // ========== FIM CONSTANTE 3 ========== // ========== INÍCIO CONSTANTE 9 ========== if (substr($linha, 0, 1) == 9) { $movimentacao9['qtd_registros'][$cont9] = substr($linha, 1, 7); // QUANTIDADE DE REGISTROS $cont9++; //incrementa o contador } // ========== FIM CONSTANTE 9 ========== } // fim while de leitura do arquivo linha por linha // fecha o arquivo fclose($abrir_arquivo); // exclui o arquivo unlink($arquivoTXT); } // ========== FIM - VARRE O ARQUIVO DETALHADAMENTE ========== } // fecha if (caso exista arquivo(s) .txt no diretório) parent::message('Arquivo enviado com sucesso!', 'controlarmovimentacaobancaria/upload', 'CONFIRM'); }
/** * Método para buscar * @access public * @param string $pronac * @param boolean $conta_rejeitada * @param array $periodo * @param array $operacao * @return object */ public function buscarDados($pronac = null, $conta_rejeitada = null, $periodo = null, $operacao = null, $tamanho = -1, $inicio = -1, $count = null) { $select = $this->select(); $select->setIntegrityCheck(false); if (isset($count)) { $select->from(array("mi" => "tbMovimentacaoBancariaItem"), array("total" => "count(*)")); } else { $select->from(array("mi" => "tbMovimentacaoBancariaItem"), array("m.nrBanco", "CONVERT(CHAR(10), m.dtInicioMovimento, 103) AS dtInicioMovimento", "CONVERT(CHAR(10), m.dtFimMovimento, 103) AS dtFimMovimento", "mi.idMovimentacaoBancaria", "mi.tpRegistro", "mi.nrAgencia", "mi.nrDigitoConta", "mi.nmTituloRazao", "mi.nmAbreviado", "CONVERT(CHAR(10), mi.dtAberturaConta, 103) AS dtAberturaConta", "mi.nrCNPJCPF", "n.Descricao AS Proponente", "mi.vlSaldoInicial", "mi.tpSaldoInicial", "mi.vlSaldoFinal", "mi.tpSaldoFinal", "CONVERT(CHAR(10), mi.dtMovimento, 103) AS dtMovimento", "mi.cdHistorico", "mi.dsHistorico", "mi.nrDocumento", "mi.vlMovimento", "mi.cdMovimento", "mi.idMovimentacaoBancariaItem", "ti.idTipoInconsistencia", "ti.dsTipoInconsistencia", "(p.AnoProjeto+p.Sequencial) AS pronac", "p.NomeProjeto", "bc.Descricao AS nmBanco")); } $select->joinInner(array("m" => $this->_name), "m.idMovimentacaoBancaria = mi.idMovimentacaoBancaria", array()); if (!empty($conta_rejeitada) && $conta_rejeitada) { $select->joinInner(array("mx" => "tbMovimentacaoBancariaItemxTipoInconsistencia"), "mi.idMovimentacaoBancariaItem = mx.idMovimentacaoBancariaItem", array()); $select->joinInner(array("ti" => "tbTipoInconsistencia"), "ti.idTipoInconsistencia = mx.idTipoInconsistencia", array()); } else { $select->joinLeft(array("mx" => "tbMovimentacaoBancariaItemxTipoInconsistencia"), "mi.idMovimentacaoBancariaItem = mx.idMovimentacaoBancariaItem", array()); $select->joinLeft(array("ti" => "tbTipoInconsistencia"), "ti.idTipoInconsistencia = mx.idTipoInconsistencia", array()); } $select->joinLeft(array("c" => "ContaBancaria"), "mi.nrAgencia = c.Agencia AND (mi.nrDigitoConta = c.ContaBloqueada OR mi.nrDigitoConta = c.ContaLivre)", array()); $select->joinLeft(array("p" => "Projetos"), "c.AnoProjeto = p.AnoProjeto AND c.Sequencial = p.Sequencial", array()); $select->joinLeft(array("bc" => "bancos"), "m.nrBanco = bc.Codigo", array(), "AGENTES.dbo"); $select->joinLeft(array("a" => "Agentes"), "mi.nrCNPJCPF = a.CNPJCPF", array(), "AGENTES.dbo"); $select->joinLeft(array("n" => "Nomes"), "a.idAgente = n.idAgente", array(), "AGENTES.dbo"); // $select->where("mi.vlSaldoInicial > 0.00"); //$select->where("mi.vlSaldoFinal > 0.00"); // busca pelo pronac if (!empty($pronac)) { $select->where("(c.AnoProjeto+c.Sequencial) = ?", $pronac); } // filtra por contas rejeitadas if (!empty($conta_rejeitada) && $conta_rejeitada) { $select->where("mx.idMovimentacaoBancariaItem IS NOT NULL"); $select->where("mx.idTipoInconsistencia IS NOT NULL"); } else { $select->where("mx.idMovimentacaoBancariaItem IS NULL"); $select->where("mx.idTipoInconsistencia IS NULL"); } // busca pelo período if (!empty($periodo)) { if ($periodo[0] == "A") { $select->where("CONVERT(DATE, m.dtInicioMovimento) = CONVERT(DATE, GETDATE()) \n\t\t\t\t\tOR CONVERT(DATE, m.dtFimMovimento) = CONVERT(DATE, GETDATE()) \n\t\t\t\t\tOR CONVERT(DATE, mi.dtMovimento) = CONVERT(DATE, GETDATE())"); } if ($periodo[0] == "B") { $select->where("CONVERT(DATE, m.dtInicioMovimento) = DATEADD(DAY, -1, CONVERT(DATE, GETDATE())) \n\t\t\t\t\tOR CONVERT(DATE, m.dtFimMovimento) = DATEADD(DAY, -1, CONVERT(DATE, GETDATE())) \n\t\t\t\t\tOR CONVERT(DATE, mi.dtMovimento) = DATEADD(DAY, -1, CONVERT(DATE, GETDATE()))"); } if ($periodo[0] == "C") { $select->where("CONVERT(DATE, m.dtInicioMovimento) > DATEADD(DAY, -7, CONVERT(DATE, GETDATE())) \n\t\t\t\t\tOR CONVERT(DATE, m.dtFimMovimento) > DATEADD(DAY, -7, CONVERT(DATE, GETDATE())) \n\t\t\t\t\tOR CONVERT(DATE, mi.dtMovimento) > DATEADD(DAY, -7, CONVERT(DATE, GETDATE()))"); } if ($periodo[0] == "D") { $select->where("(CONVERT(DATE, m.dtInicioMovimento) >= CASE DATEPART(DW, GETDATE())\n\t\t\t\t\t WHEN 1 THEN DATEADD(DAY, -6, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 2 THEN DATEADD(DAY, -7, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 3 THEN DATEADD(DAY, -8, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 4 THEN DATEADD(DAY, -9, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 5 THEN DATEADD(DAY, -10, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 6 THEN DATEADD(DAY, -11, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 7 THEN DATEADD(DAY, -12, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t END \n\t\t\t\t\t AND CONVERT(DATE, m.dtInicioMovimento) <= CASE DATEPART(DW, GETDATE())\n\t\t\t\t\t WHEN 1 THEN DATEADD(DAY, 0, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 2 THEN DATEADD(DAY, -1, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 3 THEN DATEADD(DAY, -2, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 4 THEN DATEADD(DAY, -3, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 5 THEN DATEADD(DAY, -4, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 6 THEN DATEADD(DAY, -5, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 7 THEN DATEADD(DAY, -6, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t END) \n\t\t\t\t\tOR (CONVERT(DATE, m.dtFimMovimento) >= CASE DATEPART(DW, GETDATE())\n\t\t\t\t\t WHEN 1 THEN DATEADD(DAY, -6, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 2 THEN DATEADD(DAY, -7, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 3 THEN DATEADD(DAY, -8, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 4 THEN DATEADD(DAY, -9, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 5 THEN DATEADD(DAY, -10, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 6 THEN DATEADD(DAY, -11, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 7 THEN DATEADD(DAY, -12, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t END \n\t\t\t\t\t AND CONVERT(DATE, m.dtFimMovimento) <= CASE DATEPART(DW, GETDATE())\n\t\t\t\t\t WHEN 1 THEN DATEADD(DAY, 0, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 2 THEN DATEADD(DAY, -1, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 3 THEN DATEADD(DAY, -2, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 4 THEN DATEADD(DAY, -3, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 5 THEN DATEADD(DAY, -4, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 6 THEN DATEADD(DAY, -5, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 7 THEN DATEADD(DAY, -6, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t END) \n\t\t\t\t\tOR (CONVERT(DATE, mi.dtMovimento) >= CASE DATEPART(DW, GETDATE())\n\t\t\t\t\t WHEN 1 THEN DATEADD(DAY, -6, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 2 THEN DATEADD(DAY, -7, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 3 THEN DATEADD(DAY, -8, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 4 THEN DATEADD(DAY, -9, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 5 THEN DATEADD(DAY, -10, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 6 THEN DATEADD(DAY, -11, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 7 THEN DATEADD(DAY, -12, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t END \n\t\t\t\t\t AND CONVERT(DATE, mi.dtMovimento) <= CASE DATEPART(DW, GETDATE())\n\t\t\t\t\t WHEN 1 THEN DATEADD(DAY, 0, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 2 THEN DATEADD(DAY, -1, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 3 THEN DATEADD(DAY, -2, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 4 THEN DATEADD(DAY, -3, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 5 THEN DATEADD(DAY, -4, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 6 THEN DATEADD(DAY, -5, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 7 THEN DATEADD(DAY, -6, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t END)"); } if ($periodo[0] == "E") { $select->where("(CONVERT(DATE, m.dtInicioMovimento) >= CASE DATEPART(DW, GETDATE())\n\t\t\t\t\t WHEN 1 THEN DATEADD(DAY, -6, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 2 THEN DATEADD(DAY, 0, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 3 THEN DATEADD(DAY, -1, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 4 THEN DATEADD(DAY, -2, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 5 THEN DATEADD(DAY, -3, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 6 THEN DATEADD(DAY, -4, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 7 THEN DATEADD(DAY, -5, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t END \n\t\t\t\t\t AND CONVERT(DATE, m.dtInicioMovimento) <= CASE DATEPART(DW, GETDATE())\n\t\t\t\t\t WHEN 1 THEN DATEADD(DAY, -2, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 2 THEN DATEADD(DAY, 0, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 3 THEN DATEADD(DAY, 0, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 4 THEN DATEADD(DAY, 0, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 5 THEN DATEADD(DAY, 0, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 6 THEN DATEADD(DAY, 0, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 7 THEN DATEADD(DAY, -1, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t END) \n\t\t\t\t\tOR (CONVERT(DATE, m.dtFimMovimento) >= CASE DATEPART(DW, GETDATE())\n\t\t\t\t\t WHEN 1 THEN DATEADD(DAY, -6, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 2 THEN DATEADD(DAY, 0, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 3 THEN DATEADD(DAY, -1, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 4 THEN DATEADD(DAY, -2, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 5 THEN DATEADD(DAY, -3, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 6 THEN DATEADD(DAY, -4, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 7 THEN DATEADD(DAY, -5, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t END \n\t\t\t\t\t AND CONVERT(DATE, m.dtFimMovimento) <= CASE DATEPART(DW, GETDATE())\n\t\t\t\t\t WHEN 1 THEN DATEADD(DAY, -2, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 2 THEN DATEADD(DAY, 0, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 3 THEN DATEADD(DAY, 0, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 4 THEN DATEADD(DAY, 0, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 5 THEN DATEADD(DAY, 0, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 6 THEN DATEADD(DAY, 0, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 7 THEN DATEADD(DAY, -1, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t END) \n\t\t\t\t\tOR (CONVERT(DATE, mi.dtMovimento) >= CASE DATEPART(DW, GETDATE())\n\t\t\t\t\t WHEN 1 THEN DATEADD(DAY, -6, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 2 THEN DATEADD(DAY, 0, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 3 THEN DATEADD(DAY, -1, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 4 THEN DATEADD(DAY, -2, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 5 THEN DATEADD(DAY, -3, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 6 THEN DATEADD(DAY, -4, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 7 THEN DATEADD(DAY, -5, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t END \n\t\t\t\t\t AND CONVERT(DATE, mi.dtMovimento) <= CASE DATEPART(DW, GETDATE())\n\t\t\t\t\t WHEN 1 THEN DATEADD(DAY, -2, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 2 THEN DATEADD(DAY, 0, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 3 THEN DATEADD(DAY, 0, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 4 THEN DATEADD(DAY, 0, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 5 THEN DATEADD(DAY, 0, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 6 THEN DATEADD(DAY, 0, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t WHEN 7 THEN DATEADD(DAY, -1, CONVERT(DATE, GETDATE()))\n\t\t\t\t\t END)"); } if ($periodo[0] == "F") { $select->where("DATEPART(MONTH, m.dtInicioMovimento) + DATEPART(YEAR, m.dtInicioMovimento) = DATEPART(MONTH, GETDATE()) + DATEPART(YEAR, GETDATE()) \n\t\t\t\t\tOR DATEPART(MONTH, m.dtFimMovimento) + DATEPART(YEAR, m.dtFimMovimento) = DATEPART(MONTH, GETDATE()) + DATEPART(YEAR, GETDATE()) \n\t\t\t\t\tOR DATEPART(MONTH, mi.dtMovimento) + DATEPART(YEAR, mi.dtMovimento) = DATEPART(MONTH, GETDATE()) + DATEPART(YEAR, GETDATE())"); } if ($periodo[0] == "G") { $select->where("DATEPART(YEAR, m.dtInicioMovimento) = (DATEPART(YEAR, GETDATE()) - 1) \n\t\t\t\t\tOR DATEPART(YEAR, m.dtFimMovimento) = (DATEPART(YEAR, GETDATE()) - 1) \n\t\t\t\t\tOR DATEPART(YEAR, mi.dtMovimento) = (DATEPART(YEAR, GETDATE()) - 1)"); } if ($periodo[0] == "H") { $select->where("CONVERT(DATE, m.dtInicioMovimento) >= DATEADD(MONTH , -12, CONVERT(DATE, GETDATE())) \n\t\t\t\t\tOR CONVERT(DATE, m.dtFimMovimento) >= DATEADD(MONTH , -12, CONVERT(DATE, GETDATE())) \n\t\t\t\t\tOR CONVERT(DATE, mi.dtMovimento) >= DATEADD(MONTH , -12, CONVERT(DATE, GETDATE()))"); } if ($periodo[0] == "I") { $select->where("CONVERT(DATE, m.dtInicioMovimento) >= DATEADD(MONTH , -6, CONVERT(DATE, GETDATE())) \n\t\t\t\t\tOR CONVERT(DATE, m.dtFimMovimento) >= DATEADD(MONTH , -6, CONVERT(DATE, GETDATE())) \n\t\t\t\t\tOR CONVERT(DATE, mi.dtMovimento) >= DATEADD(MONTH , -6, CONVERT(DATE, GETDATE()))"); } if ($periodo[0] == "J") { $select->where("CONVERT(DATE, m.dtInicioMovimento) >= DATEADD(MONTH , -3, CONVERT(DATE, GETDATE())) \n\t\t\t\t\tOR CONVERT(DATE, m.dtFimMovimento) >= DATEADD(MONTH , -3, CONVERT(DATE, GETDATE())) \n\t\t\t\t\tOR CONVERT(DATE, mi.dtMovimento) >= DATEADD(MONTH , -3, CONVERT(DATE, GETDATE()))"); } if ($periodo[0] == "K") { if (!empty($periodo[1]) && !empty($periodo[2])) { $select->where("m.dtInicioMovimento >= ?", Data::dataAmericana($periodo[1]) . " 00:00:00"); $select->where("m.dtFimMovimento <= ?", Data::dataAmericana($periodo[2]) . " 23:59:59"); } else { if (!empty($periodo[1])) { $select->where("m.dtInicioMovimento >= ?", Data::dataAmericana($periodo[1]) . " 00:00:00"); } if (!empty($periodo[2])) { $select->where("m.dtFimMovimento <= ?", Data::dataAmericana($periodo[2]) . " 23:59:59"); } } } } // fecha if periodo // filtra pelo tipo de operação if (!empty($operacao)) { $select->where("mi.tpSaldoInicial = ? OR mi.tpSaldoInicial IS NULL", $operacao); $select->where("mi.tpSaldoFinal = ? OR mi.tpSaldoFinal IS NULL", $operacao); $select->where("mi.cdMovimento = ? OR mi.cdMovimento IS NULL", $operacao); } /*if(is_null($count)){ /*$select->order("mi.tpRegistro"); $select->order("(p.AnoProjeto+p.Sequencial)"); $select->order("m.dtInicioMovimento"); $select->order("m.dtFimMovimento"); $select->order("mi.dtMovimento"); $select->order(array(5,26,2,3,17)); }*/ //paginacao if ($tamanho > -1) { $tmpInicio = 0; if ($inicio > -1) { $tmpInicio = $inicio; } $select->limit($tamanho, $tmpInicio); } //x($select->assemble()); return $this->fetchAll($select); }
public function datadiffAction() { $dtIni = $this->_request->getParam("dtIni"); $dtFim = $this->_request->getParam("dtFim"); $intervalo = "d"; $dtIni = Data::dataAmericana($dtIni); $dtFim = Data::dataAmericana($dtFim); switch ($intervalo) { case 'y': $Q = 86400 * 365; break; //ano //ano case 'm': $Q = 2592000; break; //mes //mes case 'd': $Q = 86400; break; //dia //dia case 'h': $Q = 3600; break; //hora //hora case 'n': $Q = 60; break; //minuto //minuto default: $Q = 1; break; //segundo } $dias = round((strtotime($dtIni) - strtotime($dtFim)) / $Q); if (!empty($dias)) { $result['existe'] = true; $result['dias'] = $dias; echo json_encode($result); exit; } else { $result['existe'] = false; echo json_encode($result); exit; } }
/** * Método para listar os projetos para grid do relatorio conforme o tipo de inconsistencia * @access public * @param void * @return void */ public function resultadoRelatorioReciboCaptacaoAction() { //DEFINE PARAMETROS DE ORDENACAO / QTDE. REG POR PAG. / PAGINACAO if ($this->_request->getParam("qtde")) { $this->intTamPag = $this->_request->getParam("qtde"); } $order = array(); //==== parametro de ordenacao ======// if ($this->_request->getParam("ordem")) { $ordem = $this->_request->getParam("ordem"); if ($ordem == "ASC") { $novaOrdem = "DESC"; } else { $novaOrdem = "ASC"; } } else { $ordem = "ASC"; $novaOrdem = "ASC"; } //==== campo de ordenacao ======// if ($this->_request->getParam("campo")) { $campo = $this->_request->getParam("campo"); $order = array($campo . " " . $ordem); $ordenacao = "&campo=" . $campo . "&ordem=" . $ordem; } else { $campo = null; $order = array(9, 7, 3); $ordenacao = null; } $pag = 1; $get = Zend_Registry::get('get'); if (isset($get->pag)) { $pag = $get->pag; } $inicio = $pag > 1 ? ($pag - 1) * $this->intTamPag : 0; /* ================== PAGINACAO ======================*/ $where = array(); if (!empty($get->pronac)) { $where["c.AnoProjeto+c.Sequencial = ?"] = $get->pronac; } if (!empty($get->numLote)) { $where["c.NumeroRecibo = ?"] = $get->numLote; } if (!empty($get->proponente)) { $where["p.CgcCpf = ?"] = retiraMascara($get->proponente); } if (!empty($get->incentivador)) { $where["c.cgcCpfMecena = ?"] = retiraMascara($get->incentivador); } if ($get->tpDtLote != '') { if (!empty($get->dtLote)) { $d1 = Data::dataAmericana($get->dtLote); if ($get->tpDtLote == "igual") { $where["c.DtChegadaRecibo BETWEEN '{$d1} 00:00:00' AND '{$d1} 23:59:59.999'"] = ''; } else { if ($get->tpDtLote == "entre") { $d2 = Data::dataAmericana($get->dtLote_Final); $where["c.DtChegadaRecibo BETWEEN '{$d1} 00:00:00' AND '{$d2} 23:59:59.999'"] = ''; } else { if ($get->tpDtLote == "maior") { $where["c.DtChegadaRecibo >= ?"] = $d1 . ' 00:00:00'; } else { if ($get->tpDtLote == "menor") { $where["c.DtChegadaRecibo <= ?"] = $d1 . ' 23:59:59.999'; } } } } } else { if ($get->tpDtLote == "OT") { $d1 = date("Y-m-d", strtotime("-1 day")); $where["c.DtChegadaRecibo BETWEEN '{$d1} 00:00:00' AND '{$d1} 23:59:59.999'"] = ''; } else { if ($get->tpDtLote == "U7") { $d1 = date("Y-m-d", strtotime("-7 day")); $d2 = date("Y-m-d"); $where["c.DtChegadaRecibo BETWEEN '{$d1} 00:00:00' AND '{$d2} 23:59:59.999'"] = ''; } else { if ($get->tpDtLote == "MM") { $d1 = date("d"); $d2 = date("Y-m-d", strtotime("-{$d1} day")); $d3 = date("Y-m-d"); $where["c.DtChegadaRecibo BETWEEN '{$d2} 23:59:59.999' AND '{$d3} 23:59:59.999'"] = ''; } else { if ($get->tpDtLote == "UM") { $d1 = date("m", strtotime("-1 month")); $d2 = date("Y", strtotime("-1 month")); $ultimo_dia_do_mes = date("t", mktime(0, 0, 0, $d1, '01', $d2)); $where["c.DtChegadaRecibo BETWEEN '{$d2}-{$d1}-01 00:00:00.000' AND '{$d2}-{$d1}-{$ultimo_dia_do_mes} 23:59:59.999'"] = ''; } } } } } } if ($get->tpDtCaptacao != '') { if (!empty($get->dtCaptacao)) { $d1 = Data::dataAmericana($get->dtCaptacao); if ($get->tpDtCaptacao == "igual") { $where["c.DtRecibo BETWEEN '{$d1} 00:00:00' AND '{$d1} 23:59:59.999'"] = ''; } else { if ($get->tpDtCaptacao == "entre") { $d2 = Data::dataAmericana($get->dtCaptacao_Final); $where["c.DtRecibo BETWEEN '{$d1} 00:00:00' AND '{$d2} 23:59:59.999'"] = ''; } else { if ($get->tpDtCaptacao == "maior") { $where["c.DtRecibo >= ?"] = $d1 . ' 00:00:00'; } else { if ($get->tpDtCaptacao == "menor") { $where["c.DtRecibo <= ?"] = $d1 . ' 23:59:59.999'; } } } } } else { if ($get->tpDtCaptacao == "OT") { $d1 = date("Y-m-d", strtotime("-1 day")); $where["c.DtRecibo BETWEEN '{$d1} 00:00:00' AND '{$d1} 23:59:59.999'"] = ''; } else { if ($get->tpDtCaptacao == "U7") { $d1 = date("Y-m-d", strtotime("-7 day")); $d2 = date("Y-m-d"); $where["c.DtRecibo BETWEEN '{$d1} 00:00:00' AND '{$d2} 23:59:59.999'"] = ''; } else { if ($get->tpDtCaptacao == "MM") { $d1 = date("d"); $d2 = date("Y-m-d", strtotime("-{$d1} day")); $d3 = date("Y-m-d"); $where["c.DtRecibo BETWEEN '{$d2} 23:59:59.999' AND '{$d3} 23:59:59.999'"] = ''; } else { if ($get->tpDtCaptacao == "UM") { $d1 = date("m", strtotime("-1 month")); $d2 = date("Y", strtotime("-1 month")); $ultimo_dia_do_mes = date("t", mktime(0, 0, 0, $d1, '01', $d2)); $where["c.DtRecibo BETWEEN '{$d2}-{$d1}-01 00:00:00.000' AND '{$d2}-{$d1}-{$ultimo_dia_do_mes} 23:59:59.999'"] = ''; } } } } } } $tbCaptacao = new Captacao(); $total = $tbCaptacao->buscaReciboCaptacao($where, $order, null, null, true); $this->view->vlrTotalGrid = $tbCaptacao->buscaReciboCaptacaoTotalValorGrid($where); $fim = $inicio + $this->intTamPag; $totalPag = (int) ($total % $this->intTamPag == 0 ? $total / $this->intTamPag : $total / $this->intTamPag + 1); $tamanho = $fim > $total ? $total - $inicio : $this->intTamPag; $busca = $tbCaptacao->buscaReciboCaptacao($where, $order, $tamanho, $inicio); $paginacao = array("pag" => $pag, "qtde" => $this->intTamPag, "campo" => $campo, "ordem" => $ordem, "ordenacao" => $ordenacao, "novaOrdem" => $novaOrdem, "total" => $total, "inicio" => $inicio + 1, "fim" => $fim, "totalPag" => $totalPag, "Itenspag" => $this->intTamPag, "tamanho" => $tamanho); $this->view->paginacao = $paginacao; $this->view->qtdDocumentos = $total; $this->view->dados = $busca; $this->view->intTamPag = $this->intTamPag; $this->view->pronac = $get->pronac; $this->view->proponente = $get->proponente; $this->view->incentivador = $get->incentivador; $this->view->dtLote = $get->dtLote; $this->view->tpDtLote = $get->tpDtLote; $this->view->dtLote_Final = $get->dtLote_Final; $this->view->dtCaptacao = $get->dtCaptacao; $this->view->tpDtCaptacao = $get->tpDtCaptacao; $this->view->dtCaptacao_Final = $get->dtCaptacao_Final; $this->view->numLote = $get->numLote; }
public function montaArrBuscaCoincidentes($post) { $arrBusca = array(); //NOME PROJETO if (!empty($post->NomeProjeto)) { $projeto = utf8_decode($post->NomeProjeto); if ($post->tipoPesqNomeProjeto == 'QC') { if (!empty($post->NomeProjeto)) { $arrBusca["p.NomeProjeto like (?)"] = "%{$projeto}%"; } } else { if ($post->tipoPesqNomeProjeto == 'EIG') { if (!empty($post->NomeProjeto)) { $arrBusca["p.NomeProjeto = ?"] = "{$projeto}"; } } else { if ($post->tipoPesqNomeProjeto == 'IIG') { if (!empty($post->NomeProjeto)) { $arrBusca["p.NomeProjeto like (?)"] = "{$projeto}%"; } } } } //if(!empty($post->NomeProjeto)){ $arrBusca["p.NomeProjeto like (?)"] = "%{$projeto}%"; } } //UF if (!empty($post->uf)) { $arrBusca["p.UfProjeto = ?"] = $post->uf; if (isset($post->cidade) && !empty($post->cidade)) { $arrBusca["ab.idMunicipioIBGE = ?"] = $post->cidade; } } //PERIODO EXECUCAO if (isset($post->tpPeriodoExecucao) && !empty($post->tpPeriodoExecucao)) { if ($post->tpPeriodoExecucao == 1) { // exatamente igual if (isset($post->dtExecucao) && !empty($post->dtExecucao)) { $arrBusca["p.DtInicioExecucao >= '" . Data::dataAmericana($post->dtExecucao) . " 00:00:00.000' AND p.DtInicioExecucao <= '" . Data::dataAmericana($post->dtExecucao) . " 23:59:59.999'"] = '?'; } if (isset($post->dtExecucao_Final) && !empty($post->dtExecucao_Final)) { $arrBusca["p.DtFimExecucao >= '" . Data::dataAmericana($post->dtExecucao_Final) . " 00:00:00.000' AND p.DtFimExecucao <= '" . Data::dataAmericana($post->dtExecucao_Final) . " 23:59:59.999'"] = '?'; } } else { if ($post->tpPeriodoExecucao == 2) { // que inicia if (isset($post->dtExecucao) && !empty($post->dtExecucao)) { //$arrBusca['p.DtInicioExecucao >= ?'] = Data::dataAmericana($post->dtExecucao) . " 00:00:00.000"; $arrBusca["p.DtInicioExecucao >= '" . Data::dataAmericana($post->dtExecucao) . " 00:00:00.000' AND p.DtInicioExecucao <= '" . Data::dataAmericana($post->dtExecucao) . " 23:59:59.999'"] = '?'; } } else { if ($post->tpPeriodoExecucao == 3) { // que finaliza if (isset($post->dtExecucao_Final) && !empty($post->dtExecucao_Final)) { //$arrBusca['p.DtFimExecucao = ?'] = Data::dataAmericana($post->dtExecucao_Final) . " 00:00:00.000"; $arrBusca["p.DtFimExecucao >= '" . Data::dataAmericana($post->dtExecucao_Final) . " 00:00:00.000' AND p.DtFimExecucao <= '" . Data::dataAmericana($post->dtExecucao_Final) . " 23:59:59.999'"] = '?'; } } else { if ($post->tpPeriodoExecucao == 4) { // entre if (isset($post->dtExecucao) && !empty($post->dtExecucao)) { $arrBusca['p.DtInicioExecucao >= ?'] = Data::dataAmericana($post->dtExecucao) . " 00:00:00.000"; } if (isset($post->dtExecucao_Final) && !empty($post->dtExecucao_Final)) { $arrBusca['p.DtFimExecucao <= ?'] = Data::dataAmericana($post->dtExecucao_Final) . " 23:59:59.999"; } } } } } } //xd($arrBusca); //$arrBusca = GenericControllerNew::montaBuscaData($post, "tpPeriodoExecucao", "dtExecucao", "p.DtInicioExecucao", "dtExecucao_Final", $arrBusca); if (!empty($post->area)) { if ($post->tipoPesqArea == 'EIG') { if (!empty($post->area)) { $arrBusca["a.Codigo = ?"] = $post->area; } } else { if ($post->tipoPesqArea == 'DI') { if (!empty($post->area)) { $arrBusca["a.Codigo <> ?"] = $post->area; } } } } //MECANISMO if (isset($post->mecanismo) && !empty($post->mecanismo)) { $arrBusca['p.Mecanismo = ?'] = $post->mecanismo; } //ORGAO USUARIO LOGADO $arrBusca['p.Orgao = ?'] = $this->codOrgao; return $arrBusca; }
public function localizarprojetosAction() { $GrupoAtivo = new Zend_Session_Namespace('GrupoAtivo'); // cria a sessão com o grupo ativo $codGrupo = $GrupoAtivo->codGrupo; // Grupo ativo na sessão $codOrgao = $this->view->orgaoLogado = $GrupoAtivo->codOrgao; // Órgão ativo na sessão $auth = Zend_Auth::getInstance(); // instancia da autenticação $idusuario = $this->view->usuarioLogado = $this->getIdUsuario; //DEFINE PARAMETROS DE ORDENACAO / QTDE. REG POR PAG. / PAGINACAO if ($this->_request->getParam("qtde")) { $this->intTamPag = $this->_request->getParam("qtde"); } $order = array(); //==== parametro de ordenacao ======// if ($this->_request->getParam("ordem")) { $ordem = $this->_request->getParam("ordem"); if ($ordem == "ASC") { $novaOrdem = "DESC"; } else { $novaOrdem = "ASC"; } } else { $ordem = "ASC"; $novaOrdem = "ASC"; } //==== campo de ordenacao ======// if ($this->_request->getParam("campo")) { $campo = $this->_request->getParam("campo"); $order = array($campo . " " . $ordem); $ordenacao = "&campo=" . $campo . "&ordem=" . $ordem; } else { $campo = null; $order = array(19); //Pronac $ordenacao = null; } $pag = 1; $get = Zend_Registry::get('get'); if (isset($get->pag)) { $pag = $get->pag; } $inicio = $pag > 1 ? ($pag - 1) * $this->intTamPag : 0; /* ================== PAGINACAO ======================*/ $where = array(); $where['h.stEstado = ?'] = 1; $where['(h.idDocumento is NULL OR h.idDocumento = 0)'] = ''; if (isset($get->estado) && !empty($get->estado)) { $where['h.Acao = ?'] = $this->view->estado = $get->estado; } if (isset($get->pronac) && !empty($get->pronac)) { $where['p.AnoProjeto+p.Sequencial = ?'] = $this->view->pronac = $get->pronac; } if (isset($get->origem) && !empty($get->origem)) { $where['h.idOrigem = ?'] = $this->view->origem = $get->origem; $where['h.idUnidade = ?'] = $codOrgao; } if (isset($get->destino) && !empty($get->destino)) { $where['h.idOrigem = ?'] = $codOrgao; $where['h.idUnidade = ?'] = $this->view->destino = $get->destino; } if (isset($get->dtEnvioI) && !empty($get->dtEnvioI)) { $this->view->tipo_dtEnvio = $get->tipo_dtEnvio; $this->view->dtEnvioI = $get->dtEnvioI; $this->view->dtEnvioF = $get->dtEnvioF; $d1 = Data::dataAmericana($get->dtEnvioI); if ($get->tipo_dtEnvio == 1) { $where["h.dtTramitacaoEnvio BETWEEN '{$d1}' AND '{$d1} 23:59:59.999'"] = ''; } else { if ($get->tipo_dtEnvio == 2) { $d2 = Data::dataAmericana($get->dtEnvioF); $where["h.dtTramitacaoEnvio BETWEEN '{$d1}' AND '{$d2}'"] = ''; } } } if (isset($get->dtRecebidoI) && !empty($get->dtRecebidoI)) { $this->view->tipo_dtRecebida = $get->tipo_dtRecebida; $this->view->dtRecebidoI = $get->dtRecebidoI; $this->view->dtRecebidoF = $get->dtRecebidoF; $d1 = Data::dataAmericana($get->dtRecebidoI); if ($get->tipo_dtRecebida == 1) { $where["h.dtTramitacaoRecebida BETWEEN '{$d1}' AND '{$d1} 23:59:59.999'"] = ''; } else { if ($get->tipo_dtRecebida == 2) { $d2 = Data::dataAmericana($get->dtRecebidoF); $where["h.dtTramitacaoRecebida BETWEEN '{$d1}' AND '{$d2}'"] = ''; } } } if (isset($get->lote) && !empty($get->lote)) { $where['h.idLote = ?'] = $this->view->lote = $get->lote; } $tbHistoricoDocumento = new tbHistoricoDocumento(); $total = $tbHistoricoDocumento->consultarTramitacoes($where, $order, null, null, true); $fim = $inicio + $this->intTamPag; $totalPag = (int) ($total % $this->intTamPag == 0 ? $total / $this->intTamPag : $total / $this->intTamPag + 1); $tamanho = $fim > $total ? $total - $inicio : $this->intTamPag; $busca = $tbHistoricoDocumento->consultarTramitacoes($where, $order, $tamanho, $inicio); $paginacao = array("pag" => $pag, "qtde" => $this->intTamPag, "campo" => $campo, "ordem" => $ordem, "ordenacao" => $ordenacao, "novaOrdem" => $novaOrdem, "total" => $total, "inicio" => $inicio + 1, "fim" => $fim, "totalPag" => $totalPag, "Itenspag" => $this->intTamPag, "tamanho" => $tamanho); $this->view->paginacao = $paginacao; $this->view->qtdRegistros = $total; $this->view->dados = $busca; $this->view->intTamPag = $this->intTamPag; }