Example usage for org.hibernate.criterion Restrictions or

List of usage examples for org.hibernate.criterion Restrictions or

Introduction

In this page you can find the example usage for org.hibernate.criterion Restrictions or.

Prototype

public static LogicalExpression or(Criterion lhs, Criterion rhs) 

Source Link

Document

Return the disjuction of two expressions

Usage

From source file:com.floreantpos.model.dao.DiscountDAO.java

License:Open Source License

public List<Discount> getTicketValidCoupon() {
    Session session = null;/*from   w w  w  . j a va2s  .c  om*/

    Date currentDate = new Date();

    try {
        session = createNewSession();
        Criteria criteria = session.createCriteria(getReferenceClass());
        criteria.add(Restrictions.eq(Discount.PROP_ENABLED, Boolean.TRUE));
        criteria.add(Restrictions.eq(Discount.PROP_QUALIFICATION_TYPE, Discount.QUALIFICATION_TYPE_ORDER));
        criteria.add(Restrictions.or(Restrictions.eq(Discount.PROP_NEVER_EXPIRE, Boolean.TRUE),
                Restrictions.ge(Discount.PROP_EXPIRY_DATE, currentDate)));
        return criteria.list();
    } finally {
        closeSession(session);
    }
}

From source file:com.floreantpos.model.dao.MenuCategoryDAO.java

License:Open Source License

public List<MenuCategory> findNonBevegares() {
    Session session = null;//from w w w .  jav a2  s  .  co  m

    try {
        session = getSession();
        Criteria criteria = session.createCriteria(getReferenceClass());
        criteria.add(Restrictions.eq(MenuCategory.PROP_VISIBLE, Boolean.TRUE));
        criteria.add(Restrictions.or(Restrictions.isNull(MenuCategory.PROP_BEVERAGE),
                Restrictions.eq(MenuCategory.PROP_BEVERAGE, Boolean.FALSE)));
        return criteria.list();
    } finally {
        closeSession(session);
    }
}

From source file:com.floreantpos.model.dao.MenuGroupDAO.java

License:Open Source License

@SuppressWarnings("unchecked")
public boolean hasChildren(Terminal terminal, MenuGroup group, OrderType orderType) throws PosException {
    Session session = null;//  w w w  .ja  va2s.c om

    try {
        session = getSession();
        Criteria criteria = session.createCriteria(MenuItem.class);
        criteria.add(Restrictions.eq(MenuItem.PROP_PARENT, group));
        criteria.add(Restrictions.eq(MenuItem.PROP_VISIBLE, Boolean.TRUE));

        //         if(terminal!=null) {
        //            criteria.add(Restrictions.eq(MenuItem., criteria))
        //         }
        criteria.setProjection(Projections.rowCount());

        criteria.createAlias("orderTypeList", "type", CriteriaSpecification.LEFT_JOIN);
        criteria.add(Restrictions.or(Restrictions.isEmpty("orderTypeList"),
                Restrictions.eq("type.id", orderType.getId())));

        int uniqueResult = (Integer) criteria.uniqueResult();

        return uniqueResult > 0;
    } catch (Exception e) {
        e.printStackTrace();
        throw new PosException(Messages.getString("MenuItemDAO.0")); //$NON-NLS-1$
    } finally {
        if (session != null) {
            session.close();
        }
    }
}

From source file:com.floreantpos.model.dao.MenuItemDAO.java

License:Open Source License

public List<MenuItem> findByParent(Terminal terminal, MenuGroup menuGroup, Object selectedOrderType,
        boolean includeInvisibleItems) {
    Session session = null;//from  www.  j  av a 2  s.  co  m
    Criteria criteria = null;
    try {
        session = getSession();
        criteria = session.createCriteria(MenuItem.class);

        if (menuGroup != null) {
            criteria.add(Restrictions.eq(MenuItem.PROP_PARENT, menuGroup));
        }
        criteria.addOrder(Order.asc(MenuItem.PROP_SORT_ORDER));

        if (!includeInvisibleItems) {
            criteria.add(Restrictions.eq(MenuItem.PROP_VISIBLE, Boolean.TRUE));
        }

        if (selectedOrderType instanceof OrderType) {
            OrderType orderType = (OrderType) selectedOrderType;
            criteria.createAlias("orderTypeList", "type", CriteriaSpecification.LEFT_JOIN);
            criteria.add(Restrictions.or(Restrictions.isEmpty("orderTypeList"),
                    Restrictions.eq("type.id", orderType.getId())));
        }
        return criteria.list();

    } catch (Exception e) {
    }
    return criteria.list();
}

From source file:com.floreantpos.model.dao.MenuItemDAO.java

License:Open Source License

