考勤bug修复

This commit is contained in:
guoshengxiong 2025-11-21 09:16:16 +08:00
parent 6ac13f5566
commit 86c3354e9e

View File

@ -220,6 +220,13 @@ public class WorkerDailyAttendanceStatisticsV2Controller {
param.put("endTime", DateUtil.formatDate(endTime));
}
IPage<WorkerInfo> workerInfoList = workerInfoService.selectWorkerInfoList(param);
List<String> 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<String, List<WorkerDailyAttendanceStatisticsV2Vo>> personSnMap = workerDailyAttendanceStatisticsV2Service.queryList(param).stream()
.collect(Collectors.groupingBy(WorkerDailyAttendanceStatisticsV2::getPersonSn));
List<StatisticsListVo> vos = new ArrayList<>();
@ -304,7 +311,8 @@ public class WorkerDailyAttendanceStatisticsV2Controller {
}
param.put("startTime", startTime);
param.put("endTime", endTime);
List<WorkerDailyAttendanceStatisticsV2Vo> statisticsV2Vos = workerDailyAttendanceStatisticsV2Service.queryList(param);
IPage<WorkerDailyAttendanceStatisticsV2Vo> statisticsPage = workerDailyAttendanceStatisticsV2Service.queryPageList(param);
List<WorkerDailyAttendanceStatisticsV2Vo> statisticsV2Vos = statisticsPage.getRecords();
List<ExceptionHourStatisticsListVo> listVos = new ArrayList<>();
if (CollUtil.isNotEmpty(statisticsV2Vos)) {
List<Date> 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<ExceptionHourStatisticsListVo> 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<String, List<StatisticsListVo>> entry : deptNameMap.entrySet()) {
BigDecimal totalAttendanceDay = BigDecimal.ZERO;
Map<String, Object> sheetMap = new HashMap<>();
List<Map<String, Object>> listMap = new ArrayList<>();
List<StatisticsListVo> vos = entry.getValue();
BigDecimal totalHour = BigDecimal.ZERO;
int index = 0;
for (StatisticsListVo vo : vos) {
Map<String, Object> map = new HashMap<>();