瀏覽代碼

新建分页查询设备注册列表

zhuoning 3 年之前
父節點
當前提交
0577acf983

+ 13 - 0
huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/entity/EartagDataEntity.java

@@ -2,6 +2,7 @@ package com.huimv.eartag2.common.dao.entity;
 
 import javax.persistence.*;
 import java.io.Serializable;
+import java.sql.Date;
 import java.sql.Timestamp;
 
 @Entity
@@ -57,6 +58,9 @@ public class EartagDataEntity implements Serializable {
     @Column(name = "add_time")
     private Timestamp addTime;
 
+    @Column(name = "create_date")
+    private Date createDate;
+
     public void setId(Integer id) {
         this.id = id;
     }
@@ -177,6 +181,14 @@ public class EartagDataEntity implements Serializable {
         return addTime;
     }
 
+    public void setCreateDate(Date createDate) {
+        this.createDate = createDate;
+    }
+
+    public Date getCreateDate() {
+        return createDate;
+    }
+
     @Override
     public String toString() {
         return "EartagDataEntity{" +
@@ -195,6 +207,7 @@ public class EartagDataEntity implements Serializable {
                 "askTime=" + askTime + '\'' +
                 "other=" + other + '\'' +
                 "addTime=" + addTime + '\'' +
+                "createDate=" + createDate + '\'' +
                 '}';
     }
 }

+ 13 - 0
huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/entity/EartagDeviceRegisterEntity.java

@@ -2,6 +2,7 @@ package com.huimv.eartag2.common.dao.entity;
 
 import javax.persistence.*;
 import java.io.Serializable;
+import java.sql.Date;
 import java.sql.Timestamp;
 
 @Entity
@@ -66,6 +67,9 @@ public class EartagDeviceRegisterEntity implements Serializable {
     @Column(name = "remark")
     private String remark;
 
+    @Column(name = "create_date")
+    private Date createDate;
+
     public void setId(Integer id) {
         this.id = id;
     }
@@ -210,6 +214,14 @@ public class EartagDeviceRegisterEntity implements Serializable {
         return remark;
     }
 
+    public void setCreateDate(Date createDate) {
+        this.createDate = createDate;
+    }
+
+    public Date getCreateDate() {
+        return createDate;
+    }
+
     @Override
     public String toString() {
         return "EartagDeviceRegisterEntity{" +
@@ -231,6 +243,7 @@ public class EartagDeviceRegisterEntity implements Serializable {
                 "deviceAlias=" + deviceAlias + '\'' +
                 "location=" + location + '\'' +
                 "remark=" + remark + '\'' +
+                "createDate=" + createDate + '\'' +
                 '}';
     }
 }

+ 36 - 3
huimv-eartag2-platform/huimv-eartag2-manage/src/main/java/com/huimv/eartag2/manage/controller/DeviceController.java

@@ -133,6 +133,39 @@ public class DeviceController {
         //
         return deviceService.getDeviceRegisterByDeviceCode(deviceCode);
     }
+    
+    /**
+     * @Method      : listDeviceRegisterInPager
+     * @Description : 列表展示设备注册(分页)
+     * @Params      : [farmId, deviceCode, alias, startDate, endDate, activeStatus, liveStatus, pageNo, pageSize]
+     * @Return      : com.huimv.eartag2.common.utils.Result
+     * 
+     * @Author      : ZhuoNing
+     * @Date        : 2022/3/9       
+     * @Time        : 22:34
+     */
+    @RequestMapping(value = "/listDeviceRegisterInPager",method = RequestMethod.GET)
+    public Result listDeviceRegisterInPager(@RequestParam(value = "farmId",required = true) String farmId,
+                                     @RequestParam(value = "deviceCode",required = false) String deviceCode,
+                                     @RequestParam(value = "alias",required = false) String alias,
+                                     @RequestParam(value = "startDate",required = false) String startDate,
+                                     @RequestParam(value = "endDate",required = false) String endDate,
+                                     @RequestParam(value = "activeStatus",required = false) Integer activeStatus,
+                                     @RequestParam(value = "liveStatus",required = false) Integer liveStatus,
+                                     @RequestParam(value = "pageNo",required = true) Integer pageNo,
+                                     @RequestParam(value = "pageSize",required = true) Integer pageSize){
+        log.info("<listDeviceRegisterInPager>输入参数 farmId>>"+farmId);
+        log.info("<listDeviceRegisterInPager>输入参数 deviceCode>>"+deviceCode);
+        log.info("<listDeviceRegisterInPager>输入参数 alias>>"+alias);
+        log.info("<listDeviceRegisterInPager>输入参数 startDate>>"+startDate);
+        log.info("<listDeviceRegisterInPager>输入参数 endDate>>"+endDate);
+        log.info("<listDeviceRegisterInPager>输入参数 activeStatus>>"+activeStatus);
+        log.info("<listDeviceRegisterInPager>输入参数 liveStatus>>"+liveStatus);
+        log.info("<listDeviceRegisterInPager>输入参数 pageNo>>"+pageNo);
+        log.info("<listDeviceRegisterInPager>输入参数 pageSize>>"+pageSize);
+        //
+        return deviceService.listDeviceRegisterInPager(farmId,deviceCode,alias,startDate,endDate,activeStatus,liveStatus,pageNo,pageSize);
+    }
 
     /**
      * @Method      : listManyDaysOnlineByDeviceCode
@@ -259,9 +292,9 @@ public class DeviceController {
                                                        @RequestParam(value = "pageNo",required = true) Integer pageNo,
                                                        @RequestParam(value = "pageSize",required = true) Integer pageSize) throws ParseException {
         log.info("<listDeviceEnvtempByDeviceCodeInPager>输入参数 deviceCode>>"+deviceCode);
-        log.info("<listDeviceEnvtempByDeviceCode>输入参数 addDate>>"+addDate);
-        log.info("<listDeviceEnvtempByDeviceCode>输入参数 pageNo>>"+pageNo);
-        log.info("<listDeviceEnvtempByDeviceCode>输入参数 pageSize>>"+pageSize);
+        log.info("<listDeviceEnvtempByDeviceCodeInPager>输入参数 addDate>>"+addDate);
+        log.info("<listDeviceEnvtempByDeviceCodeInPager>输入参数 pageNo>>"+pageNo);
+        log.info("<listDeviceEnvtempByDeviceCodeInPager>输入参数 pageSize>>"+pageSize);
         //
         if(addDate == null){
             addDate  =  new DateUtil().getTodayDateText();

+ 31 - 1
huimv-eartag2-platform/huimv-eartag2-manage/src/main/java/com/huimv/eartag2/manage/controller/EartagController.java

@@ -1,5 +1,6 @@
 package com.huimv.eartag2.manage.controller;
 
+import com.huimv.eartag2.common.utils.DateUtil;
 import com.huimv.eartag2.common.utils.Result;
 import com.huimv.eartag2.manage.service.IEartagService;
 import lombok.extern.slf4j.Slf4j;
@@ -101,8 +102,37 @@ public class EartagController {
     }
 
     /**
+     * @Method      : listEartagFlowByDeviceCodeAndEarmarkAndToday
+     * @Description : 读取设备下和该耳标今天所有耳标流水,设备在线页面调用(分页)
+     * @Params      : [earmark, deviceCode]
+     * @Return      : com.huimv.eartag2.common.utils.Result
+     *
+     * @Author      : ZhuoNing
+     * @Date        : 2022/3/7
+     * @Time        : 18:56
+     */
+    @RequestMapping(value = "/listEartagFlowByDeviceCodeAndEarmarkAndDateInPager",method = RequestMethod.GET)
+    public Result listEartagFlowByDeviceCodeAndEarmarkAndDateInPager(@RequestParam(value = "earmark",required = true) String earmark,
+                                                               @RequestParam(value = "deviceCode",required = true) String deviceCode,
+                                                                     @RequestParam(value = "addDate",required = false) String addDate,
+                                                                     @RequestParam(value = "pageNo",required = true) Integer pageNo,
+                                                                     @RequestParam(value = "pageSize",required = true) Integer pageSize) throws ParseException {
+        log.info("<listEartagFlowByDeviceCodeAndEarmarkAndDateInPager> 输入参数 earmark>>"+earmark);
+        log.info("<listEartagFlowByDeviceCodeAndEarmarkAndDateInPager> 输入参数 deviceCode>"+deviceCode);
+        log.info("<listDeviceEnvtempByDeviceCodeInPager>输入参数 addDate>>"+addDate);
+        log.info("<listDeviceEnvtempByDeviceCodeInPager>输入参数 pageNo>>"+pageNo);
+        log.info("<listDeviceEnvtempByDeviceCodeInPager>输入参数 pageSize>>"+pageSize);
+        //
+        if(addDate == null){
+            addDate  =  new DateUtil().getTodayDateText();
+        }
+        //
+        return eartagService.listEartagFlowByDeviceCodeAndEarmarkAndDateInPager(earmark,deviceCode,addDate,pageNo,pageSize);
+    }
+
+    /**
      * @Method      : listEartagFlowByDeviceCodeAndEarmarkAndTodayInPager
-     * @Description : 读取设备下和该耳标今天所有耳标流水,设备在线页面调用 分页
+     * @Description : 读取设备下和该耳标今天所有耳标流水,设备在线页面调用(分页)
      * @Params      : [earmark, deviceCode]
      * @Return      : com.huimv.eartag2.common.utils.Result
      * 

+ 3 - 0
huimv-eartag2-platform/huimv-eartag2-manage/src/main/java/com/huimv/eartag2/manage/service/IDeviceService.java

@@ -40,4 +40,7 @@ public interface IDeviceService {
 
     //分页查询设备温度
     Result listDeviceEnvtempByDeviceCodeInPager(String deviceCode, String addDate, Integer pageNo, Integer pageSize);
+
+    //分页查询列表
+    Result listDeviceRegisterInPager(String farmId, String deviceCode, String alias, String startDate, String endDate, Integer activeStatus, Integer liveStatus, Integer pageNo, Integer pageSize);
 }

+ 3 - 0
huimv-eartag2-platform/huimv-eartag2-manage/src/main/java/com/huimv/eartag2/manage/service/IEartagService.java

@@ -24,4 +24,7 @@ public interface IEartagService {
 
     //带分页查询耳标流水
     Result listEartagFlowByDeviceCodeAndEarmarkAndTodayInPager(String earmark, String deviceCode, Integer pageNo, Integer pageSize);
+
+    //带分页查询耳标流水
+    Result listEartagFlowByDeviceCodeAndEarmarkAndDateInPager(String earmark, String deviceCode, String addDate, Integer pageNo, Integer pageSize);
 }

+ 73 - 9
huimv-eartag2-platform/huimv-eartag2-manage/src/main/java/com/huimv/eartag2/manage/service/impl/DeviceServiceImpl.java

@@ -107,12 +107,12 @@ public class DeviceServiceImpl implements IDeviceService {
             }
             //
             if (null != deviceCode && deviceCode.trim().length()>0) {
-                predList.add(criteriaBuilder.greaterThanOrEqualTo(root.get("deviceCode").as(String.class), deviceCode));
+                predList.add(criteriaBuilder.equal(root.get("deviceCode").as(String.class), deviceCode));
             }
             //
             if (null != addDate && addDate.trim().length()>0) {
                 try {
-                    predList.add(criteriaBuilder.lessThanOrEqualTo(root.get("createDate").as(Date.class), new Date(new DateUtil().parseDateTextToLong(addDate))));
+                    predList.add(criteriaBuilder.equal(root.get("createDate").as(Date.class), new Date(new DateUtil().parseDateTextToLong(addDate))));
                 } catch (ParseException e) {
                     e.printStackTrace();
                 }
@@ -137,12 +137,12 @@ public class DeviceServiceImpl implements IDeviceService {
             List<Predicate> predList = new ArrayList<>();
             //
             if (null != deviceCode && deviceCode.trim().length()>0) {
-                predList.add(criteriaBuilder.greaterThanOrEqualTo(root.get("deviceCode").as(String.class), deviceCode));
+                predList.add(criteriaBuilder.equal(root.get("deviceCode").as(String.class), deviceCode));
             }
             //
             if (null != addDate && addDate.trim().length()>0) {
                 try {
-                    predList.add(criteriaBuilder.lessThanOrEqualTo(root.get("createDate").as(Date.class), new Date(new DateUtil().parseDateTextToLong(addDate))));
+                    predList.add(criteriaBuilder.equal(root.get("createDate").as(Date.class), new Date(new DateUtil().parseDateTextToLong(addDate))));
                 } catch (ParseException e) {
                     e.printStackTrace();
                 }
@@ -177,12 +177,12 @@ public class DeviceServiceImpl implements IDeviceService {
             List<Predicate> predList = new ArrayList<>();
             //
             if (null != deviceCode && deviceCode.trim().length()>0) {
-                predList.add(criteriaBuilder.greaterThanOrEqualTo(root.get("deviceCode").as(String.class), deviceCode));
+                predList.add(criteriaBuilder.equal(root.get("deviceCode").as(String.class), deviceCode));
             }
             //
             if (null != addDate && addDate.trim().length()>0) {
                 try {
-                    predList.add(criteriaBuilder.lessThanOrEqualTo(root.get("createDate").as(Date.class), new Date(new DateUtil().parseDateTextToLong(addDate))));
+                    predList.add(criteriaBuilder.equal(root.get("createDate").as(Date.class), new Date(new DateUtil().parseDateTextToLong(addDate))));
                 } catch (ParseException e) {
                     e.printStackTrace();
                 }
@@ -197,7 +197,71 @@ public class DeviceServiceImpl implements IDeviceService {
         };
         Pageable pageable = PageRequest.of(pageNo - 1, pageSize);
         return new Result(ResultCode.SUCCESS, eartagEnvRepo.findAll(sf, pageable));
-        ///////////////////////////////////////////////////////////////////////////////////////
+    }
+
+    /**
+     * @Method      : listDeviceRegisterInPager
+     * @Description : 列表查询分页信息(分页)
+     * @Params      : [farmId, deviceCode, alias, startDate, endDate, activeStatus, liveStatus, pageNo, pageSize]
+     * @Return      : com.huimv.eartag2.common.utils.Result
+     * 
+     * @Author      : ZhuoNing
+     * @Date        : 2022/3/9       
+     * @Time        : 22:28
+     */
+    @Override
+    public Result listDeviceRegisterInPager(String farmId, String deviceCode, String alias, String startDate, String endDate, Integer activeStatus, Integer liveStatus, Integer pageNo, Integer pageSize) {
+        //
+        Specification<EartagDeviceRegisterEntity> sf = (Specification<EartagDeviceRegisterEntity>) (root, criteriaQuery, criteriaBuilder) -> {
+            //
+            List<Predicate> predList = new ArrayList<>();
+            //farmId
+            if (null != farmId && farmId.trim().length()>0) {
+                System.out.println("### farmId>>"+farmId);
+                predList.add(criteriaBuilder.equal(root.get("farmId").as(String.class), farmId));
+            }
+            //deviceCode
+            if (null != deviceCode && deviceCode.trim().length()>0) {
+                predList.add(criteriaBuilder.equal(root.get("deviceCode").as(String.class), deviceCode));
+            }
+            //alias
+            if (null != alias) {
+                predList.add(criteriaBuilder.like(root.get("deviceAlias").as(String.class), alias));
+            }
+            //startDate
+            if (null != startDate && startDate.trim().length()>0) {
+                try {
+                    predList.add(criteriaBuilder.greaterThanOrEqualTo(root.get("createDate").as(Date.class), new Date(new DateUtil().parseDateTextToLong(startDate))));
+                } catch (ParseException e) {
+                    e.printStackTrace();
+                }
+            }
+            //endDate
+            if (null != endDate && endDate.trim().length()>0) {
+                try {
+                    predList.add(criteriaBuilder.lessThanOrEqualTo(root.get("createDate").as(Date.class), new Date(new DateUtil().parseDateTextToLong(endDate))));
+                } catch (ParseException e) {
+                    e.printStackTrace();
+                }
+            }
+            //activeStatus
+            if (null != activeStatus) {
+                predList.add(criteriaBuilder.equal(root.get("activeStatus").as(Integer.class), activeStatus));
+            }
+            //liveStatus
+            if (null != liveStatus) {
+                predList.add(criteriaBuilder.equal(root.get("deviceStatus").as(Integer.class), liveStatus));
+            }
+            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, deviceRegisterRepo.findAll(sf, pageable));
     }
 
     /**
@@ -243,11 +307,11 @@ public class DeviceServiceImpl implements IDeviceService {
                 predList.add(criteriaBuilder.equal(root.get("farmId").as(String.class), farmId));
             }
             if (null != deviceCode) {
-                predList.add(criteriaBuilder.greaterThanOrEqualTo(root.get("deviceCode").as(String.class), deviceCode));
+                predList.add(criteriaBuilder.equal(root.get("deviceCode").as(String.class), deviceCode));
             }
             if (null != addDate) {
                 try {
-                    predList.add(criteriaBuilder.lessThanOrEqualTo(root.get("addDate").as(Date.class), new Date(dateUtil.parseDateTextToLong(addDate))));
+                    predList.add(criteriaBuilder.equal(root.get("addDate").as(Date.class), new Date(dateUtil.parseDateTextToLong(addDate))));
                 } catch (ParseException e) {
                     e.printStackTrace();
                 }

+ 48 - 7
huimv-eartag2-platform/huimv-eartag2-manage/src/main/java/com/huimv/eartag2/manage/service/impl/EartagServiceImpl.java

@@ -3,10 +3,7 @@ package com.huimv.eartag2.manage.service.impl;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
-import com.huimv.eartag2.common.dao.entity.EartagDataEntity;
-import com.huimv.eartag2.common.dao.entity.EartagDeviceOnlineEntity;
-import com.huimv.eartag2.common.dao.entity.EartagEartagOnlineEntity;
-import com.huimv.eartag2.common.dao.entity.EartagEartagRegisterEntity;
+import com.huimv.eartag2.common.dao.entity.*;
 import com.huimv.eartag2.common.dao.repo.EartagDataRepo;
 import com.huimv.eartag2.common.dao.repo.EartagEartagOnlineRepo;
 import com.huimv.eartag2.common.dao.repo.EartagEartagRegisterRepo;
@@ -113,7 +110,7 @@ public class EartagServiceImpl implements IEartagService {
             //
             List<Predicate> predList = new ArrayList<>();
             if (null != earmark) {
-                predList.add(criteriaBuilder.greaterThanOrEqualTo(root.get("earmark").as(String.class), earmark));
+                predList.add(criteriaBuilder.equal(root.get("earmark").as(String.class), earmark));
             }
             Predicate[] pred = new Predicate[predList.size()];
             Predicate and = criteriaBuilder.and(predList.toArray(pred));
@@ -145,11 +142,55 @@ public class EartagServiceImpl implements IEartagService {
             List<Predicate> predList = new ArrayList<>();
             //earmark
             if (null != earmark) {
-                predList.add(criteriaBuilder.greaterThanOrEqualTo(root.get("earmark").as(String.class), earmark));
+                predList.add(criteriaBuilder.equal(root.get("earmark").as(String.class), earmark));
             }
             //
             if (null != deviceCode) {
-                predList.add(criteriaBuilder.greaterThanOrEqualTo(root.get("device").as(String.class), deviceCode));
+                predList.add(criteriaBuilder.equal(root.get("device").as(String.class), deviceCode));
+            }
+            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, eartagDataRepo.findAll(sf, pageable));
+    }
+
+    /**
+     * @Method      : listEartagFlowByDeviceCodeAndEarmarkAndDateInPager
+     * @Description : 
+     * @Params      : [earmark, deviceCode, addDate, pageNo, pageSize]
+     * @Return      : com.huimv.eartag2.common.utils.Result
+     * 
+     * @Author      : ZhuoNing
+     * @Date        : 2022/3/9       
+     * @Time        : 22:14
+     */
+    @Override
+    public Result listEartagFlowByDeviceCodeAndEarmarkAndDateInPager(String earmark, String deviceCode, String addDate, Integer pageNo, Integer pageSize) {
+        //
+        Specification<EartagDataEntity> sf = (Specification<EartagDataEntity>) (root, criteriaQuery, criteriaBuilder) -> {
+            //
+            List<Predicate> predList = new ArrayList<>();
+            //earmark
+            if (null != earmark && earmark.trim().length()>0) {
+                predList.add(criteriaBuilder.equal(root.get("earmark").as(String.class), earmark));
+            }
+            //
+            if (null != deviceCode && deviceCode.trim().length()>0) {
+                predList.add(criteriaBuilder.equal(root.get("device").as(String.class), deviceCode));
+            }
+            //
+            if (null != addDate && addDate.trim().length()>0) {
+                try {
+                    predList.add(criteriaBuilder.equal(root.get("createDate").as(Date.class), new Date(new DateUtil().parseDateTextToLong(addDate))));
+                } catch (ParseException e) {
+                    e.printStackTrace();
+                }
             }
             Predicate[] pred = new Predicate[predList.size()];
             Predicate and = criteriaBuilder.and(predList.toArray(pred));