<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
<mapper namespace="kr.wisestone.owl.mapper.UserWorkspaceMapper">
|
|
<select id="find" resultType="java.util.HashMap" parameterType="kr.wisestone.owl.web.condition.UserWorkspaceCondition">
|
SELECT
|
DISTINCT uw.id as id,
|
u.id as userId,
|
u.name as userName,
|
u.account as account,
|
u.level_id as levelId,
|
uw.manager_yn as managerYn,
|
CASE WHEN uw.use_yn = 'Y' THEN 'true' ELSE 'false' END as useYn
|
FROM
|
user_workspace uw
|
INNER JOIN user u on uw.user_id = u.id
|
INNER JOIN workspace w on uw.workspace_id = w.id
|
WHERE 1=1
|
AND w.id = #{workspaceId}
|
<if test="name != '' and name != null">
|
AND u.name like CONCAT('%',#{name},'%')
|
</if>
|
|
<if test="account != '' and account != null">
|
AND u.account like CONCAT('%',#{account},'%')
|
</if>
|
|
<choose>
|
<when test="statuses.size != 0">
|
AND uw.use_yn IN
|
<foreach collection="statuses" item="item" index="index" separator="," open="(" close=")">
|
#{item}
|
</foreach>
|
</when>
|
</choose>
|
|
<choose>
|
<when test="levelIds.size != 0">
|
AND u.level_id IN
|
<foreach collection="levelIds" item="item" index="index" separator="," open="(" close=")">
|
#{item}
|
</foreach>
|
</when>
|
</choose>
|
limit #{pageSize} offset #{page};
|
</select>
|
|
<select id="count" resultType="java.lang.Long" parameterType="kr.wisestone.owl.web.condition.UserWorkspaceCondition">
|
SELECT
|
count(DISTINCT uw.id),
|
u.name as name,
|
u.account as account,
|
uw.use_yn as useYn
|
FROM
|
user_workspace uw
|
INNER JOIN user u on uw.user_id = u.id
|
INNER JOIN workspace w on uw.workspace_id = w.id
|
WHERE 1=1
|
AND w.id = #{workspaceId}
|
<if test="name != '' and name != null">
|
AND u.name like CONCAT('%',#{name},'%')
|
</if>
|
|
<if test="account != '' and account != null">
|
AND u.account like CONCAT('%',#{account},'%')
|
</if>
|
|
<choose>
|
<when test="statuses.size != 0">
|
AND uw.use_yn IN
|
<foreach collection="statuses" item="item" index="index" separator="," open="(" close=")">
|
#{item}
|
</foreach>
|
</when>
|
</choose>
|
</select>
|
|
</mapper>
|