public function resultadoDemonstrativoCaptacaoRecursoAction() { header("Content-Type: text/html; charset=ISO-8859-1"); $this->_helper->layout->disableLayout(); $tbl = new Captacao(); $tetoRenuncia = new TetoRenuncia(); $post = Zend_Registry::get('post'); $this->intTamPag = 10; $arrBusca = array(); //if(!empty($post->nrReuniao)){ $arrBusca["t.idNrReuniao = ?"] = $post->nrReuniao; } //Valida se o pronac foi passado if (!empty($post->pronac)) { $arrBusca["p.AnoProjeto + p.Sequencial = ?"] = $post->pronac; } //Valida se a área foi passada 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; } } } } //Valida se o segmento foi passao if (!empty($post->segmento)) { $arrBusca["p.Segmento = ?"] = $post->segmento; } //Valida se a região e/ou estado foi passado if (!empty($post->regiao) && empty($post->uf)) { $arrBusca["uf.Regiao = ?"] = $post->regiao; } else { if (!empty($post->regiao) && !empty($post->uf)) { $arrBusca["p.UfProjeto = ?"] = $post->uf; } } //if(!empty($post->regiao)){ $arrBusca["uf.Regiao = ?"] = $post->regiao; } //Valida se valor inicial e valor final foi passado $arrBuscaValor = array(); if (!empty($post->vlInicio) && $post->vlInicio != "0,00") { $vlInicio = str_replace(",", ".", str_replace(".", "", $post->vlInicio)); $vlFim = str_replace(",", ".", str_replace(".", "", $post->vlFim)); $arrBuscaValor['vlAutorizado > ?'] = $vlInicio; $arrBuscaValor['vlAutorizado < ?'] = $vlFim; } $arrBusca['n.Status = ?'] = '0'; //montando parametros de busca dos campos de data $arrBusca = GenericControllerNew::montaBuscaData($post, "tpDtCaptacao", "dtCaptacao", "ca.DtRecibo", "dtCaptacao_Final", $arrBusca); $arrBusca = GenericControllerNew::montaBuscaData($post, "tpDtExecucao", "dtExecucao", "p.DtInicioExecucao", "dtExecucao_Final", $arrBusca); //Dados para paginação $pag = 1; if (isset($post->pag)) { $pag = $post->pag; } if (isset($post->tamPag)) { $this->intTamPag = $post->tamPag; } $inicio = $pag > 1 ? ($pag - 1) * $this->intTamPag : 0; $fim = $inicio + $this->intTamPag; $total = $tbl->buscarDemonstrativoDeCaptacao($arrBusca, array(), null, null, true, $arrBuscaValor); //xd($total); $totalPag = (int) ($total % $this->intTamPag == 0 ? $total / $this->intTamPag : $total / $this->intTamPag + 1); $tamanho = $fim > $total ? $total - $inicio : $this->intTamPag; if ($fim > $total) { $fim = $total; } //Varifica se foi solicitado a ordenação if (!empty($post->ordenacao)) { $ordem[] = "{$post->ordenacao} {$post->tipoOrdenacao}"; } else { $ordem = array('6'); } //Valida se está na última página para passar os somatórios //if($totalPag == $pag){ $rsSomatorioAutorizado = $tbl->buscarDemonstrativoDeCaptacaoSomatorioValorAutorizado($arrBusca, $arrBuscaValor); $rsSomatorioCaptado = $tbl->buscarDemonstrativoDeCaptacaoSomatorioValorCaptado($arrBusca, $arrBuscaValor); if (empty($post->dtCaptacao) && empty($post->dtCaptacao_Final)) { //montando parametros de busca dos campos de data $arrBusca = GenericControllerNew::montaBuscaData($post, "tpDtCaptacao", "dtCaptacao", "ca.DtRecibo", "dtCaptacao_Final", $arrBusca); $arrBusca = GenericControllerNew::montaBuscaData($post, "tpDtExecucao", "dtExecucao", "p.DtInicioExecucao", "dtExecucao_Final", $arrBusca); if ($post->tpDtCaptacao == 'OT') { $arrData['Ano >= ?'] = substr($arrBusca['ca.DtRecibo = ?'], 2, 2); $teto = $tetoRenuncia->buscarAnoTetoCaptacao($arrData); } else { $arrData['Ano >= ?'] = substr($arrBusca['ca.DtRecibo >= ?'], 2, 2); $arrData['Ano <= ?'] = substr($arrBusca['ca.DtRecibo <= ?'], 2, 2); $teto = $tetoRenuncia->buscarAnoTetoCaptacao($arrData); } } elseif (!empty($post->dtCaptacao) && empty($post->dtCaptacao_Final)) { $arrData['Ano >= ?'] = substr($post->dtCaptacao, 8, 2); $teto = $tetoRenuncia->buscarAnoTetoCaptacao($arrData); } elseif (!empty($post->dtCaptacao) && !empty($post->dtCaptacao_Final)) { $arrData['Ano >= ?'] = substr($post->dtCaptacao, 8, 2); $arrData['Ano <= ?'] = substr($post->dtCaptacao_Final, 8, 2); $teto = $tetoRenuncia->buscarAnoTetoCaptacao($arrData); } foreach ($teto as $valorRenuncia) { $vlRenunciaTotal = $valorRenuncia->somatorioAnoBusca; } foreach ($rsSomatorioCaptado as $valorCaptado) { $vlCaptado = $valorCaptado->somatorioVlCaptado; } $this->view->valorAltorizado = $rsSomatorioAutorizado; $this->view->valorCaptado = $rsSomatorioCaptado; $this->view->ValorTetoRenuncia = $teto; $this->view->valorRenunciaFiscal = $vlRenunciaTotal - $vlCaptado; //} //CHAMA METODO DE QUE IRA GERAR TELA DE IMPRESSÃO HTML OU XLS if (isset($post->imprimirResumo) && $post->imprimirResumo == 'html') { Zend_Layout::startMvc(array('layout' => 'layout_scriptcase')); //Refaz a busca para envia via _forward $rs = $tbl->buscarDemonstrativoDeCaptacao($arrBusca, $ordem, null, null, null, $arrBuscaValor); $i = 0; $lista = array(); //Envia a lista após buscar o valor total captado foreach ($rs as $d) { //$lista[$i]['DtRecibo'] = $d->DtRecibo; $lista[$i]['CaptacaoReal'] = $d->CaptacaoReal; $lista[$i]['vlAutorizado'] = $d->vlAutorizado; $lista[$i]['vlCaptado'] = $d->CaptacaoReal; //$tbl->valorTotal('captado', $d->AnoProjeto, $d->Sequencial); $lista[$i]['PRONAC'] = $d->PRONAC; $lista[$i]['IdPRONAC'] = $d->IdPRONAC; $lista[$i]['NomeProjeto'] = $d->NomeProjeto; $lista[$i]['CNPJCPFProponente'] = $d->CNPJCPFProponente; $lista[$i]['Proponente'] = $d->Proponente; $lista[$i]['DescArea'] = $d->DescArea; $lista[$i]['DescSegmento'] = $d->DescSegmento; $lista[$i]['Sigla'] = $d->Sigla; $i++; } //xd($lista); $rsSomatorioAutorizado = $tbl->buscarDemonstrativoDeCaptacaoSomatorioValorAutorizado($arrBusca, $arrBuscaValor); $rsSomatorioCaptado = $tbl->buscarDemonstrativoDeCaptacaoSomatorioValorCaptado($arrBusca, $arrBuscaValor); if (!empty($post->dtCaptacao) && empty($post->dtCaptacao_Final)) { $arrData['Ano >= ?'] = substr($post->dtCaptacao, 8, 2); $teto = $tetoRenuncia->buscarAnoTetoCaptacao($arrData); } elseif (!empty($post->dtCaptacao) && !empty($post->dtCaptacao_Final)) { $arrData['Ano >= ?'] = substr($post->dtCaptacao, 8, 2); $arrData['Ano <= ?'] = substr($post->dtCaptacao_Final, 8, 2); $teto = $tetoRenuncia->buscarAnoTetoCaptacao($arrData); } foreach ($teto as $valorRenuncia) { $vlRenunciaTotal = $valorRenuncia->somatorioAnoBusca; } foreach ($rsSomatorioCaptado as $valorCaptado) { $vlCaptado = $valorCaptado->somatorioVlCaptado; } //xd($vlCaptado); $valorRenunciaFiscal = $vlRenunciaTotal - $vlCaptado; //Envia os parâmetros para outra função sem a necessidade de criar uma tela .phtml $this->_forward('gerar-tela-xls-html', null, null, array('valores' => $lista, 'SmAu' => $rsSomatorioAutorizado, 'SmCp' => $rsSomatorioCaptado, 'teto' => $teto, 'renuncia' => $valorRenunciaFiscal, 'gerar' => 'html')); //xd('sdf'); } if (isset($post->gerarXls) && $post->gerarXls == 'xls') { Zend_Layout::startMvc(array('layout' => 'layout_scriptcase')); //Refaz a busca para envia via _forward $rs = $tbl->buscarDemonstrativoDeCaptacao($arrBusca, $ordem, null, null, null, $arrBuscaValor); $i = 0; $lista = array(); //Envia a lista após buscar o valor total captado foreach ($rs as $d) { //$lista[$i]['DtRecibo'] = $d->DtRecibo; $lista[$i]['CaptacaoReal'] = $d->CaptacaoReal; $lista[$i]['vlAutorizado'] = $d->vlAutorizado; $lista[$i]['vlCaptado'] = $d->CaptacaoReal; //$tbl->valorTotal('captado', $d->AnoProjeto, $d->Sequencial); $lista[$i]['PRONAC'] = $d->PRONAC; $lista[$i]['IdPRONAC'] = $d->IdPRONAC; $lista[$i]['NomeProjeto'] = $d->NomeProjeto; $lista[$i]['CNPJCPFProponente'] = $d->CNPJCPFProponente; $lista[$i]['Proponente'] = $d->Proponente; $lista[$i]['DescArea'] = $d->DescArea; $lista[$i]['DescSegmento'] = $d->DescSegmento; $lista[$i]['Sigla'] = $d->Sigla; $i++; } $rsSomatorioAutorizado = $tbl->buscarDemonstrativoDeCaptacaoSomatorioValorAutorizado($arrBusca, $arrBuscaValor); $rsSomatorioCaptado = $tbl->buscarDemonstrativoDeCaptacaoSomatorioValorCaptado($arrBusca, $arrBuscaValor); if (!empty($post->dtCaptacao) && empty($post->dtCaptacao_Final)) { $arrData['Ano >= ?'] = substr($post->dtCaptacao, 8, 2); $teto = $tetoRenuncia->buscarAnoTetoCaptacao($arrData); } elseif (!empty($post->dtCaptacao) && !empty($post->dtCaptacao_Final)) { $arrData['Ano >= ?'] = substr($post->dtCaptacao, 8, 2); $arrData['Ano <= ?'] = substr($post->dtCaptacao_Final, 8, 2); $teto = $tetoRenuncia->buscarAnoTetoCaptacao($arrData); } foreach ($teto as $valorRenuncia) { $vlRenunciaTotal = $valorRenuncia->somatorioAnoBusca; } foreach ($rsSomatorioCaptado as $valorCaptado) { $vlCaptado = $valorCaptado->somatorioVlCaptado; } $valorRenunciaFiscal = $vlRenunciaTotal - $vlCaptado; //Envia os parâmetros para outra função sem a necessidade de criar uma tela .phtml $this->_forward('gerar-tela-xls-html', null, null, array('valores' => $lista, 'SmAu' => $rsSomatorioAutorizado, 'SmCp' => $rsSomatorioCaptado, 'teto' => $teto, 'renuncia' => $valorRenunciaFiscal, 'gerar' => 'xls')); } //Passa os valores para a view $rs = $tbl->buscarDemonstrativoDeCaptacao($arrBusca, $ordem, $tamanho, $inicio, null, $arrBuscaValor); //xd($rs); $i = 0; $lista = array(); //Envia a lista após buscar o valor total captado foreach ($rs as $d) { //$lista[$i]['DtRecibo'] = $d->DtRecibo; $lista[$i]['CaptacaoReal'] = $d->CaptacaoReal; $lista[$i]['vlAutorizado'] = $d->vlAutorizado; $lista[$i]['vlCaptado'] = $d->CaptacaoReal; //$tbl->valorTotal('captado', $d->AnoProjeto, $d->Sequencial); $lista[$i]['PRONAC'] = $d->PRONAC; $lista[$i]['IdPRONAC'] = $d->IdPRONAC; $lista[$i]['NomeProjeto'] = $d->NomeProjeto; $lista[$i]['CNPJCPFProponente'] = $d->CNPJCPFProponente; $lista[$i]['Proponente'] = $d->Proponente; $lista[$i]['DescArea'] = $d->DescArea; $lista[$i]['DescSegmento'] = $d->DescSegmento; $lista[$i]['Sigla'] = $d->Sigla; $i++; } //xd($lista); //Dados para view e para a paginação $this->view->registros = $lista; $this->view->pag = $pag; $this->view->total = $total; $this->view->inicio = $inicio + 1; $this->view->fim = $fim; $this->view->totalPag = $totalPag; $this->view->parametrosBusca = $_POST; //$this->view->arrQtdeRegistros = $arrQtdeRegistros; }
public function resultadoDesembolsoAction() { header("Content-Type: text/html; charset=ISO-8859-1"); $this->_helper->layout->disableLayout(); $post = Zend_Registry::get('post'); //recuperando filtros do POST $arrBusca = array(); if ($post->nrEdital != "") { $arrBusca["idEdital = ?"] = $post->nrEdital; } if ($post->nrParcela != "") { $arrBusca["NrParcela = ?"] = $post->nrParcela; } if ($post->liquidado != "") { $arrBusca["Pagou = ?"] = $post->liquidado; } $arrBusca = GenericControllerNew::montaBuscaData($post, "tpDt", "dt", "Data", "dt_Final", $arrBusca); //Varifica se foi solicitado a ordenação if (!empty($post->ordenacao)) { $ordem[] = "{$post->ordenacao} {$post->tipoOrdenacao}"; } else { $ordem = array('15'); } $tbl = new EditalDesembolso(); $total = $tbl->editalDesembolsoXProjeto($arrBusca, $ordem, null, null, true); if ($post->tipo == 'xls' || $post->tipo == 'pdf') { //orientaçao da pagina no pdf $landscape = sizeof($post->visaoAgente) > 4 ? true : false; //buscando os registros no banco de dados $tamanho = -1; $inicio = -1; $pag = 0; $totalPag = 0; $fim = 0; $rs = $tbl->editalDesembolsoXProjeto($arrBusca, $ordem, $tamanho, $inicio); $this->_forward('preparar-xls-pdf', null, null, array('dados' => $rs, 'view' => 'relatorio/preparar-xls-pdf-desembolso.phtml', 'tipo' => $post->tipo, 'orientacao' => $landscape)); } else { //controlando a paginacao $this->intTamPag = 50; $pag = 1; if (isset($post->pag)) { $pag = $post->pag; } if (isset($post->tamPag)) { $this->intTamPag = $post->tamPag; } $inicio = $pag > 1 ? ($pag - 1) * $this->intTamPag : 0; $fim = $inicio + $this->intTamPag; $totalPag = (int) ($total % $this->intTamPag == 0 ? $total / $this->intTamPag : $total / $this->intTamPag + 1); $tamanho = $fim > $total ? $total - $inicio : $this->intTamPag; $rs = $tbl->editalDesembolsoXProjeto($arrBusca, $ordem, $tamanho, $inicio); } $this->view->registros = $rs; $this->view->pag = $pag; $this->view->total = $total; $this->view->inicio = $inicio + 1; $this->view->fim = $fim; $this->view->totalPag = $totalPag; $this->view->parametrosBusca = $_POST; }