Example usage for org.hibernate.criterion DetachedCriteria add

List of usage examples for org.hibernate.criterion DetachedCriteria add

Introduction

In this page you can find the example usage for org.hibernate.criterion DetachedCriteria add.

Prototype

public DetachedCriteria add(Criterion criterion) 

Source Link

Document

Add a restriction

Usage

From source file:com.green.modules.sys.utils.UserUtils.java

License:Open Source License

public static List<Role> getRoleList() {
    @SuppressWarnings("unchecked")
    List<Role> list = (List<Role>) getCache(CACHE_ROLE_LIST);
    if (list == null) {
        User user = getUser();//from  w  ww.  ja  v a2 s. co  m
        DetachedCriteria dc = roleDao.createDetachedCriteria();
        dc.createAlias("office", "office");
        dc.createAlias("userList", "userList", JoinType.LEFT_OUTER_JOIN);
        dc.add(dataScopeFilter(user, "office", "userList"));
        dc.add(Restrictions.eq(Role.FIELD_DEL_FLAG, Role.DEL_FLAG_NORMAL));
        dc.addOrder(Order.asc("office.code")).addOrder(Order.asc("name"));
        list = roleDao.find(dc);
        putCache(CACHE_ROLE_LIST, list);
    }
    return list;
}

From source file:com.green.modules.sys.utils.UserUtils.java

License:Open Source License

public static List<Office> getOfficeList() {
    @SuppressWarnings("unchecked")
    List<Office> officeList = (List<Office>) getCache(CACHE_OFFICE_LIST);
    if (officeList == null) {
        User user = getUser();/*from   ww  w.  j av a  2  s.  com*/
        //         if (user.isAdmin()){
        //            officeList = officeDao.findAllList();
        //         }else{
        //            officeList = officeDao.findAllChild(user.getOffice().getId(), "%,"+user.getOffice().getId()+",%");
        //         }
        DetachedCriteria dc = officeDao.createDetachedCriteria();
        dc.add(dataScopeFilter(user, dc.getAlias(), ""));
        dc.add(Restrictions.eq("delFlag", Office.DEL_FLAG_NORMAL));
        dc.addOrder(Order.asc("code"));
        officeList = officeDao.find(dc);
        putCache(CACHE_OFFICE_LIST, officeList);
    }
    return officeList;
}

From source file:com.griffinslogistics.book.BookService.java

@Override
public List<BookModel> getBookModelsByTransportId(Long transportId) {
    logger.log(Level.SEVERE, "{0}: getBookModelsByTransportation started", CLASS_NAME);

    List<BookModel> resultList = new ArrayList<BookModel>();

    try {//w  w w.j av a  2  s  .c o  m
        DetachedCriteria criteria = DetachedCriteria.forClass(Book.class);
        criteria.add(Restrictions.eq("transportId", transportId));
        criteria.setProjection(
                Projections.projectionList().add(Projections.groupProperty("bookNumber"), "bookNumber")
                        .add(Projections.property("title"), "title"))
                .setResultTransformer(Transformers.aliasToBean(BookModel.class));

        resultList = (List<BookModel>) this.dao.getAllByDetachedCriteria(criteria);
        Collections.reverse(resultList);

    } catch (HibernateException e) {

        logger.log(Level.SEVERE, e.getMessage());
    } finally {

        logger.log(Level.SEVERE, "{0}: getBookModelsByTransportation finished", CLASS_NAME);
    }

    return resultList;
}

From source file:com.griffinslogistics.book.BookService.java

@Override
public boolean updateBook(Book book) {

    // update all Titles for the same bookNumber in the same transport
    DetachedCriteria criteria = DetachedCriteria.forClass(Book.class);
    criteria.add(Restrictions.eq("transportId", book.getTransportId()));
    criteria.add(Restrictions.eq("bookNumber", book.getBookNumber()));
    criteria.add(Restrictions.ne("id", book.getId()));

    List<Book> toBeUpdatedList = this.dao.getAllByDetachedCriteria(criteria);

    for (Book bookToBeUpdated : toBeUpdatedList) {
        bookToBeUpdated.setTitle(book.getTitle());
        this.dao.update(bookToBeUpdated);
    }/*w  ww.j  ava 2s.  c o m*/

    return this.dao.update(book);
}

From source file:com.griffinslogistics.book.BookService.java

