public function indexAction() { try { $this->assets->collection('footerJs')->addJs('app/telephony/reports/index.js'); if ($this->request->isPost()) { $relatorios = $this->request->getPost('relatorios', 'int'); $competencia = str_replace('20', '', $this->request->getPost('mes', 'string')); if ($this->request->getPost('valor')) { $valor = $this->filter->sanitize(str_replace(',', '.', str_replace('.', '', $this->request->getPost('valor'))), 'float'); } $reports = new Reports(); switch ($relatorios) { case 1: $dados = $reports->getRateioDescFolha($competencia); $fileName = 'Rateio Celular Folha Pagto'; break; case 2: $dados = $reports->getRateioNF($competencia); $fileName = 'Rateio Celular NF'; break; case 3: $competencia = implode('', array_reverse(explode('/', $this->request->getPost('mes', 'string')))); $dados = $reports->getRateioTotvs($competencia, $valor); $fileName = 'Rateio NF ERP'; break; case 4: $dados = $reports->getRateioEmails($competencia, $valor); $fileName = 'Rateio NF E-mails'; break; case 5: $competencia = implode('', array_reverse(explode('/', $this->request->getPost('mes', 'string')))); $dados = $reports->getRateioCorporativo($competencia, $valor); $fileName = 'Rateio NF Matriz'; break; default: $dados = $reports->getRateioDescFolha($competencia); $fileName = 'Rateio Celular Folha Pagto'; break; } $tools = new Tools(); $options = ['download' => true, 'fileName' => $fileName]; return $tools->writeXLS($dados, $options); } } catch (\Exception $e) { $this->flash->error($e->getMessage()); } }
public function indexAction() { try { $tools = new Tools(); $search = $this->request->get('search', 'string'); switch ($this->request->get('obj')) { case 'produtos': $object = new Produtos(); $dados = $object->getProdutos($search); $options['fileName'] = 'Produtos e Serviços'; break; case 'fornecedores': $object = new Fornecedores(); $dados = $object->getFornecedores($search); $options['fileName'] = 'Fornecedores'; break; case 'centro_custo': $object = new CentroCustos(); $dados = $object->getCentroCusto($search); $options['fileName'] = 'Centros de Custos'; break; case 'natureza_financeria': $object = new NaturezaFinanceira(); $dados = $object->getNaturezaFinanceira($search); $options['fileName'] = 'Natureza Financeira'; break; case 'requisitos_minimos': $object = new RequisitoMinimo(); $dados = $object->getRequisitoMinimo($search); $options['fileName'] = 'Requisitos Mínimos'; break; case 'secao': $object = new Psecao(); $dados = $object->getSecao($search); $options['fileName'] = 'Seções'; break; case 'tes': $object = new Tes(); $dados = $object->getTes($search); $options['fileName'] = 'TES (Tipos de Entrada e Saída)'; break; case 'telefonia': $aux = explode(' | ', $search); $linhas = $aux[0]; $mes = str_replace('20', '', $aux[1]); $object = new Statement(); $dados = $object->getReportByLine($linhas, $mes); $options['fileName'] = 'Extrato de Conta Celular'; break; case 'clientes': $object = new Clientes(); $dados = $object->getClientes($search); $options['fileName'] = 'Clientes'; break; default: throw new Exception('Erro ao exportar: Objeto não definido.'); break; } $options['download'] = true; switch ($this->request->get('type')) { case 'excel': return $tools->writeXLS($dados, $options); break; case 'pdf': return $tools->writePdf($dados, $options); break; default: throw new Exception('Erro ao exportar: Tipo não definido.'); break; } } catch (\Exception $e) { $this->flash->error($e->getMessage()); } }