package control;
import dao.FabricaConexao;
import java.sql.SQLException;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Vector;
import javax.swing.JOptionPane;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.view.JasperViewer;
import net.sf.jasperreports.engine.JRException;
import util.Conexao;
import util.ConexaoException;
import util.MinhaException;
/***
*
* @author Rodrigo Martins
*/
public class ControladoraRelatorio {
private Conexao conexao;
private Vector vetFuncionario = new Vector();
public Vector getVetFuncionario() {
return vetFuncionario;
}
public void setVetFuncionario(Vector vetFuncionario) {
this.vetFuncionario = vetFuncionario;
}
public Conexao getConnection() {
return this.conexao;
}
public void setConnection(Conexao conexao) {
this.conexao = conexao;
}
/**
* Carrega o relatorio CarroMaisLocadoPorUmCliente.jasper
* @param nomeRelatorio
* @param paramentroInicial
* @param paramentroFinal
* @throws MinhaException
* @throws SQLException
* @throws ConexaoException
*/
@SuppressWarnings("unchecked")
public void relatorio(String nomeRelatorio, String paramentroInicial, String paramentroFinal, Vector usuario) throws MinhaException, SQLException, ConexaoException, ParseException{
Date dataInicio = null;
SimpleDateFormat formatBra = null;
Date dataFim = new Date();
formatBra = new SimpleDateFormat("dd/MM/yyyy");
try
{
DateFormat formatter = formatBra;
dataInicio = formatter.parse(paramentroInicial);
dataFim = formatter.parse(paramentroFinal);
}
catch(ParseException e)
{
e.printStackTrace();
}
try {
conexao = FabricaConexao.obterConexao();
String url = System.getProperty("user.dir") + "/SCC/Relatorios/"+nomeRelatorio+".jasper";
HashMap parametro = new HashMap();
parametro.put("data_inicio", dataInicio);
parametro.put("data_fim", dataFim);
parametro.put("nomeFuncionario", usuario.get(3).toString());
parametro.put("tipoFuncionario", usuario.get(2).toString());
JasperPrint jp = JasperFillManager.fillReport(url, parametro, conexao.getConnection());
JasperViewer.viewReport(jp, false);
this.conexao.close();
} catch (JRException ex)
{
throw new MinhaException( "Não foi possivel gerar relatório.\nMSG:" + ex.getMessage());
}
}
public void relatorio(String nomeRelatorio, String data, Vector usuario) throws MinhaException, SQLException, ConexaoException, ParseException{
SimpleDateFormat formatBra = null;
Date dataA = new Date();
formatBra = new SimpleDateFormat("dd/MM/yyyy");
try
{
DateFormat formatter = formatBra;
dataA = formatter.parse(data);
}
catch(ParseException e)
{
e.printStackTrace();
}
try {
conexao = FabricaConexao.obterConexao();
String url = System.getProperty("user.dir") + "/SCC/Relatorios/"+nomeRelatorio+".jasper";
HashMap parametro = new HashMap();
parametro.put("data", dataA);
parametro.put("nomeFuncionario", usuario.get(3).toString());
parametro.put("tipoFuncionario", usuario.get(2).toString());
JasperPrint jp = JasperFillManager.fillReport(url, parametro, conexao.getConnection());
JasperViewer.viewReport(jp, false);
this.conexao.close();
} catch (JRException ex)
{
throw new MinhaException( "Não foi possivel gerar relatório.\nMSG:" + ex.getMessage());
}
}
public void relatorio(String nomeRelatorio, Vector usuario) throws MinhaException, SQLException, ConexaoException, ParseException{
try {
conexao = FabricaConexao.obterConexao();
String url = System.getProperty("user.dir") + "/SCC/Relatorios/"+nomeRelatorio+".jasper";
HashMap parametro = new HashMap();
parametro.put("nomeFuncionario", usuario.get(3).toString());
parametro.put("tipoFuncionario", usuario.get(2).toString());
JasperPrint jp = JasperFillManager.fillReport(url, parametro, conexao.getConnection());
JasperViewer.viewReport(jp, false);
this.conexao.close();
} catch (JRException ex)
{
ex.printStackTrace();
throw new MinhaException( "Não foi possivel gerar relatório.\nMSG:" + ex.getMessage());
}
}
public void geraPagamento(String nomeRelatorio, Vector usuario, String cpf) throws MinhaException, SQLException, ConexaoException, ParseException{
nomeRelatorio = "GeraPagamento";
try {
conexao = FabricaConexao.obterConexao();
String url = System.getProperty("user.dir") + "/SCC/Relatorios/"+nomeRelatorio+".jasper";
HashMap parametro = new HashMap();
parametro.put("nomeFuncionario", usuario.get(3).toString());
parametro.put("tipoFuncionario", usuario.get(2).toString());
parametro.put("cpf", cpf);
JasperPrint jp = JasperFillManager.fillReport(url, parametro, conexao.getConnection());
JasperViewer.viewReport(jp, false);
this.conexao.close();
} catch (JRException ex)
{
ex.printStackTrace();
// throw new MinhaException( "Não foi possivel gerar relatório.\nMSG:" + ex.getMessage());
}
}
}