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); |