TavernerPOS - Source Code
Clone:
git clone http://www.librarysmith.co.uk/tavernerPOS
package com.floreantpos.model.dao;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.criterion.ProjectionList;
import org.hibernate.criterion.Projections;
import org.hibernate.criterion.Restrictions;
import com.floreantpos.model.RefundTransaction;
import com.floreantpos.model.Terminal;
import com.floreantpos.model.util.RefundSummary;
public class RefundTransactionDAO extends BaseRefundTransactionDAO {
/**
* Default constructor. Can be used in place of getInstance()
*/
public RefundTransactionDAO () {}
public RefundSummary getTotalRefundForTerminal(Terminal terminal) {
Session session = null;
RefundSummary refundSummary = new RefundSummary();
try {
session = getSession();
Criteria criteria = session.createCriteria(getReferenceClass());
ProjectionList projectionList = Projections.projectionList();
projectionList.add(Projections.rowCount());
projectionList.add(Projections.sum(RefundTransaction.PROP_AMOUNT));
criteria.setProjection(projectionList);
criteria.add(Restrictions.eq(RefundTransaction.PROP_TERMINAL, terminal));
criteria.add(Restrictions.eq(RefundTransaction.PROP_DRAWER_RESETTED, Boolean.FALSE));
List list = criteria.list();
if (list.size() > 0) {
Object[] objects = (Object[]) list.get(0);
if (objects.length > 0 && objects[0] != null) {
refundSummary.setCount(((Number) objects[0]).intValue());
}
if (objects.length > 1 && objects[1] != null) {
refundSummary.setAmount(((Number) objects[1]).doubleValue());
}
}
return refundSummary;
} finally {
closeSession(session);
}
}
}
- Details
- Last Updated: Monday, 04 April 2016 02:04
- Hits: 37355554