修复部分逻辑
This commit is contained in:
@ -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));
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出项目班组列表
|
||||
*/
|
||||
|
@ -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);
|
||||
|
||||
/**
|
||||
* 获取项目班组视图对象
|
||||
*
|
||||
|
@ -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();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取项目班组视图对象
|
||||
*
|
||||
|
@ -118,12 +118,12 @@ public class BusSafetyInspection extends BaseEntity {
|
||||
/**
|
||||
* 检查附件
|
||||
*/
|
||||
private Long checkFile;
|
||||
private String checkFile;
|
||||
|
||||
/**
|
||||
* 整改附件
|
||||
*/
|
||||
private Long rectificationFile;
|
||||
private String rectificationFile;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
|
@ -104,12 +104,12 @@ public class SafetyInspectionCreateReq implements Serializable {
|
||||
/**
|
||||
* 检查附件
|
||||
*/
|
||||
private Long checkFile;
|
||||
private String checkFile;
|
||||
|
||||
/**
|
||||
* 整改附件
|
||||
*/
|
||||
private Long rectificationFile;
|
||||
private String rectificationFile;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
|
@ -109,12 +109,12 @@ public class SafetyInspectionUpdateReq implements Serializable {
|
||||
/**
|
||||
* 检查附件
|
||||
*/
|
||||
private Long checkFile;
|
||||
private String checkFile;
|
||||
|
||||
/**
|
||||
* 整改附件
|
||||
*/
|
||||
private Long rectificationFile;
|
||||
private String rectificationFile;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
|
Reference in New Issue
Block a user