@Override
public List<BookForTransportationModel> getBooksForTransportModelByTransportId(Long transportId) {
    logger.log(Level.SEVERE, "{0}: getBooksForTransportation started", CLASS_NAME);

    List<BookForTransportationModel> resultList = new ArrayList<BookForTransportationModel>();

    try {/*  w w w  . j  a  v a2s .c om*/

        DetachedCriteria criteria = DetachedCriteria.forClass(Transport.class);
        criteria.add(Restrictions.eq("id", transportId));
        criteria.setFetchMode("books", FetchMode.JOIN);
        criteria.setFetchMode("books.boxes", FetchMode.JOIN);

        Transport transportation = (Transport) this.dao.getByDetachedCriteria(criteria);

        for (Book book : transportation.getBooks()) {
            Hibernate.initialize(book.getBoxes());

            if (book.getPrintingHouse() != null) {
                book.getPrintingHouse().getName();
            }

            BookForTransportationModel model = BookForTransportationModel.fromBook(book);
            resultList.add(model);
        }

        Collections.reverse(resultList);
    } catch (HibernateException e) {
        logger.log(Level.SEVERE, e.getMessage());
    } finally {

        logger.log(Level.SEVERE, "{0}: getBooksForTransportation finished", CLASS_NAME);
    }

    return resultList;
}

From source file:com.griffinslogistics.bookspackage.BookspackageService.java

@Override
public List<Bookspackage> getBookspackagesByTransportId(Long transportId) {

    DetachedCriteria criteria = DetachedCriteria.forClass(Transport.class);
    criteria.add(Restrictions.eq("id", transportId));
    criteria.setFetchMode("bookspackages", FetchMode.JOIN);
    criteria.setFetchMode("bookspackages.truckGroup", FetchMode.JOIN);
    criteria.setFetchMode("bookspackages.books", FetchMode.JOIN);
    criteria.setFetchMode("bookspackages.boxes", FetchMode.JOIN);
    criteria.setFetchMode("bookspackages.books.boxes", FetchMode.JOIN);

    Transport transportationForBookspackage = (Transport) this.dao.getByDetachedCriteria(criteria);

    List<Bookspackage> bookspackages = new ArrayList(transportationForBookspackage.getBookspackages());

    for (Bookspackage bookspackage : bookspackages) {

        BookspackagePriorityEnum priorityEnum = BookspackagePriorityEnum.byValue(bookspackage.getPriority());
        bookspackage.setDisplayPriority(priorityEnum.getDisplayValue());

        int totalBooksCount = 0;
        double totalBooksWeight = 0;
        int totalOrderedBooksCount = 0;
        double totalOrderedBooksWeight = 0;
        int totalBoxesCount = 0;

        for (Book book : bookspackage.getBooks()) {

            if (book.isDiscarded()) {
                bookspackage.setHasDiscardedBooks(true);
            }/*from  w w w. j a  v a  2 s .  co m*/

            totalOrderedBooksCount += book.getCount();
            totalOrderedBooksWeight += book.getWeight();

            for (Box box : book.getBoxes()) {
                int boxesCount = box.getBoxesCount();
                int booksCount = box.getBooksCount();

                totalBooksCount += boxesCount * booksCount;
                totalBooksWeight += boxesCount * booksCount * book.getWeightPerBook();
                totalBoxesCount += boxesCount;
            }
        }

        TruckGroup truckGroup = bookspackage.getTruckGroup();
        if (truckGroup != null) {
            truckGroup.getName();
        }

        totalBooksWeight = Math.round(totalBooksWeight);
        totalOrderedBooksWeight = Math.round(totalOrderedBooksWeight);
        bookspackage.setTotalBooksCount(totalBooksCount);
        bookspackage.setTotalBooksWeight(totalBooksWeight);
        bookspackage.setTotalOrderedBooksCount(totalOrderedBooksCount);
        bookspackage.setTotalOrderedBooksWeight(totalOrderedBooksWeight);
        bookspackage.setBoxesCount(totalBoxesCount);
    }

    Collections.reverse(bookspackages);
    return bookspackages;
}

From source file:com.griffinslogistics.transport.TransportService.java

private Transport checkDuplicateTransport(Transport transport) {
    DetachedCriteria criteria = DetachedCriteria.forClass(Transport.class);
    criteria.add(Restrictions.eq("weekNumber", transport.getWeekNumber()));
    criteria.add(Restrictions.eq("year", transport.getYear()));
    criteria.add(Restrictions.eq("startDate", transport.getStartDate()));
    Transport existing = (Transport) transportDAO.getByDetachedCriteria(criteria);
    return existing;
}

From source file:com.griffinslogistics.transport.TransportService.java

