List of usage examples for org.hibernate.criterion DetachedCriteria add
public DetachedCriteria add(Criterion criterion)
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; }