I have a problem with jasper soft studio
, my report is taking the data and multiplying at the time of filling the report, I am using 3 lists to fill it, I will send the code and my report.
public void imprimirOrcamento() throws JRException, FileNotFoundException, SQLException {
ArrayList lista = new ArrayList<>();
String servicos = null;
String descricao = null;
String valor = null;
String codigo = null;
String produto = null;
String qtde = null;
String valor_unitario = null;
String valor_total = null;
String telefoneEmpresa = null;
String numeroEmpresa = null;
String nomeEmpresa = null;
String bairroEmpresa = null;
String cidadeEmpresa = null;
String cnpjEmpresa = null;
String emailEmpresa = null;
String enderecoEmpresa = null;
String estadoEmpresa = null;
String cepEmpresa = null;
String ano = null;
String bairroPessoa = null;
String cepPessoa = null;
String chassis = null;
String cidadePessoa = null;
String combustivel = null;
String cor = null;
String cpfCnpjPessoa = null;
String data_entrada = null;
String data_saida = null;
String emailPessoa = null;
String enderecoPessoa = null;
String estadoPessoa = null;
String km = null;
String marca = null;
String modelo = null;
String nomePessoa = null;
String numero = null;
String numeroPessoa = null;
String placa = null;
String responsavel = null;
String status = null;
String telefonePessoa = null;
this.relatorioOrcamentoDAO = Principal.getRelatorioOrcamentoDAO();
for (RelatorioOrcamento relatorio : relatorioOrcamentoDAO.IdOrcamento(idOrcamento)) {
ano = relatorio.getAno();
bairroPessoa = relatorio.getBairroPessoa();
cepPessoa = relatorio.getCepPessoa();
chassis = relatorio.getChassis();
cidadePessoa = relatorio.getCidadePessoa();
combustivel = relatorio.getCombustivel();
cor = relatorio.getCor();
cpfCnpjPessoa = relatorio.getCpfCnpjPessoa();
data_entrada = relatorio.getData_entrada();
data_saida = relatorio.getData_saida();
emailPessoa = relatorio.getEmailPessoa();
enderecoPessoa = relatorio.getEnderecoPessoa();
estadoPessoa = relatorio.getEstadoPessoa();
km = relatorio.getKm();
marca = relatorio.getMarca();
modelo = relatorio.getModelo();
nomePessoa = relatorio.getNomePessoa();
numero = relatorio.getNumero();
numeroPessoa = relatorio.getNumeroPessoa();
placa = relatorio.getPlaca();
responsavel = relatorio.getResponsavel();
status = relatorio.getStatus();
telefonePessoa = relatorio.getTelefonePessoa();
telefoneEmpresa = relatorio.getTelefoneEmpresa();
numeroEmpresa = relatorio.getNumeroEmpresa();
nomeEmpresa = relatorio.getNomeEmpresa();
bairroEmpresa = relatorio.getBairroEmpresa();
cidadeEmpresa = relatorio.getCidadeEmpresa();
cnpjEmpresa = relatorio.getCnpjEmpresa();
emailEmpresa = relatorio.getEmailEmpresa();
enderecoEmpresa = relatorio.getEnderecoEmpresa();
estadoEmpresa = relatorio.getEstadoEmpresa();
cepEmpresa = relatorio.getCepEmpresa();
String valorPecas = lblValorTotalPecas.getText();
String valorServico = lblValorTotalServico.getText();
String valorTotal = txtValorTotalPecasServico.getText();
RelatorioOrcamento relatorioOs = new RelatorioOrcamento(nomeEmpresa, cnpjEmpresa, enderecoEmpresa, bairroEmpresa,
cepEmpresa, numeroEmpresa, estadoEmpresa, cidadeEmpresa, telefoneEmpresa, emailEmpresa, numero,
responsavel, status, data_entrada, data_saida, nomePessoa, cpfCnpjPessoa, enderecoPessoa,
bairroPessoa, numeroPessoa, estadoPessoa, cidadePessoa, cepPessoa, telefonePessoa, emailPessoa,
marca, modelo, placa, km, chassis, cor, ano, combustivel, valorPecas, valorServico, valorTotal);
lista.add(relatorioOs);
}
conexao.fecharConexao();
this.servicoOrcamentoDAO = Principal.getServicoOrcamentoDAO();
for (Servico servico : servicoOrcamentoDAO.buscarIdServico(idOrcamento)) {
servicos = servico.getServico();
descricao = servico.getDescricao();
valor = String.valueOf(servico.getValor());
RelatorioOrcamento rel = new RelatorioOrcamento(servicos, descricao, valor);
lista.add(rel);
}
conexao.fecharConexao();
this.pecasOrcamentoDAO = Principal.getPecasOrcamentoDAO();
for (Pecas peca : pecasOrcamentoDAO.buscarIdPecas(idOrcamento)) {
codigo = String.valueOf(peca.getId());
produto = peca.getProduto();
qtde = String.valueOf(peca.getQuantidade());
valor_unitario = String.valueOf(peca.getValorUnitario());
valor_total = String.valueOf(peca.getValorTotal());
RelatorioOrcamento r = new RelatorioOrcamento(codigo, produto, qtde, valor_unitario, valor_total);
lista.add(r);
}
String remover = new String("null");
for(int i =0; i < lista.size(); i++) {
String buscarNull = lista.get(i).toString();
if(buscarNull.equalsIgnoreCase(remover) || buscarNull == null) {
System.out.println("encontrou valor nulo : " + buscarNull);
lista.remove(Integer.parseInt(buscarNull));
}else {
System.out.println("não encontrou valor nulo : " + buscarNull);
}
}
Relatorio relatorio = new Relatorio();
relatorio.gerarRelatorioOrcamento(lista);
}
Here is an image of my report: