diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/ParamsDto.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/ParamsDto.java index c430c3aa..082e7f8e 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/ParamsDto.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/ParamsDto.java @@ -20,6 +20,9 @@ public class ParamsDto { /** 结束日期*/ private String endDate; + /** 结束日期*/ + private String date; + /** * 类型 验收1 入库2 * */ diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/service/impl/LargeScreenServiceImpl.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/service/impl/LargeScreenServiceImpl.java index 450eea79..39a1bea5 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/service/impl/LargeScreenServiceImpl.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/service/impl/LargeScreenServiceImpl.java @@ -169,23 +169,28 @@ public class LargeScreenServiceImpl implements ILargeScreenService { @Override public PageResultVo getAcceptanceDetailStorage(ParamsDto dto) { extracted(dto); - // 分页 - PageHelper.startPage(dto.getPageNum() == 0 ? 1 : dto.getPageNum(), dto.getPageSize()); - PageResultVo pageResult = new PageResultVo(); - List result; - result = mapper.getAcceptanceDetailStorage(dto); - result = result.stream() + List result = mapper.getAcceptanceDetailStorage(dto); + List filteredResult = result.stream() .filter(storageDetail -> storageDetail.getPurchaseNum() != 0 || - storageDetail.getCheckNum() != 0 || - storageDetail.getInputNum() != 0) + storageDetail.getCheckNum() != 0 || + storageDetail.getInputNum() != 0) .collect(Collectors.toList()); - // 分页信息 - PageInfo pageInfo = new PageInfo<>(result); - pageResult.setTotal(pageInfo.getTotal()); - pageResult.setTotalPageCount(pageInfo.getPages()); - pageResult.setRows(result); - pageResult.setPageNum (dto.getPageNum()); - pageResult.setPageSize(dto.getPageSize()); + // 手动计算分页信息 + int pageNum = dto.getPageNum() == 0 ? 1 : dto.getPageNum(); + int pageSize = dto.getPageSize(); + int total = filteredResult.size(); + int totalPages = (int) Math.ceil((double) total / pageSize); + // 手动分页,获取当前页的数据 + int startIndex = (pageNum - 1) * pageSize; + int endIndex = Math.min(startIndex + pageSize, total); + List currentPageData = filteredResult.subList(startIndex, endIndex); + // 构建返回结果对象 + PageResultVo pageResult = new PageResultVo(); + pageResult.setTotal(total); + pageResult.setTotalPageCount(totalPages); + pageResult.setRows(currentPageData); + pageResult.setPageNum(pageNum); + pageResult.setPageSize(pageSize); return pageResult; } @@ -447,6 +452,7 @@ public class LargeScreenServiceImpl implements ILargeScreenService { String month = date.substring(5, 7); // 验收数量 dto.setType("1"); + dto.setDate(year + "-" + month); dto.setStartDate(DateTimeHelper.getFisrtDayOfMonth(Integer.parseInt(year), Integer.parseInt(month))); dto.setEndDate(DateTimeHelper.getLastDayOfMonth(Integer.parseInt(year), Integer.parseInt(month))); List> checkList = mapper.getAcceptanceStorage(dto); diff --git a/sgzb-modules/sgzb-base/src/main/resources/mapper/largeScreen/LargeScreenMapper.xml b/sgzb-modules/sgzb-base/src/main/resources/mapper/largeScreen/LargeScreenMapper.xml index 90a0c80a..7a957bd9 100644 --- a/sgzb-modules/sgzb-base/src/main/resources/mapper/largeScreen/LargeScreenMapper.xml +++ b/sgzb-modules/sgzb-base/src/main/resources/mapper/largeScreen/LargeScreenMapper.xml @@ -52,7 +52,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" LEFT JOIN purchase_check_details pcd ON pci.task_id = pcd.task_id LEFT JOIN ma_type mt ON pcd.type_id = mt.type_id AND mt.`level` = '4' LEFT JOIN sys_dept sd ON sd.dept_id = mt.company_id - WHERE pci.arrival_time BETWEEN CONCAT(#{startDate}, ' 00:00:00') AND CONCAT(#{endDate}, ' 23:59:59') + WHERE DATE_FORMAT(pci.arrival_time, '%Y-%m') = #{date} + AND mt.del_flag = '0' AND sd.dept_name = #{maTypeName} @@ -68,6 +69,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" LEFT JOIN ma_type mt ON iad.type_id = mt.type_id AND mt.`level` = '4' LEFT JOIN sys_dept sd ON sd.dept_id = mt.company_id WHERE iad.create_time BETWEEN CONCAT(#{startDate}, ' 00:00:00') AND CONCAT(#{endDate}, ' 23:59:59') AND iad.input_type = '1' + AND mt.del_flag = '0' AND sd.dept_name = #{maTypeName}