From 86c3354e9efcb5604be3f2cccf6f1f8c50e261c3 Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Fri, 21 Nov 2025 09:16:16 +0800 Subject: [PATCH] =?UTF-8?q?=E8=80=83=E5=8B=A4bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...erDailyAttendanceStatisticsV2Controller.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) 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<>();