com.floreantpos.model.dao.KitchenTicketDAO.java Source code

Java tutorial

Introduction

Here is the source code for com.floreantpos.model.dao.KitchenTicketDAO.java

Source

/**
 * ************************************************************************
 * * The contents of this file are subject to the MRPL 1.2
 * * (the  "License"),  being   the  Mozilla   Public  License
 * * Version 1.1  with a permitted attribution clause; you may not  use this
 * * file except in compliance with the License. You  may  obtain  a copy of
 * * the License at http://www.floreantpos.org/license.html
 * * Software distributed under the License  is  distributed  on  an "AS IS"
 * * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
 * * License for the specific  language  governing  rights  and  limitations
 * * under the License.
 * * The Original Code is FLOREANT POS.
 * * The Initial Developer of the Original Code is OROCUBE LLC
 * * All portions are Copyright (C) 2015 OROCUBE LLC
 * * All Rights Reserved.
 * ************************************************************************
 */
package com.floreantpos.model.dao;

import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.criterion.Projections;
import org.hibernate.criterion.Restrictions;

import com.floreantpos.model.KitchenTicket;
import com.floreantpos.model.KitchenTicket.KitchenTicketStatus;
import com.floreantpos.model.Ticket;
import com.floreantpos.swing.PaginatedTableModel;

public class KitchenTicketDAO extends BaseKitchenTicketDAO {

    /**
     * Default constructor.  Can be used in place of getInstance()
     */
    public KitchenTicketDAO() {
    }

    public List<KitchenTicket> findAllOpen() {
        Session session = null;

        try {
            session = getSession();
            Criteria criteria = session.createCriteria(getReferenceClass());
            criteria.add(Restrictions.eq(KitchenTicket.PROP_STATUS, KitchenTicketStatus.WAITING.name()));
            List list = criteria.list();

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

    public List<KitchenTicket> findByParentId(Integer ticketId) {
        Session session = null;

        try {
            session = getSession();
            Criteria criteria = session.createCriteria(getReferenceClass());
            criteria.add(Restrictions.eq(KitchenTicket.PROP_TICKET_ID, ticketId));
            List list = criteria.list();

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

    public List<Ticket> findNextKitchenTickets(PaginatedTableModel tableModel) {
        Session session = null;
        Criteria criteria = null;

        try {
            int nextIndex = tableModel.getNextRowIndex();

            session = createNewSession();
            criteria = session.createCriteria(getReferenceClass());

            criteria.setFirstResult(nextIndex);
            criteria.setMaxResults(tableModel.getPageSize());

            List kitchenTicketList = criteria.list();

            criteria.setProjection(Projections.rowCount());
            Integer rowCount = (Integer) criteria.uniqueResult();
            if (rowCount != null) {
                tableModel.setNumRows(rowCount);

            }
            tableModel.setCurrentRowIndex(nextIndex);

            return kitchenTicketList;

        } finally {
            closeSession(session);
        }
    }

    public List<Ticket> findPreviousKitchenTickets(PaginatedTableModel tableModel) {
        Session session = null;
        Criteria criteria = null;
        try {

            int previousIndex = tableModel.getPreviousRowIndex();

            session = createNewSession();
            criteria = session.createCriteria(getReferenceClass());

            criteria.setFirstResult(previousIndex);
            criteria.setMaxResults(tableModel.getPageSize());

            List kitchenTicketList = criteria.list();

            criteria.setProjection(Projections.rowCount());
            Integer rowCount = (Integer) criteria.uniqueResult();
            if (rowCount != null) {
                tableModel.setNumRows(rowCount);

            }

            tableModel.setCurrentRowIndex(previousIndex);

            return kitchenTicketList;

        } finally {
            closeSession(session);
        }
    }
}