Kaynağa Gözat

查询分页

wangys 6 yıl önce
ebeveyn
işleme
ce208f47ef

+ 1 - 1
efunbox-base/efunbox-base-api/src/main/java/cn/efunbox/manage/base/service/ManageService.java

@@ -6,7 +6,7 @@ import cn.efunbox.manage.common.result.ApiResult;
 
 public interface ManageService {
 
-    ApiResult list(ManageVO manageVO);
+    ApiResult list(ManageVO manageVO, Integer pageNo, Integer pageSize);
 
     ApiResult save(Manage manage);
 

+ 16 - 6
efunbox-base/efunbox-base-api/src/main/java/cn/efunbox/manage/base/service/impl/ManageServiceImpl.java

@@ -6,10 +6,14 @@ import cn.efunbox.manage.base.enums.ManageTypeEnum;
 import cn.efunbox.manage.base.repository.*;
 import cn.efunbox.manage.base.service.ManageService;
 import cn.efunbox.manage.base.vo.ManageVO;
+import cn.efunbox.manage.common.entity.page.OnePage;
 import cn.efunbox.manage.common.result.ApiCode;
 import cn.efunbox.manage.common.result.ApiResult;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+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.web.bind.annotation.Mapping;
@@ -48,7 +52,8 @@ public class ManageServiceImpl implements ManageService {
     CostTypeRepository costTypeRepository;
 
     @Override
-    public ApiResult list(ManageVO manageVO) {
+    public ApiResult list(ManageVO manageVO, Integer pageNo, Integer pageSize) {
+        Pageable pageable = new PageRequest(pageNo - 1, pageSize);
         Specification querySpecifi = new Specification<Manage>() {
             @Override
             public Predicate toPredicate(Root<Manage> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
@@ -104,7 +109,11 @@ public class ManageServiceImpl implements ManageService {
                 return criteriaBuilder.and(predicates.toArray(new Predicate[predicates.size()]));
             }
         };
-        List<Manage> manages = manageRepository.findAll(querySpecifi);
+        Long count = manageRepository.count(querySpecifi);
+        if (count == 0) {
+            return ApiResult.ok(null);
+        }
+        Page<Manage> manages = manageRepository.findAll(querySpecifi, pageable);
         if(Objects.isNull(manages)){
             return ApiResult.error(ApiCode.UNKNOWN_ERROR);
 
@@ -114,7 +123,7 @@ public class ManageServiceImpl implements ManageService {
         List<Long> productIds = new ArrayList<>();
         List<Long> companyIds = new ArrayList<>();
         List<Long> costTypeIds = new ArrayList<>();
-        manages.stream().forEach(m -> {
+        for(Manage m : manages){
             if(Objects.nonNull(m.getDeptId())){
                 deptIds.add(m.getDeptId());
             }
@@ -156,7 +165,8 @@ public class ManageServiceImpl implements ManageService {
             if(Objects.nonNull(m.getToDeptId())){
                 deptIds.add(m.getToDeptId());
             }
-        });
+        }
+
         //部门
         List<Department> departments = departmentRepository.findByIds(deptIds);
         Map<Long, Department> departmentMap = new HashMap<>();
@@ -188,7 +198,7 @@ public class ManageServiceImpl implements ManageService {
             costTypeMap.put(costType.getId(), costType);
         });
 
-        manages.stream().forEach(m -> {
+        for(Manage m : manages){
             m.setDepartment(departmentMap.get(m.getDeptId()));
             m.setProject(projectMap.get(m.getProjectId()));
             m.setProduct(producMap.get(m.getProductId()));
@@ -213,7 +223,7 @@ public class ManageServiceImpl implements ManageService {
 //                        break;
 //                }
 //            }
-        });
+        };
         return ApiResult.ok(manages);
     }
 

+ 2 - 2
efunbox-base/efunbox-base-web/src/main/java/cn/efunbox/manage/base/controller/ManageController.java

@@ -27,14 +27,14 @@ public class ManageController {
     DepartmentService departmentService;
 
     @GetMapping
-    public ApiResult findManage(ManageVO manageVO){
+    public ApiResult findManage(ManageVO manageVO, Integer pageNo, Integer pageSize){
         ApiResult<List<Department>> deptResult = departmentService.getDeptChild(manageVO.getDeptId() == null ? 0l : manageVO.getDeptId());
         List<Long> deptIds = new ArrayList<>();
         deptResult.getData().stream().forEach(department -> {
             deptIds.add(department.getId());
         });
         manageVO.setDeptIds(deptIds);
-        return manageService.list(manageVO);
+        return manageService.list(manageVO, pageNo, pageSize);
     }
 
     @PostMapping