diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerDailyAttendanceStatisticsV2Controller.java b/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerDailyAttendanceStatisticsV2Controller.java index 6d1174d2b..dfd83b1dd 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerDailyAttendanceStatisticsV2Controller.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerDailyAttendanceStatisticsV2Controller.java @@ -220,6 +220,13 @@ public class WorkerDailyAttendanceStatisticsV2Controller { param.put("endTime", DateUtil.formatDate(endTime)); } IPage workerInfoList = workerInfoService.selectWorkerInfoList(param); + List personSnList = workerInfoList.getRecords().stream().map(WorkerInfo::getPersonSn).collect(Collectors.toList()); + if (CollUtil.isEmpty(personSnList)) { + personSnList.add("-1"); + param.put("personSnList", personSnList); + } else if (personSnList.size() <= 1000){ + param.put("personSnList", personSnList); + } Map> personSnMap = workerDailyAttendanceStatisticsV2Service.queryList(param).stream() .collect(Collectors.groupingBy(WorkerDailyAttendanceStatisticsV2::getPersonSn)); List vos = new ArrayList<>(); @@ -304,7 +311,8 @@ public class WorkerDailyAttendanceStatisticsV2Controller { } param.put("startTime", startTime); param.put("endTime", endTime); - List statisticsV2Vos = workerDailyAttendanceStatisticsV2Service.queryList(param); + IPage statisticsPage = workerDailyAttendanceStatisticsV2Service.queryPageList(param); + List statisticsV2Vos = statisticsPage.getRecords(); List listVos = new ArrayList<>(); if (CollUtil.isNotEmpty(statisticsV2Vos)) { List dateList = statisticsV2Vos.stream().map(WorkerDailyAttendanceStatisticsV2::getAttendanceDate).collect(Collectors.toList()); @@ -342,9 +350,8 @@ public class WorkerDailyAttendanceStatisticsV2Controller { int pageNo = Integer.parseInt(param.getOrDefault("pageNo", 1).toString()); int pageSize = Integer.parseInt(param.getOrDefault("pageSize", 10).toString()); IPage p = new Page<>(); - int i = cn.hutool.core.util.PageUtil.getStart(pageNo - 1, pageSize); - p.setTotal(listVos.size()); - p.setRecords(CollUtil.sub(listVos, i, i + pageSize)); + p.setTotal(statisticsPage.getTotal()); + p.setRecords(listVos); p.setCurrent(pageNo); p.setSize(pageSize); return Result.success(p); @@ -1192,12 +1199,12 @@ public class WorkerDailyAttendanceStatisticsV2Controller { .stream().filter(w -> Objects.nonNull(w.getPersonSn())).collect(Collectors.groupingBy(WorkerAttendance::getPersonSn, Collectors.groupingBy(o -> DateUtil.formatDate(DateUtil.parseDate(o.getCreateTime())), Collectors.toList()))); - BigDecimal totalHour = BigDecimal.ZERO; for (Map.Entry> entry : deptNameMap.entrySet()) { BigDecimal totalAttendanceDay = BigDecimal.ZERO; Map sheetMap = new HashMap<>(); List> listMap = new ArrayList<>(); List vos = entry.getValue(); + BigDecimal totalHour = BigDecimal.ZERO; int index = 0; for (StatisticsListVo vo : vos) { Map map = new HashMap<>();