Prechádzať zdrojové kódy

增加分页查询电子秤数据接口

zhuoning 3 rokov pred
rodič
commit
fb210a657f

+ 13 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/controller/WeightController.java

@@ -72,4 +72,17 @@ public class WeightController {
         return weight.getDayWeight(farmId,todayDateText,todayDateText);
         return weight.getDayWeight(farmId,todayDateText,todayDateText);
     }
     }
 
 
+    //查询所有记录带分页
+    @RequestMapping(value = "/getWeightOnPage")
+    public Result getWeightOnPage(@RequestParam(value = "farmId",required = true) Integer farmId,@RequestParam(value = "pageSize",required=true) Integer pageSize,
+                                  @RequestParam(value = "pageNo",required=true) Integer pageNo) throws ParseException {
+        log.info("farmId>>"+farmId);
+        String startDate = dateUtil.getYearStart();
+        String endDate = dateUtil.getYearEnd();
+        log.info("pageNo>>"+pageNo);
+        log.info("pageSize>>"+pageSize);
+        //
+        return weight.getWeightOnPage(farmId,dateUtil.parseDate(startDate),dateUtil.parseDate(endDate),pageNo,pageSize);
+    }
+
 }
 }

+ 5 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/IWeight.java

@@ -2,10 +2,15 @@ package com.huimv.produce.service;
 
 
 import com.huimv.common.utils.Result;
 import com.huimv.common.utils.Result;
 
 
+import java.util.Date;
+
 public interface IWeight {
 public interface IWeight {
     //查询称重
     //查询称重
     Result getDayWeight(Integer farmId, String startDate, String endDate);
     Result getDayWeight(Integer farmId, String startDate, String endDate);
 
 
     //查询近几次卖猪记录
     //查询近几次卖猪记录
     Result getDayWeightLastNtimes(Integer farmId, Integer days);
     Result getDayWeightLastNtimes(Integer farmId, Integer days);
+
+    //分页查询称重记录
+    Result getWeightOnPage(Integer farmId, Date startDate, Date endDate, Integer pageNo, Integer pageSize);
 }
 }

+ 42 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/WeightImpl.java

@@ -7,10 +7,14 @@ import com.huimv.produce.repo.ProdDayWeightEntity;
 import com.huimv.produce.repo.ProdDayWeightRepo;
 import com.huimv.produce.repo.ProdDayWeightRepo;
 import com.huimv.produce.service.IWeight;
 import com.huimv.produce.service.IWeight;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.*;
+import org.springframework.data.jpa.domain.Specification;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
+import javax.persistence.criteria.*;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.List;
 
 
 /**
 /**
@@ -89,4 +93,42 @@ public class WeightImpl implements IWeight {
             return new Result(10001, "暂无数据.", false);
             return new Result(10001, "暂无数据.", false);
         }
         }
     }
     }
+
+    /**
+     * @Method      : getWeightOnPage
+     * @Description : 分页查询称重记录
+     * @Params      : [farmId, startDate, endDate, pageNo, pageSize]
+     * @Return      : com.huimv.common.utils.Result
+     * 
+     * @Author      : ZhuoNing
+     * @Date        : 2021/12/7       
+     * @Time        : 14:56
+     */
+    @Override
+    public Result getWeightOnPage(Integer farmId, Date startDate, Date endDate, Integer pageNo, Integer pageSize) {
+            Specification<ProdDayWeightEntity> sf = (Specification<ProdDayWeightEntity>) (root, criteriaQuery, criteriaBuilder) -> {
+                //
+                List<Predicate> predList = new ArrayList<>();
+                if (null != farmId) {
+                    predList.add(criteriaBuilder.equal(root.get("farmId").as(Integer.class), farmId));
+                }
+                if (null != startDate) {
+                    predList.add(criteriaBuilder.greaterThanOrEqualTo(root.get("addTime").as(Date.class), startDate));
+                }
+                if (null != endDate) {
+                    predList.add(criteriaBuilder.lessThanOrEqualTo(root.get("addTime").as(Date.class), endDate));
+                }
+                //
+                Predicate[] pred = new Predicate[predList.size()];
+                Predicate and = criteriaBuilder.and(predList.toArray(pred));
+                criteriaQuery.where(and);
+                //
+                List<Order> orders = new ArrayList<>();
+                orders.add(criteriaBuilder.desc(root.get("id")));
+                return criteriaQuery.orderBy(orders).getRestriction();
+            };
+            Pageable pageable = PageRequest.of( pageNo - 1, pageSize);
+//        return new Result(ResultCode.SUCCESS,applyRepo.listApply(pageable,applyId));
+            return new Result(ResultCode.SUCCESS, dayWeightRepo.findAll(sf, pageable));
+    }
 }
 }