2
Copyright 2010, 2012, 2014 Jose Robson Mariano Alves
4
This file is part of bgfinancas.
6
This program is free software: you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation, either version 3 of the License, or
9
(at your option) any later version.
11
This package is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU General Public License for more details.
16
You should have received a copy of the GNU General Public License
17
along with this program. If not, see <http://www.gnu.org/licenses/>.
23
import Biblioteca.Datas;
24
import Biblioteca.Janelinha;
25
import Biblioteca.Numeros;
26
import Biblioteca.Relatorio;
28
import java.sql.SQLException;
29
import java.text.ParseException;
31
import net.sf.jasperreports.engine.*;
32
import net.sf.jasperreports.engine.util.JRLoader;
33
import net.sf.jasperreports.view.JasperViewer;
35
public final class RReceitas extends Relatorio {
37
private String DataInicial,DataFinal;
38
private String DataExtenso;
40
public void RReceitas(String data_inicial, String data_final) throws ParseException
42
String Titulo = Lingua.getMensagem("receitas")+" > "+Lingua.getMensagem("periodo_categoria");
43
DataInicial = data_inicial;
44
DataFinal = data_final;
45
DataExtenso = Datas.DataExtenso(DataInicial,DataFinal);
46
JasperPrint Relatorio;
48
Relatorio = GerarRelatorio();
49
List lista = new ArrayList();
50
lista = Relatorio.getPages();
53
JasperViewer RelatorioFinal = new JasperViewer(Relatorio, false);
54
RelatorioFinal.setTitle(Titulo);
55
RelatorioFinal.setExtendedState(JasperViewer.MAXIMIZED_BOTH);
56
RelatorioFinal.setVisible(true);
58
Janelinha.Aviso((Lingua.getMensagem("erro")), Lingua.getMensagem("relatorio_sem_dados"));
60
} catch (Exception e) {
61
Janelinha.Aviso((Lingua.getMensagem("erro")), Lingua.getMensagem("excecao")+" "+e.getMessage());
66
public JasperPrint GerarRelatorio() {
68
JasperPrint relatorio = null;
69
Double ValorTotal=0.0;
70
String SQL = "SELECT SUM(receitas.valor) AS valor_total, receitas_itens.id_categoria, receitas_categorias.nome FROM receitas, receitas_itens, receitas_categorias WHERE receitas.id_item=receitas_itens.id_item AND receitas_itens.id_categoria=receitas_categorias.id_categoria AND receitas.data>='"+DataInicial+"' AND receitas.data<='"+DataFinal+"' GROUP BY receitas_categorias.nome, receitas_itens.id_categoria";
72
Banco.executeQuery(SQL);
73
while(Banco.getResultSet().next())
75
ValorTotal+=Double.parseDouble(Banco.getResultSet().getString("valor_total"));
77
Banco.executeQuery(SQL);
78
} catch (SQLException ex) {
79
Janelinha.Aviso((Lingua.getMensagem("erro")), Lingua.getMensagem("excecao")+" "+ex.getMessage());
83
HashMap parametros = new HashMap();
84
parametros.put("TITULO", Lingua.getMensagem("receitas")+" - "+Lingua.getMensagem("categorias"));
85
parametros.put("MOEDA", Lingua.getMensagem("moeda"));
86
parametros.put("DATAEXTENSO", DataExtenso);
87
parametros.put("VALORTOTAL", Lingua.getMensagem("valor_total")+": "+Lingua.getMensagem("moeda")+" "+Numeros.Arrendondar(ValorTotal).toString());
88
URL arquivo = getClass().getResource("/Formularios/Receitas.jasper");
89
JasperReport arquivoJasper = (JasperReport) JRLoader.loadObject( arquivo );
90
JRResultSetDataSource JRresultset = new JRResultSetDataSource(Banco.getResultSet());
91
relatorio = JasperFillManager.fillReport(arquivoJasper, parametros, JRresultset);
92
} catch (JRException e) {
93
Janelinha.Aviso((Lingua.getMensagem("erro")), Lingua.getMensagem("excecao")+" "+e.getMessage());
b'\\ No newline at end of file'