/**
   * 获取栏目下 所有文章
   *
   * @param name
   * @param size
   * @return
   */
  @SuppressWarnings("unchecked")
  public List<Articles> getDyniwork(String name, int size) {
    List<Catalogs> catas = new ArrayList<Catalogs>(0); // 设置需要查找的根栏目
    Catalogs catalogs = catalogFreeMarkerManager.getCatByName(name); // 根据栏目名称取得该栏目
    catas.add(catalogs);
    List<Catalogs> cataList = new ArrayList<Catalogs>(0); // 设置此栏目及其所有子级栏目
    getAllCatas(catas, cataList);
    Integer[] ids = new Integer[cataList.size()]; // 取得所有栏目名称
    for (int i = 0; i < cataList.size(); i++) {
      ids[i] = cataList.get(i).getId();
    }

    StringBuffer hql = new StringBuffer("from Articles a where a.catalog.id in (");

    for (Integer id : ids) { // 拼接查询用hql
      hql.append(id).append(",");
    }
    hql.replace(hql.lastIndexOf(","), hql.length(), ")")
        .append(" and a.audited = ? " + "order by a.onTop DESC ,serialNo ,createTime DESC");

    Page page = new Page(Page.start(1, size), size);
    page = pageQuery(page, hql.toString(), new Object[] {CmsConstants.Y});

    return page.getData();
  }
 /**
  * 根据栏目ID获得指定个数的推荐文章的信息,结合首页flash使用
  *
  * @param catalogName 栏目名称
  * @param size 获得文章的个数
  * @return
  */
 @SuppressWarnings("unchecked")
 public Map getEliteArticlesInfo(String catalogName, Integer size, String ctx) {
   String hql =
       "from Articles a where a.catalog.name=? and a.audited=? and a.isElite=? order by serialNo, createTime DESC";
   Page page = new Page(Page.start(1, size), size);
   page = pageQuery(page, hql, new Object[] {catalogName, CmsConstants.Y, CmsConstants.Y});
   Map eliteMap = null;
   if (page.getData() != null) {
     eliteMap = new HashMap();
     String titles = "";
     String imgs = "";
     String urls = "";
     for (Object a : page.getData()) {
       // 前台不显示文章标题,用空格代替
       titles = titles + ((Articles) a).getShortTitle() + "|";
       if (StringUtils.isNotBlank(((Articles) a).getFlashImg())) {
         imgs = imgs + ctx + ((Articles) a).getFlashImg() + "|";
       } else { // 如果推荐文章的图片不存在用默认代替
         imgs = imgs + ctx + CmsConstants.ELITE_ART_IMG + "|";
       }
       urls = urls + ctx + ((Articles) a).getPath() + "|";
     }
     eliteMap.put("titles", cutLastChar(titles));
     eliteMap.put("imgs", cutLastChar(imgs));
     eliteMap.put("urls", cutLastChar(urls));
   }
   return eliteMap;
 }
 /**
  * @param name 栏目名
  * @param size 个数
  * @return list
  */
 @SuppressWarnings("unchecked")
 public List<Articles> getArtsByCatName(String name, int size) {
   String hql =
       "from Articles a "
           + "where a.catalog.name=? and a.audited=? "
           + "order by a.onTop DESC ,serialNo ,createTime DESC";
   Page page = new Page(Page.start(1, size), size);
   page = pageQuery(page, hql, new Object[] {name, CmsConstants.Y});
   return page.getData();
 }
예제 #4
0
 /** 重写父类的index方法,实现分页检索风险评估信息 */
 @Override
 public String index() {
   StringBuffer hql = new StringBuffer();
   hql.append("from ExpertCategory ec where 1=1 ");
   List<Object> args = new ArrayList<Object>();
   if (StringUtils.isNotBlank(getModel().getName())) {
     hql.append(" and ec.name like ?");
     args.add(MatchMode.ANYWHERE.toMatchString(getModel().getName()));
   }
   Page page = PageUtil.getPage(getPageNo(), getPageSize());
   getManager().pageQuery(page, hql.toString(), args.toArray());
   items = page.getData();
   restorePageData(page);
   return INDEX;
 }
 /**
  * 分页查询文章
  *
  * @param cataName 栏目名
  * @param pageNo 页号
  * @param pageSize 一页记录数
  * @return Page
  */
 public Page queryArticles(String cataName, int pageNo, int pageSize) {
   String hql =
       "from Articles a "
           + "where a.catalog.name=? and a.audited=? "
           + "order by a.onTop DESC ,serialNo ,createTime DESC";
   Page page = new Page(Page.start(pageNo, pageSize), pageSize);
   return pageQuery(page, hql, new Object[] {cataName, CmsConstants.Y});
 }
예제 #6
0
 /**
  * 地震目录查询返回结果 按照所选条件分页查询地震目录数据
  *
  * @return
  */
 public String list() {
   if (StringUtils.isNotBlank(model.getTableName())) {
     try {
       model.setPage(getPage());
       // 测震SCHEMA
       model.setSchema(dataSourceManager.getSeismicSchema());
       model.setSortProperty(getSortProperty());
       model.setSortDir(getSortDir());
       // limit查询,设定start和size
       int start = Page.start(getPageNo(), getPageSize());
       model.setStart(start);
       model.setSize(getPageSize());
       logger.debug("list方法,开始记录:{},pageSize:{}", start, getPageSize());
       if (model.getStartDate() != null) {
         Date startDate = DateUtil.firstSecondOfDate(model.getStartDate());
         model.setStartDate(startDate);
       }
       if (model.getEndDate() != null) {
         Date endDate = DateUtil.lastSecondOfDate(model.getEndDate());
         model.setEndDate(endDate);
       }
       // 查询地震目录
       Page page = gridCatDao.query(model);
       logger.debug("查询出的记录数:{}", page.getData().size());
       getRequest().setAttribute("items", page.getData());
       cats = page.getData(); // 供震相、Seed使用的数据
       restorePageData(page.getRows(), getPageSize());
     } catch (Exception e) {
       logger.error("数据查询错误{}", e.getMessage());
       e.printStackTrace();
       clean();
     }
   }
   return "list";
 }