package com.floreantpos.report; import java.util.ArrayList; import java.util.Date; import java.util.List; import com.floreantpos.bo.ui.explorer.ListTableModel; import com.floreantpos.main.Application; public class CreditCardReport { private Date fromDate; private Date toDate; private Date reportTime; private int totalSalesCount; private double totalSales; private double netTips; private double tipsPaid; private double netCharge; private List<CreditCardReportData> reportDatas = new ArrayList<CreditCardReportData>(); private CreditCardReportTableModel tableModel; public CreditCardReportTableModel getTableModel() { if(tableModel == null) { tableModel = new CreditCardReportTableModel(reportDatas); } return tableModel; } public Date getFromDate() { return fromDate; } public void setFromDate(Date fromDate) { this.fromDate = fromDate; } public Date getReportTime() { return reportTime; } public void setReportTime(Date reportTime) { this.reportTime = reportTime; } public Date getToDate() { return toDate; } public void setToDate(Date toDate) { this.toDate = toDate; } public double getNetCharge() { return netCharge; } public void setNetCharge(double netCharge) { this.netCharge = netCharge; } public double getNetTips() { return netTips; } public void setNetTips(double netTips) { this.netTips = netTips; } public double getTipsPaid() { return tipsPaid; } public void setTipsPaid(double tipsPaid) { this.tipsPaid = tipsPaid; } public double getTotalSales() { return totalSales; } public void setTotalSales(double totalSales) { this.totalSales = totalSales; } public int getTotalSalesCount() { return totalSalesCount; } public void setTotalSalesCount(int totalSalesCount) { this.totalSalesCount = totalSalesCount; } public void addReportData(CreditCardReportData data) { reportDatas.add(data); } public static class CreditCardReportData { private Integer refId; private String cardType; private Double subtotal; private Double tips; private Double total; public String getCardType() { return cardType; } public void setCardType(String cardType) { this.cardType = cardType; } public Integer getRefId() { return refId; } public void setRefId(Integer refId) { this.refId = refId; } public Double getSubtotal() { return subtotal; } public void setSubtotal(Double subtotal) { this.subtotal = subtotal; } public Double getTips() { return tips; } public void setTips(Double tips) { this.tips = tips; } public Double getTotal() { return total; } public void setTotal(Double total) { this.total = total; } } public static class CreditCardReportTableModel extends ListTableModel { public CreditCardReportTableModel(List<CreditCardReportData> datas) { super(new String[] {"refId", "cardType", "subtotal", "tips", "total"}, datas); } public Object getValueAt(int rowIndex, int columnIndex) { CreditCardReportData data = (CreditCardReportData) rows.get(rowIndex); switch(columnIndex) { case 0: return String.valueOf(data.getRefId()); case 1: return data.getCardType(); case 2: return Application.formatNumber(data.getSubtotal()); case 3: return Application.formatNumber(data.getTips()); case 4: return Application.formatNumber(data.getTotal()); } return null; } } }