无关风月
5 小时以前 5e2d78f61bf7d1513d5d5c8cd55442133a6e898e
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -13,6 +13,8 @@
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;
@@ -32,6 +34,8 @@
import org.springframework.util.CollectionUtils;
import javax.validation.Validator;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
@@ -662,16 +666,21 @@
        PageInfo<SysUserVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<SysUserVO> list = userMapper.pageList(query);
        List<SysUserVO> list = userMapper.pageList(query,pageInfo);
        if(CollectionUtils.isEmpty(list)){
            return pageInfo;
        }
        LocalDate now = LocalDate.now();
        // 转化为yyyy-MM-dd字符串格式
        String nowStr = now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
        String start = nowStr+" :00:00:00";
        String end = nowStr+" :23:59:59";
        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())
                    .ge(TLeave::getStartTime, start)
                    .le(TLeave::getEndTime, end)
                    .last("limit 1"));
            if (tLeave!=null){
                sysUserVO.setLeaveName("请假中");
@@ -690,29 +699,29 @@
                     sysUserVO.setRoleName(sysRole.getRoleName());
                }
            }
            String deptType = sysUserVO.getDeptType();
            if (org.springframework.util.StringUtils.hasLength(deptType)){
                if ("1".equals(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());
                    }
            Integer deptType = sysUserVO.getDeptType();
                if (1==deptType){
                        TProjectDept tProjectDept = projectDeptMapper.selectById(sysUserVO.getDeptId());
                        if (!tProjectDept.getParentId().equals("0")){
                            TProjectDept tProjectDept1 = projectDeptMapper.selectById(tProjectDept.getParentId());
                            if (tProjectDept1!=null){
                                sysUserVO.setDeptName(tProjectDept1.getProjectName()+">"+tProjectDept.getProjectName());
                            }else{
                                sysUserVO.setDeptName(tProjectDept.getProjectName());
                            }
                        }else{
                            sysUserVO.setDeptName(tProjectDept.getProjectName());
                        }
                }else{
                    TDept tDept = deptMapper.selectById(sysUserVO.getDeptId());
                     sysUserVO.setDeptName(tDept.getDeptName());
                    if (sysUserVO.getUserId()==1){
                        sysUserVO.setDeptName("公司");
                    }else{
                        TDept tDept = deptMapper.selectById(sysUserVO.getDeptId());
                        sysUserVO.setDeptName(tDept.getDeptName());
                    }
                }
            }
        }
        pageInfo.setTotal(list.size());
        if (org.springframework.util.StringUtils.hasLength(query.getDeptName())){
            List<SysUserVO> collect = list.stream().filter(sysUserVO -> sysUserVO.getDeptName().contains(query.getDeptName())).collect(Collectors.toList());
            pageInfo.setTotal(collect.size());
            // 手动分页
            list = collect.stream().skip((long) (query.getPageNum() - 1) * query.getPageSize()).limit(query.getPageSize()).collect(Collectors.toList());
        }
        pageInfo.setRecords(list);
        return pageInfo;
    }
@@ -728,6 +737,49 @@
    }
    @Override
    public List<SysUser> selectUserByTempLateId(String templateId) {
        return userMapper.selectUserByTempLateId(templateId);
    }
    @Override
    public List<SysUser> selectListByDeptId(String deptId) {
        return userMapper.selectListByDeptId(deptId);
    }
    @Override
    public List<SysUser> selectListByDeptType(Integer deptType) {
        return userMapper.selectListByDeptType(deptType);
    }
    @Override
    public List<SysUser> selectListByDeptIds(List<String> projectIds) {
        return userMapper.selectListByDeptIds(projectIds);
    }
    @Override
    public List<SysUser> selectUserByDeptId(List<String> ids) {
        return userMapper.selectUserByDeptId(ids);
    }
    @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 Integer selectUserCount(List<String> projectId, Integer deptType) {
        return userMapper.selectUserCount(projectId,deptType);
    }
    @Override
    public List<SysUser> selectUserByNickName(String nickName) {
        return userMapper.selectUserByNickName(nickName);
    }
    @Override
    public SysUser selectByPhone(String phonenumber) {
        return userMapper.selectByPhone(phonenumber);
    }