一般在controller层写startPage()进行分页处理,但是发现不行,在controller层中删掉pagestart,在业务层也就是service层进行分页处理

    @GetMapping("select-institute-equipment")
    @NotControllerResponseAdvice
    public TableDataInfo selectSpecialEquipment(TkDeviceMaster tkDeviceMaster) {
//        PageHelper.startPage(tkDeviceMaster.getPageNum(),tkDeviceMaster.getPageSize());
        List<TkDeviceMaster> list = service.selectInstituteEquipment(tkDeviceMaster);
        return getDataTable(list);
    }

    @Override
    public List<TkDeviceMaster> selectInstituteEquipment(TkDeviceMaster deviceMaster) {
        List<TkDeviceMaster> allSpecialEquipment = tkDeviceManageService.querySpecialEquipment(deviceMaster);
        List<TkDeviceMaster> neededInstitutes = new ArrayList<>();
        allSpecialEquipment.forEach(one -> {
            if (one.getInspectionDate() != null) {
                Calendar calendar = Calendar.getInstance();
                calendar.setTime(one.getInspectionDate());
                calendar.add(Calendar.MONTH, one.getInspectionCycle());
                Calendar currentCalendar = Calendar.getInstance();
                int currentYear = currentCalendar.get(Calendar.YEAR);
                int currentMonth = currentCalendar.get(Calendar.MONTH);

                // 获取减去5个月后的日期的年份和月份
                int newYear = calendar.get(Calendar.YEAR);
                int newMonth = calendar.get(Calendar.MONTH);
                // 判断新日期的月份是否等于上个月份
                // 判断新日期是否属于上个月
                if ((newYear < currentYear) || (newYear == currentYear && newMonth <= currentMonth - 1)) {
                    neededInstitutes.add(one);
                }
            } else {
                neededInstitutes.add(one);
            }
        });
        //这是在service层的分页处理代码,需要在实体类里面定义pageNum和pageSize
        PageHelper.startPage(deviceMaster.getPageNum(), deviceMaster.getPageSize());
            return neededInstitutes;
    }

Logo

快速构建 Web 应用程序

更多推荐