public List<MenuItem> getMenuItems() {
    Session session = null;/*  w  w  w .  j a  va  2s .co m*/
    Criteria criteria = null;
    try {
        session = createNewSession();
        criteria = session.createCriteria(MenuItem.class);
        criteria.add(Restrictions.or(Restrictions.eq(MenuItem.PROP_PIZZA_TYPE, false),
                Restrictions.isNull(MenuItem.PROP_PIZZA_TYPE)));

        List<MenuItem> result = criteria.list();

        return result;
    } finally {
        closeSession(session);
    }
}

From source file:com.floreantpos.model.dao.PosTransactionDAO.java

License:Open Source License

public List<PosTransaction> findUnauthorizedTransactions(User owner) {
    Session session = null;//from  www .j  av  a 2  s  .c  om

    try {
        session = getSession();

        Criteria criteria = session.createCriteria(getReferenceClass());
        criteria.add(Restrictions.eq(PosTransaction.PROP_CAPTURED, Boolean.FALSE));
        criteria.add(Restrictions.eq(PosTransaction.PROP_AUTHORIZABLE, Boolean.TRUE));
        criteria.add(Restrictions.or(Restrictions.isNull(PosTransaction.PROP_VOIDED),
                Restrictions.eq(PosTransaction.PROP_VOIDED, Boolean.FALSE)));
        criteria.add(Restrictions.eq(PosTransaction.PROP_TRANSACTION_TYPE, TransactionType.CREDIT.name()));
        criteria.add(Restrictions.isNotNull(PosTransaction.PROP_TICKET));

        if (owner != null) {
            criteria.add(Restrictions.eq(PosTransaction.PROP_USER, owner));
        }

        return criteria.list();
    } finally {
        closeSession(session);
    }
}

From source file:com.floreantpos.model.dao.PosTransactionDAO.java

License:Open Source License

public List<PosTransaction> findAuthorizedTransactions(User owner) {
    Session session = null;//w w w  . j a  va 2  s.  c  o m

    try {
        session = getSession();

        Criteria criteria = session.createCriteria(CreditCardTransaction.class);
        criteria.add(Restrictions.eq(PosTransaction.PROP_CAPTURED, Boolean.TRUE));
        criteria.add(Restrictions.or(Restrictions.isNull(PosTransaction.PROP_VOIDED),
                Restrictions.eq(PosTransaction.PROP_VOIDED, Boolean.FALSE)));
        criteria.add(Restrictions.isNotNull(PosTransaction.PROP_TICKET));
        //criteria.add(Restrictions.eq(PosTransaction.PROP_DRAWER_RESETTED, Boolean.FALSE));
        Calendar calendar = Calendar.getInstance();
        calendar.add(Calendar.DAY_OF_MONTH, -1);
        Date startOfDay = DateUtil.startOfDay(calendar.getTime());
        Date endOfDay = DateUtil.endOfDay(new Date());
        //show credit card transactions of last 2 days
        criteria.add(Restrictions.between(PosTransaction.PROP_TRANSACTION_TIME, startOfDay, endOfDay));

        return criteria.list();
    } finally {
        closeSession(session);
    }
}

From source file:com.floreantpos.model.dao.TicketDAO.java

License:Open Source License

public List<Ticket> findOpenTicketsByOrderType(OrderType orderType) {
    Session session = null;/*  w w  w  .  j  a  v a 2 s.c  o m*/

    try {
        session = getSession();
        Criteria criteria = session.createCriteria(getReferenceClass());
        User user = Application.getCurrentUser();
        if (user != null && !user.canViewAllOpenTickets()) {
            criteria.add(Restrictions.eq(Ticket.PROP_OWNER, user));
        }
        criteria.add(Restrictions.eq(Ticket.PROP_TICKET_TYPE, orderType.getName()));
        criteria.add(Restrictions.eq(Ticket.PROP_BAR_TAB, true));
        criteria.add(
                Restrictions.or(Restrictions.isEmpty("tableNumbers"), Restrictions.isNull("tableNumbers")));
        criteria.add(Restrictions.eq(Ticket.PROP_CLOSED, Boolean.FALSE));
        criteria.addOrder(getDefaultOrder());

        List list = criteria.list();
        return list;
    } finally {
        closeSession(session);
    }
}

From source file:com.floreantpos.print.DrawerpullReportService.java

License:Open Source License

