فهرست منبع

新建分页列表展示所有耳标流水信息

zhuoning 3 سال پیش
والد
کامیت
54484f84f6

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

@@ -61,6 +61,9 @@ public class EartagDataEntity implements Serializable {
     @Column(name = "create_date")
     private Date createDate;
 
+    @Column(name = "farm_id")
+    private String farmId;
+
     public void setId(Integer id) {
         this.id = id;
     }
@@ -189,6 +192,14 @@ public class EartagDataEntity implements Serializable {
         return createDate;
     }
 
+    public void setFarmId(String farmId) {
+        this.farmId = farmId;
+    }
+
+    public String getFarmId() {
+        return farmId;
+    }
+
     @Override
     public String toString() {
         return "EartagDataEntity{" +
@@ -208,6 +219,7 @@ public class EartagDataEntity implements Serializable {
                 "other=" + other + '\'' +
                 "addTime=" + addTime + '\'' +
                 "createDate=" + createDate + '\'' +
+                "farmId=" + farmId + '\'' +
                 '}';
     }
 }

+ 20 - 0
huimv-eartag2-platform/huimv-eartag2-manage/src/main/java/com/huimv/eartag2/manage/controller/EartagController.java

@@ -294,4 +294,24 @@ public class EartagController {
         return eartagService.listAllEartagRegister(farmId,earmark,activeStatus,liveStatus,registerType,startDate,endDate,pageNo,pageSize);
     }
 
+    @RequestMapping(value = "/listAllEartagFlow",method = RequestMethod.GET)
+    public Result listAllEartagFlow(@RequestParam(value = "farmId",required = true) String farmId,
+                                        @RequestParam(value = "createDate",required = false) String createDate,
+                                        @RequestParam(value = "deviceCode",required = false) String deviceCode,
+                                        @RequestParam(value = "earmark",required = false) String earmark,
+                                        @RequestParam(value = "pageNo",required = true) Integer pageNo,
+                                        @RequestParam(value = "pageSize",required = true) Integer pageSize) throws ParseException {
+        log.info("<listAllEartagRegister> 输入参数 farmId>>"+farmId);
+        log.info("<listAllEartagRegister> 输入参数 createDate>>"+createDate);
+        log.info("<listAllEartagRegister> 输入参数 deviceCode>>"+deviceCode);
+        log.info("<listAllEartagRegister> 输入参数 earmark>>"+earmark);
+        log.info("<listAllEartagRegister> 输入参数 pageNo>>"+pageNo);
+        log.info("<listAllEartagRegister> 输入参数 pageSize>>"+pageSize);
+        if(createDate == null || createDate.trim().length() == 0){
+            createDate = new DateUtil().getTodayDateText();
+        }
+        //
+        return eartagService.listAllEartagFlow(farmId,createDate,deviceCode,earmark,pageNo,pageSize);
+    }
+
 }

+ 4 - 1
huimv-eartag2-platform/huimv-eartag2-manage/src/main/java/com/huimv/eartag2/manage/service/IEartagService.java

@@ -40,6 +40,9 @@ public interface IEartagService {
     //通过耳标号和日期获取耳标关联设备信息
     Result getEartagDeviceByEarmarkAndAddDate(String earmark, String addDate);
 
-    //列表展示所有耳标
+    //分页展示所有耳标注册列表
     Result listAllEartagRegister(String farmId, String earmark, Integer activeStatus, Integer liveStatus, Integer registerType, String startDate, String endDate, Integer pageNo, Integer pageSize) throws ParseException;
+
+    //分页展示所有耳标流水列表
+    Result listAllEartagFlow(String farmId, String createDate, String deviceCode, String earmark, Integer pageNo, Integer pageSize);
 }

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

@@ -44,10 +44,57 @@ public class EartagServiceImpl implements IEartagService {
     @Autowired
     private EartagDeviceEartagCountRepo deviceEartagCountRepo;
 
+    /**
+     * @Method      : listAllEartagFlow
+     * @Description : 分页展示所有流水列表
+     * @Params      : [farmId, createDate, deviceCode, earmark, pageNo, pageSize]
+     * @Return      : com.huimv.eartag2.common.utils.Result
+     *
+     * @Author      : ZhuoNing
+     * @Date        : 2022/3/11
+     * @Time        : 11:30
+     */
+    @Override
+    public Result listAllEartagFlow(String farmId, String createDate, String deviceCode, String earmark, Integer pageNo, Integer pageSize) {
+        //
+        Specification<EartagDataEntity> sf = (Specification<EartagDataEntity>) (root, criteriaQuery, criteriaBuilder) -> {
+            //
+            List<Predicate> predList = new ArrayList<>();
+            //farmId
+            if (null != farmId && farmId.trim().length()>0) {
+                predList.add(criteriaBuilder.equal(root.get("farmId").as(String.class), farmId));
+            }
+            //earmark
+            if (null != earmark && earmark.trim().length()>0) {
+                predList.add(criteriaBuilder.equal(root.get("earmark").as(String.class), earmark));
+            }
+            //createDate
+            if (null != createDate && createDate.trim().length()>0) {
+                try {
+                    predList.add(criteriaBuilder.equal(root.get("createDate").as(Date.class), new Date(new DateUtil().parseDateTextToLong(createDate))));
+                } catch (ParseException e) {
+                    e.printStackTrace();
+                }
+            }
+            //deviceCode
+            if (null != deviceCode && deviceCode.trim().length()>0) {
+                predList.add(criteriaBuilder.equal(root.get("deviceCode").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);
+        Page<EartagDataEntity> eartagDataEntityPage = eartagDataRepo.findAll(sf, pageable);
+        return new Result(ResultCode.SUCCESS, eartagDataEntityPage);
+    }
 
     @Override
     public Result listAllEartagRegister(String farmId, String earmark, Integer activeStatus, Integer liveStatus, Integer registerType, String startDate, String endDate, Integer pageNo, Integer pageSize) throws ParseException {
-        DateUtil du = new DateUtil();
         //
         Specification<EartagEartagRegisterEntity> sf = (Specification<EartagEartagRegisterEntity>) (root, criteriaQuery, criteriaBuilder) -> {
             //