| | |
| | | import cn.iocoder.yudao.module.hrm.dal.dataobject.salary.HrmEmployeeSocialSecurityDO; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | import java.time.LocalDate; |
| | | import java.util.Collection; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 员工社保公积金档案 Mapper |
| | | * 部门社保公积金档案 Mapper |
| | | * |
| | | * @author 超级管理员 |
| | | */ |
| | | @Mapper |
| | | public interface HrmEmployeeSocialSecurityMapper extends BaseMapperX<HrmEmployeeSocialSecurityDO> { |
| | | |
| | | default HrmEmployeeSocialSecurityDO selectLatestByUserId(Long userId) { |
| | | default HrmEmployeeSocialSecurityDO selectLatestByDeptId(Long deptId) { |
| | | return selectOne(new LambdaQueryWrapperX<HrmEmployeeSocialSecurityDO>() |
| | | .eq(HrmEmployeeSocialSecurityDO::getUserId, userId) |
| | | .eq(HrmEmployeeSocialSecurityDO::getDeptId, deptId) |
| | | .eq(HrmEmployeeSocialSecurityDO::getStatus, 0) |
| | | .orderByDesc(HrmEmployeeSocialSecurityDO::getEffectiveDate) |
| | | .last("LIMIT 1")); |
| | | } |
| | | |
| | | default List<HrmEmployeeSocialSecurityDO> selectListByUserId(Long userId) { |
| | | /** |
| | | * 批量查询多个部门各自最新生效的档案,用于薪酬核算时避免逐员工查询 |
| | | */ |
| | | default List<HrmEmployeeSocialSecurityDO> selectListByDeptIds(Collection<Long> deptIds) { |
| | | return selectList(new LambdaQueryWrapperX<HrmEmployeeSocialSecurityDO>() |
| | | .eq(HrmEmployeeSocialSecurityDO::getUserId, userId) |
| | | .inIfPresent(HrmEmployeeSocialSecurityDO::getDeptId, deptIds) |
| | | .eq(HrmEmployeeSocialSecurityDO::getStatus, 0) |
| | | .orderByDesc(HrmEmployeeSocialSecurityDO::getEffectiveDate)); |
| | | } |
| | | |
| | | default List<HrmEmployeeSocialSecurityDO> selectListByDeptId(Long deptId) { |
| | | return selectList(new LambdaQueryWrapperX<HrmEmployeeSocialSecurityDO>() |
| | | .eq(HrmEmployeeSocialSecurityDO::getDeptId, deptId) |
| | | .orderByDesc(HrmEmployeeSocialSecurityDO::getEffectiveDate)); |
| | | } |
| | | |
| | | default PageResult<HrmEmployeeSocialSecurityDO> selectPage(HrmEmployeeSocialSecurityPageReqVO reqVO) { |
| | | return selectPage(reqVO, new LambdaQueryWrapperX<HrmEmployeeSocialSecurityDO>() |
| | | .eqIfPresent(HrmEmployeeSocialSecurityDO::getUserId, reqVO.getUserId()) |
| | | .eqIfPresent(HrmEmployeeSocialSecurityDO::getDeptId, reqVO.getDeptId()) |
| | | .eqIfPresent(HrmEmployeeSocialSecurityDO::getStatus, reqVO.getStatus()) |
| | | .eqIfPresent(HrmEmployeeSocialSecurityDO::getEffectiveDate, reqVO.getEffectiveDate()) |
| | | .orderByDesc(HrmEmployeeSocialSecurityDO::getId)); |