| | |
| | | package cn.iocoder.yudao.module.hrm.dal.mysql.employee; |
| | | |
| | | import cn.hutool.core.util.StrUtil; |
| | | 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.hrm.dal.dataobject.employee.HrmEmployeeDO; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | import java.util.Collection; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | |
| | | default HrmEmployeeDO selectByPhone(String phone) { |
| | | return selectOne(HrmEmployeeDO::getPhone, phone); |
| | | } |
| | | |
| | | default HrmEmployeeDO selectByName(String name) { |
| | | return selectOne(HrmEmployeeDO::getName, name); |
| | | } |
| | | |
| | | default List<HrmEmployeeDO> selectListByName(String name) { |
| | | return selectList(HrmEmployeeDO::getName, name); |
| | | } |
| | | |
| | | default HrmEmployeeDO selectByEmployeeNo(String employeeNo) { |
| | |
| | | } |
| | | |
| | | default PageResult<HrmEmployeeDO> selectPage(HrmEmployeePageReqVO reqVO) { |
| | | return selectPage(reqVO, new LambdaQueryWrapperX<HrmEmployeeDO>() |
| | | LambdaQueryWrapperX<HrmEmployeeDO> wrapper = new LambdaQueryWrapperX<HrmEmployeeDO>() |
| | | .likeIfPresent(HrmEmployeeDO::getEmployeeNo, reqVO.getEmployeeNo()) |
| | | .likeIfPresent(HrmEmployeeDO::getName, reqVO.getName()) |
| | | .eqIfPresent(HrmEmployeeDO::getDeptId, reqVO.getDeptId()) |
| | | .eqIfPresent(HrmEmployeeDO::getEmployeeStatus, reqVO.getEmployeeStatus()) |
| | | .orderByDesc(HrmEmployeeDO::getId)); |
| | | .eqIfPresent(HrmEmployeeDO::getEmployeeStatus, reqVO.getEmployeeStatus()); |
| | | appendKeyword(wrapper, reqVO.getKeyword()); |
| | | wrapper.orderByDesc(HrmEmployeeDO::getId); |
| | | return selectPage(reqVO, wrapper); |
| | | } |
| | | |
| | | /** |
| | | * 按部门集合(含子部门)分页查询员工 |
| | | */ |
| | | default PageResult<HrmEmployeeDO> selectPageByDeptIds(HrmEmployeePageReqVO reqVO, Collection<Long> deptIds) { |
| | | LambdaQueryWrapperX<HrmEmployeeDO> wrapper = new LambdaQueryWrapperX<HrmEmployeeDO>() |
| | | .likeIfPresent(HrmEmployeeDO::getEmployeeNo, reqVO.getEmployeeNo()) |
| | | .likeIfPresent(HrmEmployeeDO::getName, reqVO.getName()) |
| | | .inIfPresent(HrmEmployeeDO::getDeptId, deptIds) |
| | | .eqIfPresent(HrmEmployeeDO::getEmployeeStatus, reqVO.getEmployeeStatus()); |
| | | appendKeyword(wrapper, reqVO.getKeyword()); |
| | | wrapper.orderByDesc(HrmEmployeeDO::getId); |
| | | return selectPage(reqVO, wrapper); |
| | | } |
| | | |
| | | /** |
| | | * 关键词模糊匹配员工编号 / 姓名 / 手机号 |
| | | */ |
| | | private void appendKeyword(LambdaQueryWrapperX<HrmEmployeeDO> wrapper, String keyword) { |
| | | if (StrUtil.isBlank(keyword)) { |
| | | return; |
| | | } |
| | | String kw = keyword.trim(); |
| | | wrapper.and(w -> w.like(HrmEmployeeDO::getEmployeeNo, kw) |
| | | .or().like(HrmEmployeeDO::getName, kw) |
| | | .or().like(HrmEmployeeDO::getPhone, kw)); |
| | | } |
| | | |
| | | default List<HrmEmployeeDO> selectListByStatus(Integer employeeStatus) { |