管理员和分包补卡

This commit is contained in:
zt
2025-10-11 20:59:45 +08:00
parent 5df3bb7baf
commit 7824803bf6
9 changed files with 65 additions and 12 deletions

View File

@ -236,4 +236,12 @@ public interface ISubConstructionUserService extends IService<SubConstructionUse
TableDataInfo<SubConstructionUserAppVo> queryUndistributedList(SubConstructionUserQueryReq req, PageQuery pageQuery);
void deleteeBySysUserIds( List<Long> ids);
/**
* 根据系统用户id查询施工人员
*
* @param sysUserId 系统用户id
* @return 施工人员
*/
SubConstructionUser getByUserId(Long sysUserId);
}

View File

@ -1548,4 +1548,12 @@ public class SubConstructionUserServiceImpl extends ServiceImpl<SubConstructionU
this.remove(Wrappers.<SubConstructionUser>lambdaUpdate()
.in(SubConstructionUser::getSysUserId, ids));
}
@Override
public SubConstructionUser getByUserId(Long sysUserId) {
return this.lambdaQuery()
.eq(SubConstructionUser::getSysUserId, sysUserId)
.last("limit 1")
.one();
}
}

View File

@ -78,9 +78,4 @@ public class BusReissueCardQueryReq implements Serializable {
* 日期
*/
private LocalDate date;
/**
* 角色id
*/
private List<Long> roleIds;
}

View File

@ -6,6 +6,8 @@ import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.project.domain.BusProjectTeamMember;
import java.io.Serial;
@ -81,4 +83,15 @@ public class BusProjectTeamMemberVo implements Serializable {
*/
private String avatar;
/**
* 工种id
*/
private String typeOfWork;
/**
* 工种名称
*/
@Translation(type = TransConstant.DICT_TYPE_TO_LABEL, mapper = "typeOfWork",other = "type_of_work")
private String typeOfWorkName;
}

View File

@ -39,6 +39,7 @@ import org.dromara.project.domain.vo.leave.BusLeaveVo;
import org.dromara.project.domain.vo.reissuecard.BusReissueCardVo;
import org.dromara.project.mapper.BusLeaveMapper;
import org.dromara.project.service.*;
import org.dromara.system.service.ISysRoleService;
import org.dromara.workflow.domain.TestLeave;
import org.springframework.beans.BeanUtils;
import org.springframework.context.annotation.Lazy;
@ -78,10 +79,11 @@ public class BusLeaveServiceImpl extends ServiceImpl<BusLeaveMapper, BusLeave>
private ISubConstructionUserService constructionUserService;
@Resource
private ISubContractorService contractorService;
private IBusUserProjectRelevancyService userProjectRelevancyService;
@Resource
private ISysRoleService roleService;
/**
* 查询施工人员请假申请
*
@ -458,7 +460,9 @@ public class BusLeaveServiceImpl extends ServiceImpl<BusLeaveMapper, BusLeave>
@Override
public TableDataInfo<BusLeaveVo> listByAuditRole(BusLeaveQueryReq req, PageQuery pageQuery) {
//两个角色 一个审核分包的=6一个审核管理的=7
List<Long> roleIds = req.getRoleIds();
Long userId = LoginHelper.getUserId();
List<Long> roleIds = roleService.selectRoleIdsByUserIdAndProjectId(userId, req.getProjectId());
List<String> type = new ArrayList<>();
if(roleIds.contains(7L)){
type.add("7");

View File

@ -378,9 +378,10 @@ public class BusProjectTeamMemberServiceImpl extends ServiceImpl<BusProjectTeamM
projectTeamMemberVo.setAvatar(byId.getUrl());
}
}
} else {
SubConstructionUser user = constructionUserService.getBySysUserId(memberId);
projectTeamMemberVo.setMemberName(user.getUserName());
}
SubConstructionUser byUserId = constructionUserService.getByUserId(memberId);
if (byUserId != null) {
projectTeamMemberVo.setTypeOfWork(byUserId.getTypeOfWork());
}
return projectTeamMemberVo;
}

View File

@ -21,6 +21,7 @@ import org.dromara.common.core.utils.ObjectUtils;
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.contractor.domain.SubConstructionUser;
import org.dromara.contractor.service.ISubConstructionUserService;
import org.dromara.contractor.service.ISubUserSalaryDetailService;
@ -39,6 +40,7 @@ import org.dromara.project.service.*;
import org.dromara.system.domain.vo.SysOssVo;
import org.dromara.system.domain.vo.SysUserVo;
import org.dromara.system.service.ISysOssService;
import org.dromara.system.service.ISysRoleService;
import org.dromara.system.service.ISysUserService;
import org.dromara.websocket.ChatServerHandler;
import org.springframework.beans.BeanUtils;
@ -89,6 +91,9 @@ public class BusReissueCardServiceImpl extends ServiceImpl<BusReissueCardMapper,
@Resource
private ISubConstructionUserService constructionUserService;
@Resource
private ISysRoleService roleService;
/**
* 查询施工人员补卡申请
*
@ -365,8 +370,11 @@ public class BusReissueCardServiceImpl extends ServiceImpl<BusReissueCardMapper,
@Override
public TableDataInfo<BusReissueCardVo> listByAuditRole(BusReissueCardQueryReq req, PageQuery pageQuery) {
Long userId = LoginHelper.getUserId();
List<Long> roleIds = roleService.selectRoleIdsByUserIdAndProjectId(userId, req.getProjectId());
//两个角色 一个审核分包的=6一个审核管理的=7
List<Long> roleIds = req.getRoleIds();
List<String> type = new ArrayList<>();
if(roleIds.contains(7L)){
type.add("7");

View File

@ -215,4 +215,7 @@ public interface ISysRoleService {
* 批量删除审核审定校审
*/
void deleteDesignUser(Long projectId);
List<Long> selectRoleIdsByUserIdAndProjectId(Long userId,Long projectId);
}

View File

@ -640,4 +640,17 @@ public class SysRoleServiceImpl implements ISysRoleService, RoleService {
.in(SysUserRole::getRoleId, list1)
);
}
@Override
public List<Long> selectRoleIdsByUserIdAndProjectId(Long userId, Long projectId) {
List<SysUserRole> sysUserRoles = userRoleMapper.selectList(Wrappers.lambdaQuery(SysUserRole.class)
.eq(SysUserRole::getUserId, userId)
.eq(SysUserRole::getProjectId, projectId)
);
if (CollUtil.isNotEmpty(sysUserRoles)) {
return sysUserRoles.stream().map(SysUserRole::getRoleId).toList();
}
return List.of();
}
}