Преглед изворни кода

修复 性诱测报三型设备导出数据只有10条的问题

zhaiyifei пре 10 месеци
родитељ
комит
f946faf73d
1 измењених фајлова са 10 додато и 3 уклоњено
  1. 10 3
      src/main/java/com/yunfeiyun/agmp/iot/common/service/MongoService.java

+ 10 - 3
src/main/java/com/yunfeiyun/agmp/iot/common/service/MongoService.java

@@ -352,11 +352,9 @@ public class  MongoService<T>{
      * @return
      */
     public IPage<T> findListPage(Class<T> entity, Map params, PageDomain queryRequest) {
-        Page<T> iPage = new Page<>(queryRequest.getPageNum(), queryRequest.getPageSize());
         TableName tableName = entity.getAnnotation(TableName.class);
         String collName = tableName.value();
-        int pageSize = queryRequest.getPageSize();
-        int pageNum = queryRequest.getPageNum();
+
         //设置参数查询
         Query query = new Query(getCriteria(params));
         //log.debug(query.getQueryObject().toString());
@@ -365,10 +363,19 @@ public class  MongoService<T>{
         if (!StringUtils.isEmpty(field)) {
             query.with(Sort.by(getOrder(queryRequest)));
         }
+
         //设置总数
         long count = mongoTemplate.count(query, entity, collName);
         //log.debug("共"+count+" 条记录");
+
+        int pageSize = (int) count;
+        int pageNum = 1;
         //分页计算
+        if(queryRequest.getPage()){
+            pageSize = queryRequest.getPageSize();
+            pageNum = queryRequest.getPageNum();
+        }
+        Page<T> iPage = new Page<>(pageNum, pageSize);
         int pages = (int) Math.ceil((double) count / (double) pageSize);
         if (pageNum <= 0 || pageNum > pages) {
             iPage.setRecords(new ArrayList<>());