获取用户精简信息列表
This commit is contained in:
parent
9ba88d2b98
commit
c347e9a1bb
@ -0,0 +1,17 @@
|
|||||||
|
package cn.iocoder.yudao.module.system.controller.admin.user.dto;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class UserPageDTO extends PageParam {
|
||||||
|
@Schema(description = "考勤组ids")
|
||||||
|
private List<Long> groupIds;
|
||||||
|
@Schema(description = "用户名称")
|
||||||
|
private String name;
|
||||||
|
@Schema(description = "状态(0正常 1停用)不传则全部", example = "1")
|
||||||
|
private Integer status;
|
||||||
|
}
|
@ -3,10 +3,13 @@ package cn.iocoder.yudao.module.system.dal.mysql.user;
|
|||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
|
import cn.iocoder.yudao.module.system.controller.admin.user.dto.UserPageDTO;
|
||||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.factoryUser.FactoryUserPageReqVO;
|
import cn.iocoder.yudao.module.system.controller.admin.user.vo.factoryUser.FactoryUserPageReqVO;
|
||||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserPageReqVO;
|
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserPageReqVO;
|
||||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserRespVO;
|
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserRespVO;
|
||||||
|
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserSimpleRespVO;
|
||||||
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
|
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
@ -95,8 +98,10 @@ public interface AdminUserMapper extends BaseMapperX<AdminUserDO> {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取考勤组里所有的用户
|
* 获取考勤组里所有的用户
|
||||||
* @param groupIds
|
*
|
||||||
|
* @param mpPage
|
||||||
|
* @param dto
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<AdminUserDO> getAllUserListByGroupIds(@Param("groupIds") List<Long> groupIds);
|
IPage<UserSimpleRespVO> getAllUserListByGroupIds(@Param("mpPage") IPage mpPage, @Param("dto") UserPageDTO dto);
|
||||||
}
|
}
|
||||||
|
@ -3,11 +3,13 @@ package cn.iocoder.yudao.module.system.service.user;
|
|||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
|
import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
|
||||||
|
import cn.iocoder.yudao.module.system.controller.admin.user.dto.UserPageDTO;
|
||||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.factoryUser.FactoryUserPageReqVO;
|
import cn.iocoder.yudao.module.system.controller.admin.user.vo.factoryUser.FactoryUserPageReqVO;
|
||||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdatePasswordReqVO;
|
import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdatePasswordReqVO;
|
||||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO;
|
import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO;
|
||||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.*;
|
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.*;
|
||||||
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
|
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
@ -300,8 +302,8 @@ public interface AdminUserService {
|
|||||||
/**
|
/**
|
||||||
* 获取所有人员列表根据考勤组
|
* 获取所有人员列表根据考勤组
|
||||||
*
|
*
|
||||||
* @param groupIds
|
* @param dto
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<AdminUserDO> getAllUserListByGroupIds(List<Long> groupIds);
|
IPage<UserSimpleRespVO> getAllUserListByGroupIds(UserPageDTO dto);
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,9 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|||||||
import cn.iocoder.yudao.framework.common.util.string.DTO.IdCardDO;
|
import cn.iocoder.yudao.framework.common.util.string.DTO.IdCardDO;
|
||||||
import cn.iocoder.yudao.framework.common.util.string.StrUtils;
|
import cn.iocoder.yudao.framework.common.util.string.StrUtils;
|
||||||
import cn.iocoder.yudao.framework.datapermission.core.util.DataPermissionUtils;
|
import cn.iocoder.yudao.framework.datapermission.core.util.DataPermissionUtils;
|
||||||
|
import cn.iocoder.yudao.framework.mybatis.core.util.MyBatisUtils;
|
||||||
import cn.iocoder.yudao.module.infra.api.file.FileApi;
|
import cn.iocoder.yudao.module.infra.api.file.FileApi;
|
||||||
|
import cn.iocoder.yudao.module.system.controller.admin.user.dto.UserPageDTO;
|
||||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.factoryUser.FactoryUserPageReqVO;
|
import cn.iocoder.yudao.module.system.controller.admin.user.vo.factoryUser.FactoryUserPageReqVO;
|
||||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdatePasswordReqVO;
|
import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdatePasswordReqVO;
|
||||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO;
|
import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO;
|
||||||
@ -27,6 +29,7 @@ import cn.iocoder.yudao.module.system.service.dept.PostService;
|
|||||||
import cn.iocoder.yudao.module.system.service.permission.PermissionService;
|
import cn.iocoder.yudao.module.system.service.permission.PermissionService;
|
||||||
import cn.iocoder.yudao.module.system.service.tenant.TenantService;
|
import cn.iocoder.yudao.module.system.service.tenant.TenantService;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
import com.xingyuv.http.util.StringUtil;
|
import com.xingyuv.http.util.StringUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@ -598,8 +601,8 @@ public class AdminUserServiceImpl implements AdminUserService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<AdminUserDO> getAllUserListByGroupIds(List<Long> groupIds) {
|
public IPage<UserSimpleRespVO> getAllUserListByGroupIds(UserPageDTO dto) {
|
||||||
return userMapper.getAllUserListByGroupIds(groupIds);
|
return userMapper.getAllUserListByGroupIds(MyBatisUtils.buildPage(dto), dto);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
|
|||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
import cn.iocoder.yudao.framework.common.util.date.DateUtils;
|
import cn.iocoder.yudao.framework.common.util.date.DateUtils;
|
||||||
@ -279,15 +280,19 @@ public class LogStatisticsServiceImpl implements LogStatisticsService {
|
|||||||
LogRuleDO logRuleDO = logRuleService.getLogRuleByFormId(dto.getFormId());
|
LogRuleDO logRuleDO = logRuleService.getLogRuleByFormId(dto.getFormId());
|
||||||
// 判断开始时间是否当天 / 是否本周
|
// 判断开始时间是否当天 / 是否本周
|
||||||
boolean flag = false;
|
boolean flag = false;
|
||||||
Date begin = DateUtil.parse(dto.getBeginTime(), "yyyy-MM-dd").toJdkDate();
|
|
||||||
List<LogStatisticsDetailsVO> logStatisticsDOS = new ArrayList<>();
|
List<LogStatisticsDetailsVO> logStatisticsDOS = new ArrayList<>();
|
||||||
Date thisDate = new Date();
|
List<String> dateList = new ArrayList<>();
|
||||||
if (logRuleDO.getType() == 1) {
|
if (ObjectUtil.isNotEmpty(dto.getBeginTime())) {
|
||||||
flag = DateUtil.isSameDay(begin, thisDate);
|
Date begin = DateUtil.parse(dto.getBeginTime(), "yyyy-MM-dd").toJdkDate();
|
||||||
} else if (logRuleDO.getType() == 2) {
|
Date thisDate = new Date();
|
||||||
flag = DateUtil.isSameWeek(begin, thisDate, true);
|
if (logRuleDO.getType() == 1) {
|
||||||
|
flag = DateUtil.isSameDay(begin, thisDate);
|
||||||
|
} else if (logRuleDO.getType() == 2) {
|
||||||
|
flag = DateUtil.isSameWeek(begin, thisDate, true);
|
||||||
|
}
|
||||||
|
dateList = DateUtils.betweenDayStrList(dto.getBeginTime(), dto.getEndTime());
|
||||||
}
|
}
|
||||||
List<String> dateList = DateUtils.betweenDayStrList(dto.getBeginTime(), dto.getEndTime());
|
|
||||||
// 这里将区间转换为具体的日期 因为mysql BETWEEN 会导致索引失效
|
// 这里将区间转换为具体的日期 因为mysql BETWEEN 会导致索引失效
|
||||||
if (flag) {
|
if (flag) {
|
||||||
logStatisticsDOS = logStatisticsMapper.getCurrentStatistics(dto.getFormId(), dateList);
|
logStatisticsDOS = logStatisticsMapper.getCurrentStatistics(dto.getFormId(), dateList);
|
||||||
|
@ -54,19 +54,30 @@
|
|||||||
</foreach>
|
</foreach>
|
||||||
and not exists(select id from kq_attendance_group_user where user_id = a.id and attendance_group_id != #{groupId} and deleted = 0)
|
and not exists(select id from kq_attendance_group_user where user_id = a.id and attendance_group_id != #{groupId} and deleted = 0)
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getAllUserListByGroupIds"
|
<select id="getAllUserListByGroupIds"
|
||||||
resultType="cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO">
|
resultType="cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserSimpleRespVO">
|
||||||
select a.*
|
select a.id,
|
||||||
|
a.nickname,
|
||||||
|
a.dept_id,
|
||||||
|
c.name deptName
|
||||||
from system_users as a
|
from system_users as a
|
||||||
left join kq_attendance_group_user b on a.id = b.user_id
|
left join kq_attendance_group_user b on a.id = b.user_id
|
||||||
|
left join system_dept as c on a.dept_id = c.id
|
||||||
<where>
|
<where>
|
||||||
a.deleted = 0 and b.deleted = 0
|
a.deleted = 0 and b.deleted = 0
|
||||||
<if test="groupIds != null and groupIds.size() > 0">
|
<if test="dto.groupIds != null and dto.groupIds.size() > 0">
|
||||||
and b.attendance_group_id in
|
and b.attendance_group_id in
|
||||||
<foreach collection="groupIds" item="groupId" open="(" close=")" separator=",">
|
<foreach collection="dto.groupIds" item="groupId" open="(" close=")" separator=",">
|
||||||
#{groupId}
|
#{groupId}
|
||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
|
<if test="dto.name != null and dto.name != ''">
|
||||||
|
and a.nickname like concat('%', #{dto.name}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="dto.status != null">
|
||||||
|
and a.status = #{dto.status}
|
||||||
|
</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
Loading…
Reference in New Issue
Block a user