获取用户精简信息列表
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.mybatis.core.mapper.BaseMapperX;
|
||||
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.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.UserSimpleRespVO;
|
||||
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.Param;
|
||||
|
||||
@ -95,8 +98,10 @@ public interface AdminUserMapper extends BaseMapperX<AdminUserDO> {
|
||||
|
||||
/**
|
||||
* 获取考勤组里所有的用户
|
||||
* @param groupIds
|
||||
*
|
||||
* @param mpPage
|
||||
* @param dto
|
||||
* @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.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
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.profile.UserProfileUpdatePasswordReqVO;
|
||||
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.dal.dataobject.user.AdminUserDO;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.io.InputStream;
|
||||
@ -300,8 +302,8 @@ public interface AdminUserService {
|
||||
/**
|
||||
* 获取所有人员列表根据考勤组
|
||||
*
|
||||
* @param groupIds
|
||||
* @param dto
|
||||
* @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.StrUtils;
|
||||
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.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.profile.UserProfileUpdatePasswordReqVO;
|
||||
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.tenant.TenantService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.google.common.annotations.VisibleForTesting;
|
||||
import com.xingyuv.http.util.StringUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@ -598,8 +601,8 @@ public class AdminUserServiceImpl implements AdminUserService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AdminUserDO> getAllUserListByGroupIds(List<Long> groupIds) {
|
||||
return userMapper.getAllUserListByGroupIds(groupIds);
|
||||
public IPage<UserSimpleRespVO> getAllUserListByGroupIds(UserPageDTO dto) {
|
||||
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.CollectionUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.date.DateUtils;
|
||||
@ -279,15 +280,19 @@ public class LogStatisticsServiceImpl implements LogStatisticsService {
|
||||
LogRuleDO logRuleDO = logRuleService.getLogRuleByFormId(dto.getFormId());
|
||||
// 判断开始时间是否当天 / 是否本周
|
||||
boolean flag = false;
|
||||
Date begin = DateUtil.parse(dto.getBeginTime(), "yyyy-MM-dd").toJdkDate();
|
||||
List<LogStatisticsDetailsVO> logStatisticsDOS = new ArrayList<>();
|
||||
List<String> dateList = new ArrayList<>();
|
||||
if (ObjectUtil.isNotEmpty(dto.getBeginTime())) {
|
||||
Date begin = DateUtil.parse(dto.getBeginTime(), "yyyy-MM-dd").toJdkDate();
|
||||
Date thisDate = new Date();
|
||||
if (logRuleDO.getType() == 1) {
|
||||
flag = DateUtil.isSameDay(begin, thisDate);
|
||||
} else if (logRuleDO.getType() == 2) {
|
||||
flag = DateUtil.isSameWeek(begin, thisDate, true);
|
||||
}
|
||||
List<String> dateList = DateUtils.betweenDayStrList(dto.getBeginTime(), dto.getEndTime());
|
||||
dateList = DateUtils.betweenDayStrList(dto.getBeginTime(), dto.getEndTime());
|
||||
}
|
||||
|
||||
// 这里将区间转换为具体的日期 因为mysql BETWEEN 会导致索引失效
|
||||
if (flag) {
|
||||
logStatisticsDOS = logStatisticsMapper.getCurrentStatistics(dto.getFormId(), dateList);
|
||||
|
@ -54,19 +54,30 @@
|
||||
</foreach>
|
||||
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 id="getAllUserListByGroupIds"
|
||||
resultType="cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO">
|
||||
select a.*
|
||||
resultType="cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserSimpleRespVO">
|
||||
select a.id,
|
||||
a.nickname,
|
||||
a.dept_id,
|
||||
c.name deptName
|
||||
from system_users as a
|
||||
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>
|
||||
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
|
||||
<foreach collection="groupIds" item="groupId" open="(" close=")" separator=",">
|
||||
<foreach collection="dto.groupIds" item="groupId" open="(" close=")" separator=",">
|
||||
#{groupId}
|
||||
</foreach>
|
||||
</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>
|
||||
</select>
|
||||
</mapper>
|
Loading…
Reference in New Issue
Block a user