无关风月
4 天以前 df4733091b30b0434a04dacd0e844663114d4cfe
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
59
60
61
62
63
64
65
66
67
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsh.course.mapper.DeptMapper">
 
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.dsh.guns.modular.system.model.Dept">
        <id column="id" property="id"/>
        <result column="num" property="num"/>
        <result column="pid" property="pid"/>
        <result column="pids" property="pids"/>
        <result column="simplename" property="simplename"/>
        <result column="fullname" property="fullname"/>
        <result column="tips" property="tips"/>
        <result column="version" property="version"/>
    </resultMap>
 
    <select id="tree" resultType="com.dsh.course.model.node.ZTreeNode">
        select id,pid as pId,simplename as name,
        (
        CASE
        WHEN (pId = 0 OR pId IS NULL) THEN
        'true'
        ELSE
        'false'
        END
        ) as isOpen from sys_dept where 1=1
        <if test="type == 3">
            and  objectType = 3 and objectId =#{id}
        </if>
        <if test="type == 2">
            and (objectType = 2 and objectId =#{id}
            or
            <if test="storeIds != null and storeIds.size()>0">
                objectId IN
                <foreach collection="storeIds" separator="," item="id" open="(" close=")">
                    #{id}
                </foreach>
            </if>
            )
        </if>
    </select>
    <select id="list" resultType="java.util.Map">
            select * from sys_dept where 1=1
            <if test="condition != null and condition != ''">
                and  simplename like CONCAT('%',#{condition},'%') or fullname like CONCAT('%',#{condition},'%')
            </if>
            <if test="objectType == 3">
                and  objectType = 3 and objectId =#{objectId}
            </if>
            <if test="objectType == 2">
                and (objectType = 2 and objectId =#{objectId}
                or
                <if test="storeIds != null and storeIds.size()>0">
                    objectId IN
                    <foreach collection="storeIds" separator="," item="id" open="(" close=")">
                        #{id}
                    </foreach>
                </if>
                )
            </if>
 
 
            order by num ASC
    </select>
 
 
</mapper>