无关风月
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("请假中");
@@ -695,7 +704,11 @@
                        TProjectDept tProjectDept = projectDeptMapper.selectById(sysUserVO.getDeptId());
                        if (!tProjectDept.getParentId().equals("0")){
                            TProjectDept tProjectDept1 = projectDeptMapper.selectById(tProjectDept.getParentId());
                            sysUserVO.setDeptName(tProjectDept1.getProjectName()+">"+tProjectDept.getProjectName());
                            if (tProjectDept1!=null){
                                sysUserVO.setDeptName(tProjectDept1.getProjectName()+">"+tProjectDept.getProjectName());
                            }else{
                                sysUserVO.setDeptName(tProjectDept.getProjectName());
                            }
                        }else{
                            sysUserVO.setDeptName(tProjectDept.getProjectName());
                        }
@@ -709,13 +722,6 @@
                }
            }
        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;
    }
@@ -751,6 +757,29 @@
    }
    @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);
    }