项目级大屏出勤统计修改查询范围

This commit is contained in:
2025-09-23 09:21:05 +08:00
parent b754e3ffc0
commit 8af5fb52ec

View File

@ -1,6 +1,7 @@
package org.dromara.bigscreen.controller; package org.dromara.bigscreen.controller;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import org.dromara.bigscreen.domain.dto.WeatherQueryReq; import org.dromara.bigscreen.domain.dto.WeatherQueryReq;
@ -217,12 +218,18 @@ public class EnterpriseBigScreenController {
// return vo; // return vo;
// }).toList()); // }).toList());
ArrayList<ProjectAttendanceCountVo> projectAttendanceCountVos = new ArrayList<>(); ArrayList<ProjectAttendanceCountVo> projectAttendanceCountVos = new ArrayList<>();
List<BusProject> busProjects = projectService.getBaseMapper().selectList(new LambdaQueryWrapper<BusProject>().eq(BusProject::getPId, 0L).eq(BusProject::getIsDelete,0));
List<Long> projectIds = new ArrayList<>();
for (BusProject busProject : busProjects) {
projectIds.add(busProject.getId());
}
List<BusAttendance> list = attendanceService.list(Wrappers.<BusAttendance>lambdaQuery() List<BusAttendance> list = attendanceService.list(Wrappers.<BusAttendance>lambdaQuery()
.eq(BusAttendance::getClockDate, LocalDate.now()) .eq(BusAttendance::getClockDate, LocalDate.now())
.in(BusAttendance::getClockStatus, Arrays.asList("1", "2", "3")) .in(BusAttendance::getClockStatus, Arrays.asList("1", "2", "3"))
.in(BusAttendance::getProjectId, projectIds)
); );
List<BusUserProjectRelevancy> relevancyList = userProjectRelevancyService.list(); List<BusUserProjectRelevancy> relevancyList = userProjectRelevancyService.list(new LambdaQueryWrapper<BusUserProjectRelevancy>().in(BusUserProjectRelevancy::getProjectId, projectIds));
// 转换为 Map<projectId, 去重后的 userId 数量> // 转换为 Map<projectId, 去重后的 userId 数量>
Map<Long, Integer> projectUserCountMap = relevancyList.stream() Map<Long, Integer> projectUserCountMap = relevancyList.stream()