From b8334c77646b2475e636d279ee490454db0be6a6 Mon Sep 17 00:00:00 2001 From: zt Date: Wed, 10 Dec 2025 10:14:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bigscreen/controller/UEController.java | 39 +++++++++++++++++++ .../dto/attendance/AttendanceExportDto.java | 6 +++ .../BusProjectTeamMemberVo.java | 12 ++++++ .../impl/BusAttendanceServiceImpl.java | 9 ++++- .../impl/BusProjectTeamMemberServiceImpl.java | 14 +++++-- 5 files changed, 75 insertions(+), 5 deletions(-) create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/controller/UEController.java diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/controller/UEController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/controller/UEController.java new file mode 100644 index 00000000..efc4a1d4 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/controller/UEController.java @@ -0,0 +1,39 @@ +package org.dromara.bigscreen.controller; + +import jakarta.annotation.Resource; +import jakarta.validation.constraints.NotNull; +import lombok.RequiredArgsConstructor; +import org.dromara.bigscreen.domain.vo.ProjectPeopleVo; +import org.dromara.bigscreen.service.ProjectBigScreenService; +import org.dromara.common.core.domain.R; +import org.dromara.project.domain.vo.project.BusProjectVo; +import org.dromara.project.service.IBusProjectService; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * UE大屏 + * + * @author Lion Li + * @date 2025-11-04 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/UE/screen") +public class UEController { + + @Resource + private IBusProjectService projectService; + + + @GetMapping("/projectInfo/{projectId}") + public R getProjectPeople(@NotNull(message = "主键不能为空") + @PathVariable Long projectId) { + return R.ok(projectService.selectById(projectId)); + } + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/dto/attendance/AttendanceExportDto.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/dto/attendance/AttendanceExportDto.java index 63a884d0..8eef9f38 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/dto/attendance/AttendanceExportDto.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/dto/attendance/AttendanceExportDto.java @@ -30,4 +30,10 @@ public class AttendanceExportDto { * 打卡月份 */ private String clockDate; + + + /** + * 人员Id + */ + private Long userId; } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/projectteammember/BusProjectTeamMemberVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/projectteammember/BusProjectTeamMemberVo.java index c576155a..98fd137a 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/projectteammember/BusProjectTeamMemberVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/projectteammember/BusProjectTeamMemberVo.java @@ -94,4 +94,16 @@ public class BusProjectTeamMemberVo implements Serializable { @Translation(type = TransConstant.DICT_TYPE_TO_LABEL, mapper = "typeOfWork",other = "type_of_work") private String typeOfWorkName; + + /** + * 电话 + */ + private String phone; + + + /** + * 入场时间 + */ + private Date entryDate; + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusAttendanceServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusAttendanceServiceImpl.java index 2facfce5..1e5f4cd1 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusAttendanceServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusAttendanceServiceImpl.java @@ -2077,6 +2077,7 @@ public class BusAttendanceServiceImpl extends ServiceImpl wrapper.between(SubConstructionUser::getLeaveDate, startTime, endTime).or() .isNull(SubConstructionUser::getLeaveDate)) .eq(dto.getTeamId() != null, SubConstructionUser::getTeamId, dto.getTeamId()) + .eq(dto.getUserId() != null, SubConstructionUser::getSysUserId, dto.getUserId()) .eq(StrUtil.isNotBlank(dto.getTypeOfWork()), SubConstructionUser::getTypeOfWork, dto.getTypeOfWork()) .like(StringUtils.isNotBlank(dto.getUserName()), SubConstructionUser::getUserName, dto.getUserName()) ); @@ -2369,7 +2370,13 @@ public class BusAttendanceServiceImpl extends ServiceImpl teamMemberIds = projectTeamMemberList.stream().map(BusProjectTeamMember::getMemberId) .distinct().toList(); - List userVos = userService.selectUserByIds(teamMemberIds, null); - Map userVoMap = userVos.stream().collect(Collectors.toMap(SysUserVo::getUserId, userVo -> userVo)); + List list = constructionUserService.lambdaQuery().in(SubConstructionUser::getSysUserId, teamMemberIds).list(); + Map constructionUserMap = list.stream().collect(Collectors.toMap(SubConstructionUser::getSysUserId, constructionUser -> constructionUser)); +// List userVos = userService.selectUserByIds(teamMemberIds, null); +// Map userVoMap = userVos.stream().collect(Collectors.toMap(SysUserVo::getUserId, userVo -> userVo)); // 填充信息 List projectTeamMemberVoList = projectTeamMemberList.stream().map(projectTeamMember -> { BusProjectTeamMemberVo projectTeamMemberVo = new BusProjectTeamMemberVo(); BeanUtils.copyProperties(projectTeamMember, projectTeamMemberVo); Long memberId = projectTeamMember.getMemberId(); String memberName = null; - if (userVoMap.containsKey(memberId)) { - memberName = userVoMap.get(memberId).getNickName(); + if (constructionUserMap.containsKey(memberId)) { + SubConstructionUser constructionUser = constructionUserMap.get(memberId); + memberName = constructionUser.getUserName(); + projectTeamMemberVo.setTypeOfWork(constructionUser.getTypeOfWork()); + projectTeamMemberVo.setPhone(constructionUser.getPhone()); + projectTeamMemberVo.setEntryDate(constructionUser.getEntryDate()); } projectTeamMemberVo.setMemberName(memberName); return projectTeamMemberVo;