SessionUser user=SessionHelper.getSessionUser();
userid=user.getId();
List<StoreOrder> storeOrders=settlementService.printStoreOrders(userid);
if (storeOrders!=null &&storeOrders.size()>0) {
for (int i = 0; i < storeOrders.size(); i++) {
StoreOrder storeOrder=storeOrders.get(i);
Order order=storeOrder.getOrder();
ordermoney=ordermoney.add(order.getAmount());
paymoney=paymoney.add(storeOrder.getMallMoney());
freight=freight.add(order.getFreight());
}
List<ViewReimbursement> vList=settlementService.loadReimbursements(userid);
if (vList!=null &&vList.size()>0) {
for (int i = 0; i < vList.size(); i++) {
ViewReimbursement v=vList.get(i);
ReimbursementItem reimbursementItem=v.getReimbursement();
realBackMoney=realBackMoney +reimbursementItem.getRealBackMoney();
}
}
settlement=ordermoney.add(freight).subtract(paymoney).subtract(new BigDecimal(realBackMoney));
}
// 设置页面参数
Map paraMap = new HashMap();
// 设置明细list
JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(storeOrders);
try {
InputStream is = this.getClass().getClassLoader().getResourceAsStream("/Settlement.jrxml");
JasperDesign jasperDesign = JRXmlLoader.load(is);
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
paraMap.put("ordermoney",ordermoney);
paraMap.put("paymoney",paymoney);
paraMap.put("settlement",settlement);
paraMap.put("realBackMoney", realBackMoney);
paraMap.put("freight", freight);
// 写入报表
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, paraMap, ds);
HttpServletResponse resp = ServletActionContext.getResponse();
JRExporter exporter = new JRPdfExporter();
resp.reset();
resp.setContentType("application/pdf;UTF-8");
resp.setHeader("Content-Disposition", "attachment; filename=\""+ URLEncoder.encode("settlementList", "UTF-8") + ".pdf\"");
OutputStream ouputStream = resp.getOutputStream();
// 使用JRPdfExproter导出器导出pdf
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.CHARACTER_ENCODING, "UTF-8");
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, ouputStream);
exporter.exportReport();
ouputStream.flush();
ouputStream.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
使用 jasperreport 来打印报表
最新推荐文章于 2025-05-20 15:02:17 发布