修复部分逻辑

This commit is contained in:
lcj
2025-03-21 18:20:58 +08:00
parent 1bbae0fb3a
commit 510c431f79
6 changed files with 85 additions and 6 deletions

View File

@ -18,6 +18,7 @@ import org.dromara.common.web.core.BaseController;
import org.dromara.project.domain.req.projectteam.ProjectTeamCreateReq;
import org.dromara.project.domain.req.projectteam.ProjectTeamQueryReq;
import org.dromara.project.domain.req.projectteam.ProjectTeamUpdateReq;
import org.dromara.project.domain.resp.projectteam.ProjectTeamForemanResp;
import org.dromara.project.domain.vo.BusProjectTeamVo;
import org.dromara.project.service.IBusProjectTeamService;
import org.springframework.validation.annotation.Validated;
@ -48,6 +49,16 @@ public class BusProjectTeamController extends BaseController {
return busProjectTeamService.queryPageList(req, pageQuery);
}
/**
* 根据项目id查询项目班组班组长信息列表
*/
@SaCheckPermission("project:projectTeam:list")
@GetMapping("/listForeman/{projectId}")
public R<List<ProjectTeamForemanResp>> listForeman(@NotNull(message = "项目id不能为空")
@PathVariable Long projectId) {
return R.ok(busProjectTeamService.queryForemanList(projectId));
}
/**
* 导出项目班组列表
*/

View File

@ -9,6 +9,7 @@ import org.dromara.project.domain.BusProjectTeam;
import org.dromara.project.domain.req.projectteam.ProjectTeamCreateReq;
import org.dromara.project.domain.req.projectteam.ProjectTeamQueryReq;
import org.dromara.project.domain.req.projectteam.ProjectTeamUpdateReq;
import org.dromara.project.domain.resp.projectteam.ProjectTeamForemanResp;
import org.dromara.project.domain.vo.BusProjectTeamVo;
import java.util.Collection;
@ -72,6 +73,14 @@ public interface IBusProjectTeamService extends IService<BusProjectTeam> {
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
/**
* 查询项目班组和班组长分页列表
*
* @param projectId 项目id
* @return 项目班组和班组长分页列表
*/
List<ProjectTeamForemanResp> queryForemanList(Long projectId);
/**
* 获取项目班组视图对象
*

View File

@ -3,6 +3,7 @@ package org.dromara.project.service.impl;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jakarta.annotation.Resource;
@ -13,20 +14,30 @@ import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.project.domain.BusConstructionUser;
import org.dromara.project.domain.BusProjectTeam;
import org.dromara.project.domain.BusProjectTeamMember;
import org.dromara.project.domain.enums.ProjectTeamMemberPostEnum;
import org.dromara.project.domain.req.projectteam.ProjectTeamCreateReq;
import org.dromara.project.domain.req.projectteam.ProjectTeamQueryReq;
import org.dromara.project.domain.req.projectteam.ProjectTeamUpdateReq;
import org.dromara.project.domain.resp.projectteam.ProjectTeamForemanResp;
import org.dromara.project.domain.vo.BusProjectTeamVo;
import org.dromara.project.mapper.BusProjectTeamMapper;
import org.dromara.project.service.IBusConstructionUserService;
import org.dromara.project.service.IBusProjectService;
import org.dromara.project.service.IBusProjectTeamMemberService;
import org.dromara.project.service.IBusProjectTeamService;
import org.springframework.beans.BeanUtils;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
/**
* 项目班组Service业务层处理
@ -41,6 +52,14 @@ public class BusProjectTeamServiceImpl extends ServiceImpl<BusProjectTeamMapper,
@Resource
private IBusProjectService projectService;
@Lazy
@Resource
private IBusProjectTeamMemberService projectTeamMemberService;
@Lazy
@Resource
private IBusConstructionUserService constructionUserService;
/**
* 查询项目班组
*
@ -180,6 +199,46 @@ public class BusProjectTeamServiceImpl extends ServiceImpl<BusProjectTeamMapper,
return this.removeBatchByIds(ids);
}
/**
* 查询项目班组和班组长分页列表
*
* @param projectId 项目id
* @return 项目班组和班组长分页列表
*/
@Override
public List<ProjectTeamForemanResp> queryForemanList(Long projectId) {
List<BusProjectTeam> projectTeamList = this.list(Wrappers.lambdaQuery(BusProjectTeam.class).eq(BusProjectTeam::getProjectId, projectId));
if (CollUtil.isEmpty(projectTeamList)) {
return List.of();
}
// 获取项目班组id列表
List<Long> teamIdList = projectTeamList.stream().map(BusProjectTeam::getId).toList();
// 获取项目班组班组长id列表
LambdaQueryWrapper<BusProjectTeamMember> lqw = Wrappers.lambdaQuery(BusProjectTeamMember.class)
.select(BusProjectTeamMember::getMemberId)
.eq(BusProjectTeamMember::getProjectId, projectId)
.in(BusProjectTeamMember::getTeamId, teamIdList)
.eq(BusProjectTeamMember::getPostId, ProjectTeamMemberPostEnum.FOREMAN.getValue());
Set<Long> foremanIdList = projectTeamMemberService.list(lqw).stream()
.map(BusProjectTeamMember::getMemberId).collect(Collectors.toSet());
// 获取项目班组长信息
Map<Long, List<BusConstructionUser>> foremanMap = constructionUserService.listByIds(foremanIdList).stream()
.collect(Collectors.groupingBy(BusConstructionUser::getTeamId));
// 封装数据
return projectTeamList.stream().map(projectTeam -> {
ProjectTeamForemanResp projectTeamForemanResp = new ProjectTeamForemanResp();
projectTeamForemanResp.setId(projectTeam.getId());
projectTeamForemanResp.setTeamName(projectTeam.getTeamName());
projectTeamForemanResp.setProjectId(projectTeam.getProjectId());
if (foremanMap.containsKey(projectTeam.getId())) {
BusConstructionUser constructionUser = foremanMap.get(projectTeam.getId()).get(0);
projectTeamForemanResp.setForemanId(constructionUser.getId());
projectTeamForemanResp.setForemanName(constructionUser.getUserName());
}
return projectTeamForemanResp;
}).toList();
}
/**
* 获取项目班组视图对象
*

View File

@ -118,12 +118,12 @@ public class BusSafetyInspection extends BaseEntity {
/**
* 检查附件
*/
private Long checkFile;
private String checkFile;
/**
* 整改附件
*/
private Long rectificationFile;
private String rectificationFile;
/**
* 备注

View File

@ -104,12 +104,12 @@ public class SafetyInspectionCreateReq implements Serializable {
/**
* 检查附件
*/
private Long checkFile;
private String checkFile;
/**
* 整改附件
*/
private Long rectificationFile;
private String rectificationFile;
/**
* 备注

View File

@ -109,12 +109,12 @@ public class SafetyInspectionUpdateReq implements Serializable {
/**
* 检查附件
*/
private Long checkFile;
private String checkFile;
/**
* 整改附件
*/
private Long rectificationFile;
private String rectificationFile;
/**
* 备注