刘光辉
昨天 bb638871a7fb692d80f1b7a758f991dc0879002c
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
package jnpf.limsMapper;
 
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
 
import java.util.List;
 
@Mapper
public interface LimsMessageAudienceMapper {
 
    @Select("SELECT DISTINCT ur.f_user_id " +
            "FROM base_user_relation ur " +
            "JOIN base_role r ON r.f_en_code = #{roleCode} " +
            "JOIN base_role_relation rr ON rr.f_role_id = r.f_id " +
            " AND rr.f_object_type = 'user' AND rr.f_object_id = ur.f_user_id " +
            "JOIN base_user u ON u.f_id = ur.f_user_id " +
            "WHERE LOWER(ur.f_object_type) = 'organize' AND ur.f_object_id = #{organizeId} " +
            "AND (r.f_delete_mark IS NULL OR r.f_delete_mark <> 1) AND r.f_enabled_mark = 1 " +
            "AND (rr.f_delete_mark IS NULL OR rr.f_delete_mark <> 1) " +
            "AND (ur.f_delete_mark IS NULL OR ur.f_delete_mark <> 1) " +
            "AND (u.f_delete_mark IS NULL OR u.f_delete_mark <> 1) AND u.f_enabled_mark = 1 " +
            "AND COALESCE(r.f_tenant_id, '0') = COALESCE(#{tenantId}, '0') " +
            "AND COALESCE(u.f_tenant_id, '0') = COALESCE(#{tenantId}, '0')")
    List<String> selectOrganizationRoleUsers(@Param("tenantId") String tenantId,
                                              @Param("organizeId") String organizeId,
                                              @Param("roleCode") String roleCode);
 
    @Select("SELECT DISTINCT jsonb_array_elements_text(a.bei_shouquanren::jsonb) " +
            "FROM lims_baogao_shouquan a " +
            "WHERE (a.f_delete_mark IS NULL OR a.f_delete_mark <> 1) " +
            "AND a.biz_enabled = 'yes' " +
            "AND a.shenhe_jibie::jsonb @> to_jsonb(#{authorityLevel}::text) " +
            "AND a.shenhe_fenlei::jsonb @> to_jsonb(#{bizType}::text) " +
            "AND COALESCE(a.f_tenant_id, '0') = COALESCE(#{tenantId}, '0')")
    List<String> selectReportAuthorizedUsers(@Param("tenantId") String tenantId,
                                              @Param("authorityLevel") String authorityLevel,
                                              @Param("bizType") String bizType);
 
    @Select("SELECT COALESCE(NULLIF(u.f_real_name, ''), u.f_account) FROM base_user u " +
            "WHERE u.f_id = #{userId} " +
            "AND COALESCE(u.f_tenant_id, '0') = COALESCE(#{tenantId}, '0') " +
            "AND (u.f_delete_mark IS NULL OR u.f_delete_mark <> 1) LIMIT 1")
    String selectUserDisplayName(@Param("tenantId") String tenantId,
                                 @Param("userId") String userId);
}