Boa Noite Pessoal,
Eu tenho que construir um método que ele printe um relatório do total de vendar em um período baseado na query em SQL que eu montei. A query seria essa:
select c.name, b.name, SUM(a.value) from sale as a inner join credit_card as b on a.id = b.id inner join
store as c on a.id = c.id where a.date between data1 and data2 group by c.name, b.name, b.id;
O método tem como parametro initialDate e endDate só que estou em dúvida se eu coloco essa query dentro do método pra ele fazer a consulta no banco ou teria que fazer algo diferente?Pois não to conseguindo ver uma maneira pra fazer com que o print saia mais ou menos assim:
total sales between 01/01/2017 and 31/01/2017
Loja 01;visa;155,00
Loja 01;master;200,00
Segue o código do método:
public void printReport(Date initialDate, Date endDate) {
List<Sale> sales = getSales(initialDate, endDate);
try {
System.out.println(id);
PreparedStatement stmt = connection.prepareStatement("select c.name, b.name, SUM(a.value) from sale as a inner join credit_card as b on a.id = b.id inner join
store as c on a.id = c.id where a.date between data1 and data2 group by c.name, b.name, b.id");
stmt.setLong(1, id);
ResultSet rs = stmt.executeQuery();
Sale s = new Sale();
while (rs.next()) {
s.setId(rs.getLong("id"));
s.setName(rs.getString("name"));
s.setValue(rs.getString("value"));
s.setCreditCardId(rs.getString("creditCardId"));
c.setStoreId(rs.getString("storeId"));
Calendar data = Calendar.getInstance();
data.setTime(rs.getDate("date"));
c.setDate(data);
}
} catch (SQLException ex) {
throw new DAOException(ex);
}
}
}