12-17-人员管理大屏-修复循环注入版-修复timeType版-消息回复-完善-修复版-优化分包公司查询版

This commit is contained in:
2025-12-17 20:09:00 +08:00
parent c5bf75a6eb
commit 61c2cdd56a
2 changed files with 14 additions and 12 deletions

View File

@ -9,6 +9,8 @@ import org.dromara.project.domain.BusAttendance;
import org.dromara.project.domain.bo.BusAttendanceBo;
import org.dromara.project.domain.vo.BusAttendanceVo;
import java.util.List;
/**
* 考勤Mapper接口
*
@ -20,6 +22,6 @@ public interface BusAttendanceMapper extends BaseMapperPlus<BusAttendance, BusAt
Page<BusAttendanceVo> queryPageList(BusAttendanceBo bo, PageQuery pageQuery);
@Select("select * from sub_contractor where id = #{id}")
SubContractor getSubContractor(Long id);
@Select("select * from sub_contractor")
List<SubContractor> getSubContractor();
}

View File

@ -2877,6 +2877,8 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B
List<SubConstructionUser> list = constructionUserService.list(lqw);
//先查询出用户列表
List<SysUserVo> users = userMapper.selectVoList(Wrappers.lambdaQuery());
//查询分包公司用于填充名称
List<SubContractor> subContractors = baseMapper.getSubContractor();
//根据分包和班组的id进行分类 统计都有多少人 未入场人员没有两项数据 无法统计 仅能计算为总数
List<RyglWebSocketVo> fbList = new ArrayList<>();
List<RyglWebSocketVo> bzList = new ArrayList<>();
@ -2893,15 +2895,11 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B
if (sysUserVo == null){
continue;
}
// SysUserVo sysUserVo = userService.queryById(constructionUser.getSysUserId());
// if (sysUserVo == null){
// continue;
// }
//判断userType app用户类型 0-施工人员 1-管理人员 2-分包人员
if (sysUserVo.getAppUserType().equals("0")){
checkAndSetValue(bzList,constructionUser,0,timeType,projectId);
checkAndSetValue(bzList,constructionUser,0,timeType,projectId,subContractors);
}else if (sysUserVo.getAppUserType().equals("2")){
checkAndSetValue(fbList,constructionUser,2,timeType,projectId);
checkAndSetValue(fbList,constructionUser,2,timeType,projectId,subContractors);
}
}
@ -2966,7 +2964,7 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B
/**
* getAttendanceInfo附属方法
*/
private void checkAndSetValue(List<RyglWebSocketVo> ryglWebSocketVoList, SubConstructionUser info,int type,Long time,Long projectId){
private void checkAndSetValue(List<RyglWebSocketVo> ryglWebSocketVoList, SubConstructionUser info,int type,Long time,Long projectId,List<SubContractor> SubContractors){
//timeType 1:今天 2:本周 3:本月 此参数的校验放在连接时获取参数进行校验
if (time == 2L) {
// 获取本周一到今天的天数
@ -2995,9 +2993,11 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B
ryglWebSocketVo.setZzId(info.getContractorId());
//分包组织名称
if (info.getContractorId() != null) {
SubContractor byId = baseMapper.getSubContractor(info.getContractorId());
if (byId != null) {
ryglWebSocketVo.setZzmc(byId.getName());
for (SubContractor subContractor : SubContractors) {
if (subContractor.getId().equals(info.getContractorId())) {
ryglWebSocketVo.setZzmc(subContractor.getName());
}
break;
}
}
//总人数 先设置1