@SuppressWarnings("unchecked") public List<ShopRoomTarriffCorporateRateView> search(ScrollableSettings settings) { if (settings.getFilter() == null || settings.getFilter().replaceAll("\\s+", "").length() == 0) { return new ArrayList<ShopRoomTarriffCorporateRateView>(); } FindByExample findByExample = DaoUtil.search( new ShopRoomTarriffCorporateRateView(), settings.getFilter(), ShopRoomTarriffCorporateRateView.class, em); Query query = null; if (findByExample.getIsNativeQuery()) { String queryString = DaoUtil.sasQueryRaw( findByExample.getSelectClause(), settings, ShopRoomTarriffCorporateRateView.class, em); query = em.createNativeQuery( queryString .replace("SELECT " + shortName, "SELECT *") .replace( className, DaoUtil.readTableName(ShopRoomTarriffCorporateRateView.class)), ShopRoomTarriffCorporateRateView.class); if (queryString.contains(":firmid")) { query.setParameter("firmid", settings.getSasUser().getUser().getFirmid()); } else if (queryString.contains(":firm")) { query.setParameter("firm", settings.getSasUser().getUser().getFirmid()); } } else { query = DaoUtil.sasQuery( findByExample.getSelectClause(), settings, ShopRoomTarriffCorporateRateView.class, em); } query.setParameter("filter", findByExample.getFilter()); if (findByExample.getSelectClause().contains("filterForInteger")) { query.setParameter("filterForInteger", findByExample.getFilterForInteger()); } return query.setMaxResults(100).getResultList(); }
public Integer todayNumber(ScrollableSettings settings) throws Exception { String today = new SimpleDateFormat("YYYY-MM-dd").format(new Date()); Query query = em.createNativeQuery( String.format( "SELECT count(*) from %s %s WHERE %s.firmid = %s and CAST(%s.createon as DATE) = CAST('%s' as DATE)", tableName, shortName, shortName, settings.getSasUser().getUser().getFirmid(), shortName, today)); return ((BigInteger) query.getSingleResult()).intValue(); }