Commit f68f0fb5ccfd20b1eab9f9740bb3017cf0e16967
1 parent
b94227af
Exists in
master
and in
1 other branch
filtros csv
Showing
1 changed file
with
54 additions
and
4 deletions
Show diff stats
src/Cacic/RelatorioBundle/Controller/FaturamentoController.php
| @@ -41,6 +41,7 @@ | @@ -41,6 +41,7 @@ | ||
| 41 | { | 41 | { |
| 42 | $form->bind( $request ); | 42 | $form->bind( $request ); |
| 43 | $data = $form->getData(); | 43 | $data = $form->getData(); |
| 44 | + | ||
| 44 | $filtroLocais = array(); // Inicializa array com locais a pesquisar | 45 | $filtroLocais = array(); // Inicializa array com locais a pesquisar |
| 45 | foreach ( $data['idLocal'] as $locais ) { | 46 | foreach ( $data['idLocal'] as $locais ) { |
| 46 | array_push( $filtroLocais, $locais->getIdLocal() ); | 47 | array_push( $filtroLocais, $locais->getIdLocal() ); |
| @@ -73,16 +74,65 @@ | @@ -73,16 +74,65 @@ | ||
| 73 | public function faturamentoCsvAction(Request $request) | 74 | public function faturamentoCsvAction(Request $request) |
| 74 | { | 75 | { |
| 75 | 76 | ||
| 77 | + $locale = $request->getLocale(); | ||
| 78 | + $form = $this->createForm( new LogPesquisaType() ); | ||
| 79 | + | ||
| 80 | + if ( $request->isMethod('POST') ) | ||
| 81 | + { | ||
| 82 | + $form->bind( $request ); | ||
| 83 | + $data = $form->getData(); | ||
| 84 | + | ||
| 85 | + $filtroLocais = array(); // Inicializa array com locais a pesquisar | ||
| 86 | + foreach ( $data['idLocal'] as $locais ) { | ||
| 87 | + array_push( $filtroLocais, $locais->getIdLocal() ); | ||
| 88 | + } | ||
| 89 | + | ||
| 90 | + $printers = $this->getDoctrine()->getRepository( 'CacicCommonBundle:LogAcesso') | ||
| 91 | + ->faturamentoCsv( $data['dtAcaoInicio'], $data['dtAcaoFim'], $filtroLocais); | ||
| 92 | + | ||
| 93 | + } | ||
| 94 | + | ||
| 95 | + // Gera CSV | ||
| 96 | + $reader = new ArrayReader($printers); | ||
| 97 | + | ||
| 98 | + // Create the workflow from the reader | ||
| 99 | + $workflow = new Workflow($reader); | ||
| 100 | + | ||
| 101 | + $workflow->addValueConverter("reader",new CharsetValueConverter('UTF-8',$reader)); | ||
| 102 | + | ||
| 103 | + // Add the writer to the workflow | ||
| 104 | + $tmpfile = tempnam(sys_get_temp_dir(), 'Faturamento'); | ||
| 105 | + $file = new \SplFileObject($tmpfile, 'w'); | ||
| 106 | + $writer = new CsvWriter($file); | ||
| 107 | + $writer->writeItem(array('Local', 'Subrede','Endereço IP','Estações')); | ||
| 108 | + $workflow->addWriter($writer); | ||
| 109 | + | ||
| 110 | + // Process the workflow | ||
| 111 | + $workflow->process(); | ||
| 112 | + | ||
| 113 | + // Retorna o arquivo | ||
| 114 | + $response = new BinaryFileResponse($tmpfile); | ||
| 115 | + $response->headers->set('Content-Type', 'text/csv'); | ||
| 116 | + $response->headers->set('Content-Disposition', 'attachment; filename="Faturamento.csv"'); | ||
| 117 | + $response->headers->set('Content-Transfer-Encoding', 'binary'); | ||
| 118 | + | ||
| 119 | + | ||
| 120 | + return $response; | ||
| 121 | + } | ||
| 122 | + | ||
| 123 | + //botão csv de todas faturamento | ||
| 124 | + public function faturamentoCsvInternoAction(Request $request) | ||
| 125 | + { | ||
| 126 | + | ||
| 76 | $dataInicio = $request->get('dtAcaoInicio'); | 127 | $dataInicio = $request->get('dtAcaoInicio'); |
| 77 | $dataFim = $request->get('dtAcaoFim'); | 128 | $dataFim = $request->get('dtAcaoFim'); |
| 129 | + $idLocal = $_POST; | ||
| 78 | 130 | ||
| 79 | - $filtroLocais = $_POST; | ||
| 80 | - | ||
| 81 | - foreach ( $filtroLocais as $locais ) { | 131 | + foreach ( $idLocal as $locais ) { |
| 82 | } | 132 | } |
| 83 | 133 | ||
| 84 | $printers = $this->getDoctrine()->getRepository( 'CacicCommonBundle:LogAcesso') | 134 | $printers = $this->getDoctrine()->getRepository( 'CacicCommonBundle:LogAcesso') |
| 85 | - ->faturamentoCsv( $dataInicio, $dataFim, $filtroLocais); | 135 | + ->faturamentoCsv( $dataInicio, $dataFim, $locais); |
| 86 | 136 | ||
| 87 | // Gera CSV | 137 | // Gera CSV |
| 88 | $reader = new ArrayReader($printers); | 138 | $reader = new ArrayReader($printers); |