diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/service/impl/ProjectBigScreenServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/service/impl/ProjectBigScreenServiceImpl.java index 0126b143..7c21e496 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/service/impl/ProjectBigScreenServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/service/impl/ProjectBigScreenServiceImpl.java @@ -3,6 +3,7 @@ package org.dromara.bigscreen.service.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONUtil; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import jakarta.annotation.Resource; import org.dromara.bigscreen.domain.vo.ProjectImageProgressVo; import org.dromara.bigscreen.domain.vo.ProjectPeopleVo; @@ -141,11 +142,12 @@ public class ProjectBigScreenServiceImpl implements ProjectBigScreenService { // 获取大屏数据 ProjectPeopleVo vo = new ProjectPeopleVo(); // 获取施工人员总数 - Long count = constructionUserService.lambdaQuery() + List list = constructionUserService.lambdaQuery() .eq(SubConstructionUser::getProjectId, projectId) .eq(SubConstructionUser::getUserRole, "0") - .isNotNull(SubConstructionUser::getTeamId) - .count(); + .isNotNull(SubConstructionUser::getTeamId).list(); + List sysUserIdList = list.stream().map(SubConstructionUser::getSysUserId).toList(); + int count = list.size(); BigDecimal countDec = BigDecimal.valueOf(count); vo.setPeopleCount(countDec); // 获取考勤数据 @@ -159,13 +161,16 @@ public class ProjectBigScreenServiceImpl implements ProjectBigScreenService { List memberList = projectTeamMemberService.lambdaQuery() .select(BusProjectTeamMember::getId, BusProjectTeamMember::getTeamId) .eq(BusProjectTeamMember::getProjectId, projectId) + .in(BusProjectTeamMember::getMemberId, sysUserIdList) .list(); Map> memberMap = memberList.stream() .collect(Collectors.groupingBy(BusProjectTeamMember::getTeamId)); // 统计班组考勤数据 Map> userTeamMap = new HashMap<>(); if (CollUtil.isNotEmpty(attendancePeopleList)) { - List users = constructionUserService.listByIds(attendancePeopleList); + List users = constructionUserService.lambdaQuery() + .in(SubConstructionUser::getSysUserId, attendancePeopleList) + .list(); userTeamMap = users.stream() .collect(Collectors.groupingBy(SubConstructionUser::getTeamId)); } @@ -176,7 +181,7 @@ public class ProjectBigScreenServiceImpl implements ProjectBigScreenService { String punchTime = ""; if (punchRange != null) { String start = punchRange.split(",")[0]; - punchTime = LocalDate.now() + " " + start; + punchTime = LocalDate.now() + " "; } List listVo = new ArrayList<>(); for (BusProjectTeam projectTeam : teamList) {