@Override
public Map<String, Double> totalWeightsForTransport(Long transportId) {

    Map<String, Double> result = new TreeMap<String, Double>();

    DetachedCriteria criteria = DetachedCriteria.forClass(Transport.class);
    criteria.add(Restrictions.eq("id", transportId));
    criteria.setFetchMode("bookspackages", FetchMode.JOIN);
    criteria.setFetchMode("bookspackages.truckGroup", FetchMode.JOIN);
    criteria.setFetchMode("bookspackages.books", FetchMode.JOIN);
    criteria.setFetchMode("bookspackages.books.boxes", FetchMode.JOIN);
    Transport transport = (Transport) this.transportDAO.getByDetachedCriteria(criteria);

    String transportationString = String.format("? %s/%s", transport.getWeekNumber(),
            transport.getYear());/* ww  w  .  j a v  a 2 s  . c  o  m*/

    Set<Bookspackage> bookspackages = transport.getBookspackages();

    for (Bookspackage bookspackage : bookspackages) {

        double totalWeightForTruckGroup = 0;

        for (Book book : bookspackage.getBooks()) {
            double weightPerBook = book.getWeightPerBook();

            totalWeightForTruckGroup += book.getCount() * weightPerBook;
        }

        if (totalWeightForTruckGroup > 0) {
            double totalWeightForTransport = totalWeightForTruckGroup;

            if (result.containsKey(transportationString)) {
                totalWeightForTransport += result.get(transportationString);
            }

            result.put(transportationString, totalWeightForTransport);

            TruckGroup truckGroup = bookspackage.getTruckGroup();

            String keyName;

            if (truckGroup != null) {
                keyName = bookspackage.getTruckGroup().getName();
            } else {
                keyName = resourceBundleBean.get(ResourceBundleBean.NO_TRUCK_GROUP);
            }

            if (result.containsKey(keyName)) {
                totalWeightForTruckGroup += result.get(keyName);
            }

            result.put(keyName, totalWeightForTruckGroup);
        }
    }
    return result;
}

From source file:com.griffinslogistics.truckgroup.TruckGroupService.java

@Override
public Map<String, TruckGroupTotalsModel> getTruckGroupTotalsForTransport(Long transportId) {
    logger.log(Level.SEVERE, "{0}: getTruckGroupTotalsForTransport started", CLASS_NAME);

    Map<String, TruckGroupTotalsModel> resultModels = new HashMap<String, TruckGroupTotalsModel>();

    try {//  w  w  w  .  j  a va 2s. com
        DetachedCriteria criteria = DetachedCriteria.forClass(Transport.class);
        criteria.add(Restrictions.eq("id", transportId));
        criteria.setFetchMode("bookspackages", FetchMode.JOIN);
        criteria.setFetchMode("bookspackages.truckGroup", FetchMode.JOIN);
        criteria.setFetchMode("bookspackages.books", FetchMode.JOIN);
        criteria.setFetchMode("bookspackages.books.boxes", FetchMode.JOIN);
        Transport transport = (Transport) this.dao.getByDetachedCriteria(criteria);

        Set<Bookspackage> bookspackages = transport.getBookspackages();

        for (Bookspackage bookspackage : bookspackages) {

            double totalWeightForTruckGroup = 0;
            double totalOrderedBooksWeight = 0;

            for (Book book : bookspackage.getBooks()) {
                double weightPerBook = book.getWeightPerBook();

                totalOrderedBooksWeight += book.getWeight();

                for (Box box : (Set<Box>) book.getBoxes()) {
                    totalWeightForTruckGroup += box.getBooksCount() * box.getBoxesCount() * weightPerBook;
                }
            }

            if (totalWeightForTruckGroup > 0) {

                TruckGroup truckGroup = bookspackage.getTruckGroup();

                if (truckGroup != null) {

                    TruckGroupTotalsModel model;

                    if (resultModels.containsKey(truckGroup.getName())) {
                        model = resultModels.get(truckGroup.getName());
                    } else {
                        model = new TruckGroupTotalsModel(truckGroup.getId(), truckGroup.getName(), 0, 0, 0d);
                    }

                    model.setPackagesCount(model.getPackagesCount() + 1);
                    model.setArrivedWeight(model.getArrivedWeight() + (int) totalWeightForTruckGroup);
                    double newTotalPrice = model.getTotalPrice()
                            + (totalOrderedBooksWeight * bookspackage.getPricePerKilogram().doubleValue());
                    model.setTotalPrice(newTotalPrice);

                    resultModels.put(truckGroup.getName(), model);
                }
            }
        }

    } catch (Exception e) {
        logger.log(Level.SEVERE, e.getMessage());
    } finally {
        logger.log(Level.SEVERE, "{0}: getTruckGroupTotalsForTransport finished", CLASS_NAME);
    }

    return resultModels;
}

From source file:com.headstrong.teevra.services.appproperties.dao.impl.TPropertyDAOImpl.java

License:Open Source License

public String getPropertyValue(String propertyName) throws AppPropertiesServiceException {
    DetachedCriteria criteria = DetachedCriteria.forClass(TPropertyEO.class);
    String propertyValue = "";
    criteria.add(Restrictions.eq("propertyName", propertyName));
    List<TPropertyEO> propertyList = super.getByCriteria(criteria);
    if ((propertyList != null) && (!propertyList.isEmpty())) {
        TPropertyEO property = propertyList.get(0);
        propertyValue = property.getPropertyValue();
    }/*from  w  w  w  .j  av a2s. c  o m*/
    return propertyValue;
}