MyUserMapper.java 5.57 KB
Newer Older
eddie.woo's avatar
eddie.woo committed
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
package pwc.taxtech.atms.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select;

import pwc.taxtech.atms.MyMapper;
import pwc.taxtech.atms.dto.DimensionValueOrgDto;
import pwc.taxtech.atms.dto.user.UserOrgRoleDto;
import pwc.taxtech.atms.entitiy.UserOrganization;

@Mapper
public interface MyUserMapper extends MyMapper {

    @Select("select ur.ID as ID, ur.IsAccessible as IsAccessible, ur.HasOriginalRole as HasOriginalRole, "
            + "org.ID as OrganizationID, org.Name as OrganizationName from UserOrganization as ur "
            + "join Organization as org on ur.OrganizationID = org.ID "
            + "where ur.UserID = #{userID} and org.IsActive = 1")
    @Results({ @Result(id = true, column = "ID", property = "ID"),
            @Result(column = "IsAccessible", property = "isAccessible", javaType = Boolean.class),
            @Result(column = "HasOriginalRole", property = "hasOriginalRole", javaType = Boolean.class),
            @Result(column = "OrganizationID", property = "organizationID", javaType = String.class),
            @Result(column = "OrganizationName", property = "organizationName", javaType = String.class) })
    List<Map<String, Object>> selectUserOrganizationMapByUserID(@Param(value = "userID") String userID);

    @Select("select urd.ID, urd.DimensionValueID, urd.DimensionID, urd.UserID, urd.IsAccessible, urd.HasOriginalRole, u.UserName "
eddie.woo's avatar
eddie.woo committed
32
            + "from UserDimensionValue as urd " + "join User as u on urd.UserID = u.ID " + "where u.Status = 1")
eddie.woo's avatar
eddie.woo committed
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
    @Results({ @Result(id = true, column = "ID", property = "ID"),
            @Result(column = "DimensionValueID", property = "dimensionValueID", javaType = String.class),
            @Result(column = "DimensionID", property = "dimensionID", javaType = String.class),
            @Result(column = "UserID", property = "userID", javaType = String.class),
            @Result(column = "IsAccessible", property = "isAccessible", javaType = Boolean.class),
            @Result(column = "HasOriginalRole", property = "hasOriginalRole", javaType = Boolean.class),
            @Result(column = "UserName", property = "userName", javaType = String.class) })
    List<Map<String, Object>> selectUserDimensionValueMap();

    @Select("select x.RoleID, y.Name as RoleName from UserRole as x " + "join Role as y on x.RoleID = y.ID "
            + "where x.UserID = #{userId} and x.ProjectID is NULL")
    @Results({ @Result(column = "RoleID", property = "roleID", javaType = String.class),
            @Result(column = "RoleName", property = "roleName", javaType = String.class) })
    List<Map<String, String>> selectUserRoleListByUserID(@Param(value = "userId") String userId);

eddie.woo's avatar
eddie.woo committed
48
    @Select("select q.ID, q.OrganizationID, q.UserID, q.IsAccessible, q.HasOriginalRole from UserOrganization as q join User as u on q.UserID = u.ID "
eddie.woo's avatar
eddie.woo committed
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
            + "where u.Status = 1")
    @Results({ @Result(id = true, column = "ID", property = "ID"),
            @Result(column = "OrganizationID", property = "organizationID"),
            @Result(column = "HasOriginalRole", property = "hasOriginalRole"),
            @Result(column = "UserID", property = "userID"),
            @Result(column = "IsAccessible", property = "isAccessible") })
    List<UserOrganization> selectUserOrganizationByUserID();

    @Select("select p.DimensionValueID, p.DimensionID, d.Name as DimensionName, p.DimensionValueName as DimensionValue "
            + "from (select ID as DimensionValueID, Name as DimensionValueName, IsActive, #{dimensionID} as DimensionID, "
            + "CreateTime, UpdateTime from BusinessUnit where IsActive = 1 " + "union "
            + "select ID as DimensionValueID, Name as DimensionValueName, IsActive, DimensionID, CreateTime, UpdateTime "
            + "from DimensionValue) as p " + "join Dimension as d on p.DimensionID = d.ID " + "where d.IsActive = 1")
    @Results({ @Result(column = "DimensionValueID", property = "dimensionValueID"),
            @Result(column = "DimensionID", property = "dimensionID"),
            @Result(column = "DimensionName", property = "dimensionName"),
            @Result(column = "DimensionValue", property = "dimensionValue") })
    List<DimensionValueOrgDto> selectUserRoleDimensionValueByDimensionID(
            @Param(value = "dimensionID") String dimensionID);

    @Select("select urd.ID, urd.OrganizationID as OrgID, urd.UserID, urd.IsAccessible, urd.HasOriginalRole, u.UserName as UserName "
eddie.woo's avatar
eddie.woo committed
70
            + "from UserOrganization as urd join User as u on urd.UserID = u.ID where u.Status = 1")
eddie.woo's avatar
eddie.woo committed
71 72 73 74 75 76 77 78 79 80 81 82 83
    @Results({ @Result(id = true, column = "ID", property = "ID"),
            @Result(column = "OrgID", property = "orgID", javaType = String.class),
            @Result(column = "UserID", property = "userID", javaType = String.class),
            @Result(column = "IsAccessible", property = "isAccessible", javaType = Boolean.class),
            @Result(column = "HasOriginalRole", property = "hasOriginalRole", javaType = Boolean.class),
            @Result(column = "UserName", property = "userName", javaType = String.class) })
    List<Map<String, Object>> selectUserOrganizationMap();

    @Select("select ur.UserID, r.ID as RoleID, r.Name as RoleName from UserRole as ur join Role as r on ur.RoleID = r.ID")
    @Results({ @Result(column = "UserID", property = "userID"), @Result(column = "RoleID", property = "roleID"),
            @Result(column = "RoleName", property = "roleName") })
    List<UserOrgRoleDto> selectUserOrgRoleDto();
}