Package no.ugland.utransprod.dao.hibernate

Source Code of no.ugland.utransprod.dao.hibernate.TakstolProductionVDAOHibernate

package no.ugland.utransprod.dao.hibernate;

import java.util.List;

import no.ugland.utransprod.dao.TakstolProductionVDAO;
import no.ugland.utransprod.model.Produceable;
import no.ugland.utransprod.model.ProductAreaGroup;
import no.ugland.utransprod.model.TakstolProductionV;

import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
import org.springframework.orm.hibernate3.HibernateCallback;

/**
* Implementasjon av dao for hibernate
*
* @author atle.brekka
*
*/
public class TakstolProductionVDAOHibernate extends
    BaseDAOHibernate<TakstolProductionV> implements TakstolProductionVDAO {

  /**
   * Konstrukt�r
   */
  public TakstolProductionVDAOHibernate() {
    super(TakstolProductionV.class);
  }

  /**
   * @see no.ugland.utransprod.dao.TakstolProductionVDAO#findAll()
   */
  @SuppressWarnings("unchecked")
  public List<Produceable> findAll() {
    return getHibernateTemplate()
        .find(
            "from TakstolProductionV order by orderNr,defaultArticle,numberOfItems desc,orderLineId");
  }

  /**
   * @see no.ugland.utransprod.dao.TakstolProductionVDAO#findByOrderNr(java.lang.String)
   */
  @SuppressWarnings("unchecked")
  public List<Produceable> findByOrderNr(final String orderNr) {
    return (List<Produceable>) getHibernateTemplate().execute(
        new HibernateCallback() {

          public Object doInHibernate(Session session)
              throws HibernateException {
            return session.createCriteria(

            TakstolProductionV.class).add(
                Restrictions.eq("orderNr", orderNr)).addOrder(
                Order.asc("orderNr")).addOrder(
                Order.asc("defaultArticle")).addOrder(
                Order.desc("numberOfItems")).addOrder(
                Order.asc("orderLineId")).list();
          }

        });
  }

  /**
   * @see no.ugland.utransprod.dao.TakstolProductionVDAO#refresh(no.ugland.utransprod.model.TakstolProductionV)
   */
  public void refresh(Produceable takstolProductionV) {
    getHibernateTemplate().flush();
    getHibernateTemplate().load(takstolProductionV,
        takstolProductionV.getOrderLineId());

  }

  /**
   * @see no.ugland.utransprod.dao.TakstolProductionVDAO#findByCustomerNr(java.lang.Integer)
   */
  @SuppressWarnings("unchecked")
  public List<Produceable> findByCustomerNr(final Integer customerNr) {
    return (List<Produceable>) getHibernateTemplate().execute(
        new HibernateCallback() {

          @SuppressWarnings("unchecked")
          public Object doInHibernate(Session session)
              throws HibernateException {
            return session.createCriteria(TakstolProductionV.class)
                .add(Restrictions.eq("customerNr", customerNr))
                .addOrder(Order.asc("orderNr")).addOrder(
                    Order.asc("defaultArticle")).addOrder(
                    Order.desc("numberOfItems")).addOrder(
                    Order.asc("orderLineId")).list();
          }

        });
  }

  public List<Produceable> findByOrderNrAndArticleName(final String orderNr,
      final String articleName) {
    return (List<Produceable>) getHibernateTemplate().execute(
        new HibernateCallback() {

          @SuppressWarnings("unchecked")
          public Object doInHibernate(Session session)
              throws HibernateException {
            return session.createCriteria(

            TakstolProductionV.class).add(
                Restrictions.eq("orderNr", orderNr)).add(
                Restrictions.eq("articleName", articleName))
                .addOrder(Order.asc("orderNr")).addOrder(
                    Order.asc("defaultArticle")).addOrder(
                    Order.desc("numberOfItems")).addOrder(
                    Order.asc("orderLineId")).list();
          }

        });
  }

  public List<Produceable> findByCustomerNrAndProductAreaGroup(
      final Integer customerNr, final ProductAreaGroup productAreaGroup) {
    return (List<Produceable>) getHibernateTemplate().execute(
        new HibernateCallback() {

          @SuppressWarnings("unchecked")
          public Object doInHibernate(Session session)
              throws HibernateException {
            Criteria criteria = session.createCriteria(
                TakstolProductionV.class).add(
                Restrictions.eq("customerNr", customerNr));
            if (productAreaGroup != null
                && !productAreaGroup.getProductAreaGroupName()
                    .equalsIgnoreCase("Alle")) {
              criteria.add(Restrictions.eq(
                  "productAreaGroupName", productAreaGroup
                      .getProductAreaGroupName()));
            }

            criteria.addOrder(Order.asc("orderNr")).addOrder(
                Order.asc("defaultArticle")).addOrder(
                Order.desc("numberOfItems")).addOrder(
                Order.asc("orderLineId"));
            return criteria.list();
          }

        });
  }

  public List<Produceable> findByOrderNrAndProductAreaGroup(
      final String orderNr, final ProductAreaGroup productAreaGroup) {
    return (List<Produceable>) getHibernateTemplate().execute(
        new HibernateCallback() {

          @SuppressWarnings("unchecked")
          public Object doInHibernate(Session session)
              throws HibernateException {
            Criteria criteria = session.createCriteria(

            TakstolProductionV.class).add(
                Restrictions.eq("orderNr", orderNr));
            if (productAreaGroup != null
                && !productAreaGroup.getProductAreaGroupName()
                    .equalsIgnoreCase("Alle")) {
              criteria.add(Restrictions.eq(
                  "productAreaGroupName", productAreaGroup
                      .getProductAreaGroupName()));
            }
            criteria.addOrder(Order.asc("orderNr")).addOrder(
                Order.asc("defaultArticle")).addOrder(
                Order.desc("numberOfItems")).addOrder(
                Order.asc("orderLineId"));

            return criteria.list();
          }

        });
  }

}
TOP

Related Classes of no.ugland.utransprod.dao.hibernate.TakstolProductionVDAOHibernate

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.