Browse Source

增加包(批次)模块的查询参数。

zhuoning 3 years ago
parent
commit
63c31c0b3b

+ 3 - 0
huimv-manage/src/main/java/com/huimv/manage/eartag/controller/ApplyController.java

@@ -3,6 +3,7 @@ package com.huimv.manage.eartag.controller;
 import com.alibaba.fastjson.JSONArray;
 import com.huimv.manage.eartag.service.IApplyService;
 import com.huimv.manage.util.Const;
+import com.huimv.manage.util.DataUtil;
 import com.huimv.manage.util.Result;
 import com.huimv.manage.webservice.Soap;
 import com.huimv.manage.webservice.task.ProduceMissionTask;
@@ -39,6 +40,8 @@ public class ApplyController {
     private Soap soap;
     @Autowired
     private ProduceMissionTask produceMissionTask;
+    @Autowired
+    private DataUtil dataUtil;
 
     /**
      * @Method : listTask

+ 6 - 4
huimv-manage/src/main/java/com/huimv/manage/eartag/controller/PackageController.java

@@ -11,6 +11,7 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
 import java.io.UnsupportedEncodingException;
+import java.util.Date;
 
 /**
  * @Project : huimv.shiwan
@@ -50,12 +51,13 @@ public class PackageController {
     public Result listPackage(
             @RequestParam(value = "applyId", required = false) Integer applyId,
             @RequestParam(value = "packageId", required = false) Integer packageId,
-            @RequestParam(value = "startDate", required = false) String startDate,
-            @RequestParam(value = "endDate", required = false) String endDate,
+            @RequestParam(value = "startDate", required = false) Date startDate,
+            @RequestParam(value = "endDate", required = false) Date endDate,
             @RequestParam(value = "returnState", required = false) Integer returnState,
-            @RequestParam(value = "pageSize", required = true) Integer pageSize) {
+            @RequestParam(value = "pageSize", required = true) Integer pageSize,
+            @RequestParam(value = "pageNo", required = true) Integer pageNo) {
         //
-        return packageService.listPackage(pageSize);
+        return packageService.listPackage(applyId,packageId,startDate,endDate,returnState,pageSize,pageNo);
     }
 
     /**

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

@@ -3,10 +3,12 @@ package com.huimv.manage.eartag.service;
 import com.huimv.manage.util.Result;
 
 import java.io.UnsupportedEncodingException;
+import java.util.Date;
 
 public interface IPackageService {
     //展示列表
     Result listPackage(int pageSize);
+    Result listPackage(Integer applyId, Integer packageId, Date startDate, Date endDate, Integer returnState, Integer pageSize, Integer pageNo);
 
     //下载新批次
     Result getNewPackage(int applyId) throws UnsupportedEncodingException;
@@ -16,4 +18,5 @@ public interface IPackageService {
 
     //设置生产状态
     Result setProduceState(String ids,int state);
+
 }

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

@@ -37,8 +37,6 @@ import java.util.Optional;
 @Slf4j
 public class ApplyServiceImpl implements IApplyService {
     @Autowired
-    private DataUtil dataUtil;
-    @Autowired
     private EtApplyRepo applyRepo;
 
     /**

+ 38 - 0
huimv-manage/src/main/java/com/huimv/manage/eartag/service/impl/PackageServiceImpl.java

@@ -2,6 +2,7 @@ package com.huimv.manage.eartag.service.impl;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.huimv.manage.dao.entity.EtApplyEntity;
 import com.huimv.manage.dao.entity.EtPackageEntity;
 import com.huimv.manage.dao.repo.PackageRepo;
 import com.huimv.manage.eartag.service.IPackageService;
@@ -15,10 +16,16 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.data.domain.Example;
 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 javax.persistence.criteria.Order;
+import javax.persistence.criteria.Predicate;
 import java.io.UnsupportedEncodingException;
 import java.sql.Timestamp;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Optional;
@@ -49,6 +56,37 @@ public class PackageServiceImpl implements IPackageService {
         return new Result(ResultCode.SUCCESS,packageEntityList);
     }
 
+    @Override
+    public Result listPackage(Integer applyId, Integer packageId, Date startDate, Date endDate, Integer returnState, Integer pageSize, Integer pageNo) {
+        Specification<EtPackageEntity> spec = (Specification<EtPackageEntity>) (root, criteriaQuery, criteriaBuilder) -> {
+            //
+            List<Predicate> predList = new ArrayList<>();
+            if (null != applyId) {
+                predList.add(criteriaBuilder.equal(root.get("applyId").as(Integer.class), applyId));
+            }
+            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));
+            }
+            //
+            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, packageRepo.findAll(spec, pageable));
+    }
+
     /**
      * @Method      : getNewPackage
      * @Description :