gaoluyang
2 小时以前 d37c463e8dcdc72edf992f8c010b5c9037a3dceb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
package cn.iocoder.yudao.module.hrm.dal.mysql.salary;
 
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.salary.HrmSocialSecuritySchemeDeptDO;
import org.apache.ibatis.annotations.Mapper;
 
import java.util.Collection;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
 
/**
 * 社保公积金方案适用部门 Mapper
 *
 * @author 超级管理员
 */
@Mapper
public interface HrmSocialSecuritySchemeDeptMapper extends BaseMapperX<HrmSocialSecuritySchemeDeptDO> {
 
    /**
     * 按方案整组替换:先删除该方案的全部(逻辑删除)关联行
     */
    default void deleteBySchemeId(Long schemeId) {
        delete(new LambdaQueryWrapperX<HrmSocialSecuritySchemeDeptDO>()
                .eq(HrmSocialSecuritySchemeDeptDO::getSchemeId, schemeId));
    }
 
    default List<HrmSocialSecuritySchemeDeptDO> selectListBySchemeId(Long schemeId) {
        return selectList(new LambdaQueryWrapperX<HrmSocialSecuritySchemeDeptDO>()
                .eq(HrmSocialSecuritySchemeDeptDO::getSchemeId, schemeId));
    }
 
    default List<HrmSocialSecuritySchemeDeptDO> selectListBySchemeIds(Collection<Long> schemeIds) {
        return selectList(new LambdaQueryWrapperX<HrmSocialSecuritySchemeDeptDO>()
                .inIfPresent(HrmSocialSecuritySchemeDeptDO::getSchemeId, schemeIds));
    }
 
    default List<HrmSocialSecuritySchemeDeptDO> selectListByDeptIds(Collection<Long> deptIds) {
        return selectList(new LambdaQueryWrapperX<HrmSocialSecuritySchemeDeptDO>()
                .inIfPresent(HrmSocialSecuritySchemeDeptDO::getDeptId, deptIds));
    }
 
    default List<HrmSocialSecuritySchemeDeptDO> selectListByDeptId(Long deptId) {
        return selectList(new LambdaQueryWrapperX<HrmSocialSecuritySchemeDeptDO>()
                .eq(HrmSocialSecuritySchemeDeptDO::getDeptId, deptId));
    }
 
    /**
     * 查询全部已绑定部门的方案ID(用于区分「部门专属方案」与「全局默认方案」)
     */
    default Set<Long> selectAllBoundSchemeIds() {
        return selectObjs(new LambdaQueryWrapperX<HrmSocialSecuritySchemeDeptDO>()
                .select(HrmSocialSecuritySchemeDeptDO::getSchemeId))
                .stream().map(obj -> (Long) obj).collect(Collectors.toSet());
    }
 
}