本帖最後由 luckiejacky 於 2013-10-11 19:19 編輯
- public class MonthlyMemberTotalSalesRpt extends AReport {
- public MonthlyMemberTotalSalesRpt(Database _db) {
- super(_db);
- }
- @Override
- public void printReport(List data) {
- {
-
- String sql = "select c.CustomerID AS '客戶ID',\n" +
- " c.LastName AS '姓氏',\n" +
- " c.FirstName AS '名字',\n" +
- " p.PurchaseDateTime AS '购买日期时间',\n" +
- " round(IFNULL(sum(IFNULL(p.GrossSales,0)),0),2) AS '销售总额',\n" +
- " round(IFNULL(sum(IFNULL(p.NetSales,0)),0),2) AS '净销售额'\n" +
- " from customer AS c LEFT JOIN\n" +
- " (select c.CustomerID, c.LastName, c.FirstName, o.PurchaseDateTime, od.GrossSales, od.NetSales \n" +
- " from customer c INNER JOIN\n" +
- " orders o ON (c.CustomerID = o.CustomerID)\n" +
- " INNER JOIN order_details od ON (o.OrderID = od.OrderID)\n" +
- " where strftime('%m', o.PurchaseDateTime) = strftime('%m', 'now')\n" +
- " Group by c.CustomerID) p\n" +
- " ON p.CustomerID = c.CustomerID\n" +
- " group by c.CustomerID";
- List<Sales> listOfSales = new ArrayList<>();
- ResultSet rs = getDB().query(sql);
- try {
- while (rs.next())
- {
- Sales s = new Sales();
- String CustID = rs.getString("客戶ID");
- int GS = rs.getInt("销售总额");
- int NS = rs.getInt("净销售额");
- s.setCustID(CustID);
- s.setGrossSales(GS);
- s.setNetSales(NS);
- listOfSales.add(s);
- }
- } catch (SQLException ex) {
- Logger.getLogger
- (MonthlyMemberTotalSalesRpt.class.getName())
- .log(Level.SEVERE, null, ex);
- }
- HashMap<String, Object> param = new HashMap<>();
- URL logoStr = MonthlyMemberTotalSalesRpt.class.getResource("/resources/ICJB.png");
- param.put("logo", logoStr);
- param.put("ReportName", "Sales Report");
-
-
- JRBeanCollectionDataSource beanCollectionDataSource
- = new JRBeanCollectionDataSource(listOfSales);
-
-
-
- JasperPrint jp = null;
- try {
- jp = JasperFillManager.fillReport(
- getClass().getResourceAsStream(
- "/Reporting/MonthlyMemberTotalSales.jasper"),
- param, beanCollectionDataSource);
- } catch (JRException ex) {
- Logger.getLogger(
- MonthlyMemberTotalSalesRpt.class.getName())
- .log(Level.SEVERE, null, ex);
- }
- JRViewer test = new JRViewer(jp);
-
- }
-
-
- }
- }
複製代碼- Error
- net.sf.jasperreports.engine.JRException: Error retrieving field value from bean : 客戶ID
- at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getBeanProperty(JRAbstractBeanDataSource.java:123)
複製代碼 Any help would be greatly appreciated!
THX |