Relatório Ireport

12 respostas
java
R

Estou gerando um relatório no iReport e quando busco no banco de dados uma lista de produtos, gera um produto por página, no caso gostaria de inserir um lista de produtos na mesma página.

public List<OrcamentoRelatorio> RelatorioOrcamento(String id_orcamento)
		throws SQLException {
	List<OrcamentoRelatorio> retorno = new ArrayList<OrcamentoRelatorio>();
		String sql = "select o.data, o.id, c.nome, p.descricao, o.data_inicial, 
              o.data_final, op.quantidade ,o.dias, pr.tipo_preco, pr.preco, sum((op.quantidade * 
                             pr.preco)*  o.dias) as total from orcamento o "
				+ "inner join orcamento_produto op on o.id = op.id_orcamento "
				+ "inner join produto p on p.id = op.id_produto "
				+ "inner join preco pr on pr.id = op.id_preco "
				+ "inner join cliente c on c.id = o.id_cliente "
				+ "where o.id = "
				+ id_orcamento 
				+ " group by  o.data, o.id, c.nome, p.descricao, o.data_inicial, o 
        o.data_final, op.quantidade ,o.dias, pr.tipo_preco, pr.preco" ;

	PreparedStatement statement = connection.prepareStatement(sql);
	ResultSet resultSet = statement.executeQuery();
	Double totalgeral = 0.0;
	while (resultSet.next()) {
		OrcamentoRelatorio orcamentoRelatorio = new OrcamentoRelatorio();
		orcamentoRelatorio.setData(resultSet.getDate("data"));
		orcamentoRelatorio.setId(resultSet.getLong("id"));
		orcamentoRelatorio.setNome(resultSet.getString("nome"));
		orcamentoRelatorio.setDescricao(resultSet.getString("descricao"));
		orcamentoRelatorio.setData_inicial(resultSet.getDate("data_inicial"));
		orcamentoRelatorio.setData_final(resultSet.getDate("data_final"));
		orcamentoRelatorio.setQuantidade(resultSet.getDouble("quantidade"));
		orcamentoRelatorio.setDias(resultSet.getDouble("dias"));
		orcamentoRelatorio.setTipo_preco(resultSet.getString("tipo_preco"));
		orcamentoRelatorio.setPreco(resultSet.getDouble("preco"));
		orcamentoRelatorio.setTotal(resultSet.getDouble("total"));
		totalgeral += resultSet.getDouble("total");
		orcamentoRelatorio.setTotalgeral(totalgeral);
		
		
		retorno.add(orcamentoRelatorio);

	}
	System.out.println(totalgeral);

	return retorno;

}

12 Respostas

darlan_machado

Posta o conteudo do jrxml

R

image

darlan_machado

Cara, você está fazendo algo na configuração do teu relatório que o deixou com esse comportamento. Ou você posta o jrxml ou fica difícil.

R

contrato.jrxml (19,4,KB)

darlan_machado

Posta o código aqui. Eu não consigo baixar, é bloqueado.

R
<?xml version="1.0" encoding="UTF-8"?>
D

O seu detail esta ocupando quase a pagina toda, por isso so sai hum registro por pagina, no detail tem que colocar somente os fields e tem que ter a menor altura possivel, os outros campos tem que ficar no columm header e no column footer.

R

Posso colocar um Field no Column Header? Dados como nome, endereço, etc.

R

É possível montar um contrato, neste modelo com iReport?

R

É possível montar um contrato, neste modelo com iReport?

D

sim, porém so vai mostrar o valor do ultimo registro da lista

darlan_machado

Entenda o seguinte, cada banda do relatório tem uma função específica. O header e o footer serão replicados em todas as páginas onde houver dados da banda details, porém, terão sempre os mesmos dados.

Criado 12 de janeiro de 2020
Ultima resposta 14 de jan. de 2020
Respostas 12
Participantes 3