车间能级提升-智能设备管理系统
朱桂飞
2025-02-19 f9a12ecb4ea4b7b103b50634335704140237fef7
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
package org.dromara.eims.utils;
 
import org.dromara.common.core.domain.model.LoginUser;
import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.eims.domain.bo.EimsRepairReqBo;
 
import java.util.Set;
 
/**
 * 自定义数据隔离
 */
public class DataFilterUtil {
 
    //TODO 保持与数据库一直 定义角色类型 operator-操作工 repair-维修工
    private  enum Role {
        operator, repair
    }
 
    private static final DataFilterUtil INSTANCE = new DataFilterUtil();
 
    private DataFilterUtil() {
    }
    public static DataFilterUtil getInstance() {
        return INSTANCE;
    }
    //报修单
    public void filterRepairReq(EimsRepairReqBo bo){
        LoginUser loginUser = LoginHelper.getLoginUser();
        if (loginUser == null)  return;
        Set<String> rolePermission = loginUser.getRolePermission();
        if (rolePermission == null)  return;
        if (rolePermission.contains(Role.operator.name())) {
            //维修工只能查询自己的数据
            bo.setCreateBy(loginUser.getUserId());
        }else if (rolePermission.contains(Role.repair.name())) {
            //TODO 维修工只能查询未接单状态的报修单(具体状态参考字典repair_req_status)
            bo.setStatus("0");
        }
        System.err.println(loginUser);
    }
 
}