瀏覽代碼

增加耳标号模块的查询参数。

zhuoning 3 年之前
父節點
當前提交
fabaa34d4e

+ 15 - 13
huimv-manage/src/main/java/com/huimv/manage/eartag/controller/EarmarkController.java

@@ -11,6 +11,7 @@ import org.springframework.web.bind.annotation.*;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import java.io.IOException;
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.io.UnsupportedEncodingException;
+import java.util.Date;
 
 
 /**
 /**
  * @Project : huimv.shiwan
  * @Project : huimv.shiwan
@@ -38,20 +39,21 @@ public class EarmarkController {
     private IEarmarkService earmarkService;
     private IEarmarkService earmarkService;
 
 
     @RequestMapping(value = "/listEarmark",method = RequestMethod.GET)
     @RequestMapping(value = "/listEarmark",method = RequestMethod.GET)
-    public Result listEarmark(@RequestParam(value = "pageSize") int pageSize, HttpServletRequest request){
-//    public Result listEarmark(@RequestParam(value = "accessToken",required = true) String accessToken,
-//                              @RequestParam(value = "applyId",required = true) int applyId,
-//                              @RequestParam(value = "packageId",required = false) int packageId,
-//                              @RequestParam(value = "earMarkId",required = false) int earMarkId,
-//                              @RequestParam(value = "earMarkNumber",required = false) int earMarkNumber,
-//                              @RequestParam(value = "returnState",required = false) int returnState,
-//                              @RequestParam(value = "writeState",required = false) int writeState,
-//                              @RequestParam(value = "printState",required = false) int printState,
-//                              @RequestParam(value = "startDate",required = false) String startDate,
-//                              @RequestParam(value = "endDate",required = false) String endDate,
-//                              @RequestParam(value = "pageSize",required = true) int pageSize, HttpServletRequest request){
+//    public Result listEarmark(@RequestParam(value = "pageSize") int pageSize, HttpServletRequest request){
+    public Result listEarmark(
+                              @RequestParam(value = "applyId",required = false) Integer applyId,
+                              @RequestParam(value = "packageId",required = false) Integer packageId,
+                              @RequestParam(value = "earMarkId",required = false) Integer earMarkId,
+                              @RequestParam(value = "earMarkNumber",required = false) Integer earMarkNumber,
+                              @RequestParam(value = "returnState",required = false) Integer returnState,
+                              @RequestParam(value = "writeState",required = false) Integer writeState,
+                              @RequestParam(value = "printState",required = false) Integer printState,
+                              @RequestParam(value = "startDate",required = false) Date startDate,
+                              @RequestParam(value = "endDate",required = false) Date endDate,
+                              @RequestParam(value = "pageSize",required = true) Integer pageSize,
+                              @RequestParam(value = "pageNo", required = true) Integer pageNo){
         //
         //
-        return earmarkService.listEarmark(pageSize);
+        return earmarkService.listEarmark(applyId,packageId,earMarkId,earMarkNumber,returnState,writeState,printState,startDate,endDate,pageSize,pageNo);
     }
     }
 
 
     /**
     /**

+ 3 - 0
huimv-manage/src/main/java/com/huimv/manage/eartag/service/IEarmarkService.java

@@ -4,10 +4,12 @@ import com.huimv.manage.util.Result;
 
 
 import java.io.IOException;
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.io.UnsupportedEncodingException;
+import java.util.Date;
 
 
 public interface IEarmarkService {
 public interface IEarmarkService {
     //
     //
     Result listEarmark(int pageSize);
     Result listEarmark(int pageSize);
+    Result listEarmark(Integer applyId, Integer packageId, Integer earMarkId, Integer earMarkNumber, Integer returnState, Integer writeState, Integer printState, Date startDate, Date endDate, Integer pageSize, Integer pageNo);
 
 
     //
     //
     Result getEarmark(int applyId) throws IOException;
     Result getEarmark(int applyId) throws IOException;
@@ -23,4 +25,5 @@ public interface IEarmarkService {
 
 
     //设置打码状态
     //设置打码状态
     Result setPrintState(String ids, int state);
     Result setPrintState(String ids, int state);
+
 }
 }

+ 1 - 0
huimv-manage/src/main/java/com/huimv/manage/eartag/service/impl/ApplyServiceImpl.java

@@ -83,6 +83,7 @@ public class ApplyServiceImpl implements IApplyService {
             orders.add(criteriaBuilder.desc(root.get("id")));
             orders.add(criteriaBuilder.desc(root.get("id")));
             return criteriaQuery.orderBy(orders).getRestriction();
             return criteriaQuery.orderBy(orders).getRestriction();
         };
         };
+        // 分页
         Pageable pageable = PageRequest.of( pageNo - 1, pageSize);
         Pageable pageable = PageRequest.of( pageNo - 1, pageSize);
 //        return new Result(ResultCode.SUCCESS,applyRepo.listApply(pageable,applyId));
 //        return new Result(ResultCode.SUCCESS,applyRepo.listApply(pageable,applyId));
         return new Result(ResultCode.SUCCESS, applyRepo.findAll(sf, pageable));
         return new Result(ResultCode.SUCCESS, applyRepo.findAll(sf, pageable));

+ 53 - 0
huimv-manage/src/main/java/com/huimv/manage/eartag/service/impl/EarmarkServiceImpl.java

@@ -2,6 +2,7 @@ package com.huimv.manage.eartag.service.impl;
 
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
+import com.huimv.manage.dao.entity.EtApplyEntity;
 import com.huimv.manage.dao.entity.EtEarmarkEntity;
 import com.huimv.manage.dao.entity.EtEarmarkEntity;
 import com.huimv.manage.dao.repo.EarmarkRepo;
 import com.huimv.manage.dao.repo.EarmarkRepo;
 import com.huimv.manage.eartag.service.IEarmarkService;
 import com.huimv.manage.eartag.service.IEarmarkService;
@@ -15,11 +16,17 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.data.domain.Example;
 import org.springframework.data.domain.Example;
 import org.springframework.data.domain.ExampleMatcher;
 import org.springframework.data.domain.ExampleMatcher;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.jpa.domain.Specification;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import javax.persistence.criteria.Order;
+import javax.persistence.criteria.Predicate;
 import java.io.IOException;
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.io.UnsupportedEncodingException;
 import java.sql.Timestamp;
 import java.sql.Timestamp;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.Date;
 import java.util.List;
 import java.util.List;
 import java.util.Optional;
 import java.util.Optional;
@@ -62,6 +69,52 @@ public class EarmarkServiceImpl implements IEarmarkService {
         return new Result(ResultCode.SUCCESS,earmarkEntityList);
         return new Result(ResultCode.SUCCESS,earmarkEntityList);
     }
     }
 
 
+    @Override
+    public Result listEarmark(Integer applyId, Integer packageId, Integer earMarkId, Integer earMarkNumber, Integer returnState, Integer writeState, Integer printState, Date startDate, Date endDate, Integer pageSize, Integer pageNo) {
+        Specification<EtEarmarkEntity> sf = (Specification<EtEarmarkEntity>) (root, criteriaQuery, criteriaBuilder) -> {
+            //
+            List<Predicate> predList = new ArrayList<>();
+            if (null != applyId) {
+                predList.add(criteriaBuilder.equal(root.get("applyId").as(Integer.class), applyId));
+            }
+            if (null != packageId) {
+                predList.add(criteriaBuilder.equal(root.get("packageId").as(Integer.class), packageId));
+            }
+            if (null != earMarkId) {
+                predList.add(criteriaBuilder.equal(root.get("earMarkId").as(Integer.class), earMarkId));
+            }
+            if (null != earMarkNumber) {
+                predList.add(criteriaBuilder.equal(root.get("earMarkNumber").as(Integer.class), earMarkNumber));
+            }
+            if (null != startDate) {
+                predList.add(criteriaBuilder.greaterThanOrEqualTo(root.get("startDate").as(Date.class), startDate));
+            }
+            if (null != endDate) {
+                predList.add(criteriaBuilder.lessThanOrEqualTo(root.get("endDate").as(Date.class), endDate));
+            }
+            if (null != returnState) {
+                predList.add(criteriaBuilder.equal(root.get("returnState").as(Integer.class), returnState));
+            }
+            if (null != writeState) {
+                predList.add(criteriaBuilder.equal(root.get("writeState").as(Integer.class), writeState));
+            }
+            if (null != printState) {
+                predList.add(criteriaBuilder.equal(root.get("printState").as(Integer.class), printState));
+            }
+            //
+            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, earmarkRepo.findAll(sf, pageable));
+    }
+
     /**
     /**
      * @Method      : getEarmark
      * @Method      : getEarmark
      * @Description : 下载耳标号
      * @Description : 下载耳标号