| | |
| | | package com.ruoyi.system.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.ruoyi.common.annotation.DataScope; |
| | | import com.ruoyi.common.basic.PageInfo; |
| | |
| | | import com.ruoyi.common.core.domain.entity.SysRole; |
| | | import com.ruoyi.common.core.domain.entity.SysUser; |
| | | import com.ruoyi.common.exception.ServiceException; |
| | | import com.ruoyi.common.utils.DateUtils; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.common.utils.bean.BeanValidators; |
| | | import com.ruoyi.common.utils.spring.SpringUtils; |
| | | import com.ruoyi.system.applet.query.DataReportQuery; |
| | | import com.ruoyi.system.applet.vo.TaskFinishListVO; |
| | | import com.ruoyi.system.domain.SysPost; |
| | | import com.ruoyi.system.domain.SysUserPost; |
| | | import com.ruoyi.system.domain.SysUserRole; |
| | | import com.ruoyi.system.mapper.SysPostMapper; |
| | | import com.ruoyi.system.mapper.SysRoleMapper; |
| | | import com.ruoyi.system.mapper.SysUserMapper; |
| | | import com.ruoyi.system.mapper.SysUserPostMapper; |
| | | import com.ruoyi.system.mapper.SysUserRoleMapper; |
| | | import com.ruoyi.system.mapper.*; |
| | | import com.ruoyi.system.model.TDept; |
| | | import com.ruoyi.system.model.TLeave; |
| | | import com.ruoyi.system.model.TProjectDept; |
| | | import com.ruoyi.system.query.SysUserQuery; |
| | | import com.ruoyi.system.service.ISysConfigService; |
| | | import com.ruoyi.system.service.ISysUserService; |
| | |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import javax.validation.Validator; |
| | | import java.time.LocalDateTime; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | |
| | | return userMapper.selectAllList(); |
| | | } |
| | | |
| | | @Autowired |
| | | private TProjectDeptMapper projectDeptMapper; |
| | | @Autowired |
| | | private TDeptMapper deptMapper; |
| | | @Autowired |
| | | private SysUserRoleMapper sysUserRoleMapper; |
| | | @Autowired |
| | | private TLeaveMapper leaveMapper; |
| | | |
| | | @Override |
| | | public PageInfo<SysUserVO> pageList(SysUserQuery query) { |
| | | PageInfo<SysUserVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); |
| | | |
| | | |
| | | List<SysUserVO> list = userMapper.pageList(query,pageInfo); |
| | | if(CollectionUtils.isEmpty(list)){ |
| | | return pageInfo; |
| | | } |
| | | List<Long> userIds = list.stream().map(SysUserVO::getUserId).collect(Collectors.toList()); |
| | | for (SysUserVO sysUserVO : list) { |
| | | TLeave tLeave = leaveMapper.selectOne(new LambdaQueryWrapper<TLeave>() |
| | | .eq(TLeave::getLeavePerson, sysUserVO.getUserId()) |
| | | .eq(TLeave::getAuditStatus, 2) |
| | | .ge(TLeave::getStartTime, DateUtils.getNowDate()) |
| | | .le(TLeave::getEndTime, DateUtils.getNowDate()) |
| | | .last("limit 1")); |
| | | if (tLeave!=null){ |
| | | sysUserVO.setLeaveName("请假中"); |
| | | LocalDateTime startTime = tLeave.getStartTime(); |
| | | LocalDateTime endTime = tLeave.getEndTime(); |
| | | // 转化为yyyy-MM-dd字符串格式 |
| | | sysUserVO.setLeaveTime(startTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))+"至"+endTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); |
| | | }else{ |
| | | sysUserVO.setLeaveName("正常"); |
| | | } |
| | | // todo 查询请假状态 |
| | | SysUserRole temp = sysUserRoleMapper.selectUserRole(sysUserVO.getUserId()); |
| | | if (temp!=null){ |
| | | SysRole sysRole = roleMapper.selectRoleById(temp.getRoleId()); |
| | | if (sysRole!=null){ |
| | | sysUserVO.setRoleName(sysRole.getRoleName()); |
| | | } |
| | | } |
| | | Integer deptType = sysUserVO.getDeptType(); |
| | | if (1==deptType){ |
| | | TProjectDept tProjectDept = projectDeptMapper.selectById(sysUserVO.getDeptId()); |
| | | if (!tProjectDept.getParentId().equals("0")){ |
| | | TProjectDept tProjectDept1 = projectDeptMapper.selectById(tProjectDept.getParentId()); |
| | | sysUserVO.setDeptName(tProjectDept1.getProjectName()+">"+tProjectDept.getProjectName()); |
| | | }else{ |
| | | sysUserVO.setDeptName(tProjectDept.getProjectName()); |
| | | } |
| | | }else{ |
| | | if (sysUserVO.getUserId()==1){ |
| | | sysUserVO.setDeptName("公司"); |
| | | }else{ |
| | | TDept tDept = deptMapper.selectById(sysUserVO.getDeptId()); |
| | | sysUserVO.setDeptName(tDept.getDeptName()); |
| | | } |
| | | |
| | | } |
| | | } |
| | | pageInfo.setRecords(list); |
| | | return pageInfo; |
| | | } |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<SysUser> selectUserByTempLateId(String templateId) { |
| | | return userMapper.selectUserByTempLateId(templateId); |
| | | } |
| | | |
| | | @Override |
| | | public List<SysUser> selectUserByDeptId(String id) { |
| | | return userMapper.selectUserByDeptId(id); |
| | | } |
| | | |
| | | @Override |
| | | public PageInfo<TaskFinishListVO> pageListReport(DataReportQuery query) { |
| | | PageInfo<TaskFinishListVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); |
| | | List<TaskFinishListVO> list = userMapper.pageListReport(query,pageInfo); |
| | | pageInfo.setRecords(list); |
| | | return pageInfo; |
| | | } |
| | | |
| | | @Override |
| | | public SysUser selectByPhone(String phonenumber) { |
| | | return userMapper.selectByPhone(phonenumber); |
| | | } |