This commit is contained in:
zt
2025-12-10 10:14:08 +08:00
parent 48338278f0
commit b8334c7764
5 changed files with 75 additions and 5 deletions

View File

@ -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<BusProjectVo> getProjectPeople(@NotNull(message = "主键不能为空")
@PathVariable Long projectId) {
return R.ok(projectService.selectById(projectId));
}
}

View File

@ -30,4 +30,10 @@ public class AttendanceExportDto {
* 打卡月份
*/
private String clockDate;
/**
* 人员Id
*/
private Long userId;
}

View File

@ -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;
}

View File

@ -2077,6 +2077,7 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B
.and(wrapper -> 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<BusAttendanceMapper, B
int index = row.getRowNum() - 2;
row.createCell(0).setCellValue(index);
row.createCell(1).setCellValue(user.getUserName());
row.createCell(2).setCellValue(idCardEncryptorUtil.decrypt(user.getSfzNumber()));
String decrypt = "";
try {
decrypt = idCardEncryptorUtil.decrypt(user.getSfzNumber());
}catch (Exception e){
}
row.createCell(2).setCellValue(decrypt);
for (int i = 1; i <= daysInMonth; i++) {
LocalDate date = start.plusDays(i - 1);

View File

@ -491,16 +491,22 @@ public class BusProjectTeamMemberServiceImpl extends ServiceImpl<BusProjectTeamM
// 关联查询施工人员信息
List<Long> teamMemberIds = projectTeamMemberList.stream().map(BusProjectTeamMember::getMemberId)
.distinct().toList();
List<SysUserVo> userVos = userService.selectUserByIds(teamMemberIds, null);
Map<Long, SysUserVo> userVoMap = userVos.stream().collect(Collectors.toMap(SysUserVo::getUserId, userVo -> userVo));
List<SubConstructionUser> list = constructionUserService.lambdaQuery().in(SubConstructionUser::getSysUserId, teamMemberIds).list();
Map<Long, SubConstructionUser> constructionUserMap = list.stream().collect(Collectors.toMap(SubConstructionUser::getSysUserId, constructionUser -> constructionUser));
// List<SysUserVo> userVos = userService.selectUserByIds(teamMemberIds, null);
// Map<Long, SysUserVo> userVoMap = userVos.stream().collect(Collectors.toMap(SysUserVo::getUserId, userVo -> userVo));
// 填充信息
List<BusProjectTeamMemberVo> 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;