private static void populateNetSales(Session session, Terminal terminal, DrawerPullReport report) {
    //find net sale, tax
    Criteria criteria = session.createCriteria(Ticket.class);
    criteria.add(Restrictions.gt(Ticket.PROP_PAID_AMOUNT, 0.0));
    criteria.add(Restrictions.or(Restrictions.eq(Ticket.PROP_VOIDED, Boolean.FALSE),
            Restrictions.eq(Ticket.PROP_REFUNDED, Boolean.TRUE)));
    criteria.add(Restrictions.eq(Ticket.PROP_DRAWER_RESETTED, Boolean.FALSE));
    criteria.add(Restrictions.eq(Ticket.PROP_TERMINAL, terminal));

    List<Ticket> list = criteria.list();

    if (list == null || list.size() == 0) {
        return;//  w w w.j  av a 2  s.  co  m
    }

    int ticketCount = 0;
    double subtotal = 0;
    double discount = 0;
    double salesTax = 0;
    double salesDeliveryCharge = 0;
    double tips = 0;

    for (Ticket ticket : list) {
        ++ticketCount;

        double refundAmount = 0;
        double refundTaxAmount = 0;

        Gratuity gratuity = ticket.getGratuity();
        if (gratuity != null) {
            if (gratuity.isRefunded()) {
                refundAmount -= gratuity.getAmount();
            } else
                tips += gratuity.getAmount();
        }
        if (ticket.isRefunded()) {
            if (ticket.getTransactions() != null) {
                for (PosTransaction t : ticket.getTransactions()) {
                    if (t instanceof RefundTransaction) {
                        refundAmount += NumberUtil.roundToTwoDigit(t.getAmount());
                    }
                }
            }
            refundTaxAmount = (ticket.getTaxAmount() * refundAmount)
                    / (ticket.getSubtotalAmount() + ticket.getTaxAmount());
            refundAmount = NumberUtil.roundToTwoDigit(refundAmount - refundTaxAmount);
        }

        subtotal += ticket.getSubtotalAmount() - refundAmount;
        discount += ticket.getDiscountAmount();
        salesTax += ticket.getTaxAmount() - refundTaxAmount;
        salesDeliveryCharge += ticket.getDeliveryCharge();

    }

    report.setTicketCount(ticketCount);
    report.setNetSales(subtotal - discount);
    report.setSalesTax(NumberUtil.roundToTwoDigit(salesTax));
    report.setSalesDeliveryCharge(salesDeliveryCharge);
    report.setChargedTips(tips);
}

From source file:com.floreantpos.print.DrawerpullReportService.java

License:Open Source License

private static void populateReceiptDifferential(Session session, Terminal terminal, DrawerPullReport report) {
    //find net sale, tax
    Criteria criteria = session.createCriteria(Ticket.class);
    criteria.add(Restrictions.gt(Ticket.PROP_PAID_AMOUNT, 0.0));
    criteria.add(Restrictions.or(Restrictions.eq(Ticket.PROP_VOIDED, Boolean.FALSE),
            Restrictions.eq(Ticket.PROP_REFUNDED, Boolean.TRUE)));
    criteria.add(Restrictions.eq(Ticket.PROP_DRAWER_RESETTED, Boolean.FALSE));
    criteria.add(Restrictions.eq(Ticket.PROP_TERMINAL, terminal));

    List<Ticket> list = criteria.list();

    if (list == null || list.size() == 0) {
        return;/*from   w  ww  . ja  v  a 2  s  .  c o m*/
    }

    TicketDAO dao = TicketDAO.getInstance();

    for (Ticket ticket : list) {
        ticket = dao.loadCouponsAndTransactions(ticket.getId());

        TransactionSummary ts = calculateTransactionSummary(ticket, CashTransaction.class);
        report.setCashReceiptCount(report.getCashReceiptCount() + ts.getCount());
        report.setCashReceiptAmount(report.getCashReceiptAmount() + ts.getAmount());

        ts = calculateTransactionSummary(ticket, CreditCardTransaction.class);
        report.setCreditCardReceiptCount(report.getCreditCardReceiptCount() + ts.getCount());
        report.setCreditCardReceiptAmount(report.getCreditCardReceiptAmount() + ts.getAmount());

        ts = calculateTransactionSummary(ticket, DebitCardTransaction.class);
        report.setDebitCardReceiptCount(report.getDebitCardReceiptCount() + ts.getCount());
        report.setDebitCardReceiptAmount(report.getDebitCardReceiptAmount() + ts.getAmount());

        ts = calculateTransactionSummary(ticket, GiftCertificateTransaction.class);
        report.setGiftCertReturnCount(report.getGiftCertReturnCount() + ts.getCount());
        report.setGiftCertReturnAmount(report.getGiftCertReturnAmount() + ts.getAmount());
        report.setGiftCertChangeAmount(report.getGiftCertChangeAmount() + ts.getChangeAmount());
        report.setCashBack(report.getCashBack() + ts.getChangeAmount());
    }
}