双重预防项目-国泰新华二开定制版
SZH
2022-08-20 f9f0687195e0fe349185437d22c495d74c8d4a20
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<?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.ruoyi.project.dc.securityType.mapper.SecurityTypeMapper">
    
    <resultMap type="com.ruoyi.project.dc.securityType.domain.SecurityType" id="SecurityTypeResult">
        <result property="securityTypeId"    column="security_type_id"    />
        <result property="createBy"    column="create_by"    />
        <result property="createTime"    column="create_time"    />
        <result property="createUserId"    column="create_user_id"    />
        <result property="updateBy"    column="update_by"    />
        <result property="updateTime"    column="update_time"    />
        <result property="updateUserId"    column="update_user_id"    />
        <result property="parentId"    column="parent_id"    />
        <result property="ancestors"    column="ancestors"    />
        <result property="typeName"    column="type_name"    />
        <result property="orderNum"    column="order_num"    />
        <result property="parentName" column="parent_name" />
    </resultMap>
 
    <sql id="selectSecurityTypeVo">
        select security_type_id, create_by, create_time, create_user_id,
        update_by, update_time, update_user_id,
        parent_id, ancestors, type_name, order_num
        from dc_security_type
    </sql>
 
    <select id="selectSecurityTypeList" parameterType="SecurityType" resultMap="SecurityTypeResult">
        <include refid="selectSecurityTypeVo"/>
        <where>  
            <if test="parentId != null "> and parent_id = #{parentId}</if>
            <if test="ancestors != null  and ancestors != ''"> and ancestors = #{ancestors}</if>
            <if test="typeName != null  and typeName != ''"> and type_name like concat('%', #{typeName}, '%')</if>
            <if test="orderNum != null "> and order_num = #{orderNum}</if>
        </where>
        order by parent_id,order_num asc
    </select>
    
    <select id="selectSecurityTypeById" parameterType="Long" resultMap="SecurityTypeResult">
        select t.security_type_id, t.create_by, t.create_time, t.create_user_id,
        t.update_by, t.update_time, t.update_user_id,
        t.parent_id, t.ancestors, t.type_name, t.order_num, p.type_name as parent_name
        from dc_security_type t
        left join dc_security_type p on p.security_type_id = t.parent_id
        where t.security_type_id = #{securityTypeId}
    </select>
        
    <insert id="insertSecurityType" parameterType="SecurityType" useGeneratedKeys="true" keyProperty="securityTypeId">
        insert into dc_security_type
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="createBy != null  and createBy != ''">create_by,</if>
            <if test="createTime != null ">create_time,</if>
            <if test="createUserId != null ">create_user_id,</if>
            <if test="updateBy != null  and updateBy != ''">update_by,</if>
            <if test="updateTime != null ">update_time,</if>
            <if test="updateUserId != null ">update_user_id,</if>
            <if test="parentId != null ">parent_id,</if>
            <if test="ancestors != null  and ancestors != ''">ancestors,</if>
            <if test="typeName != null  and typeName != ''">type_name,</if>
            <if test="orderNum != null ">order_num,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="createBy != null  and createBy != ''">#{createBy},</if>
            <if test="createTime != null ">#{createTime},</if>
            <if test="createUserId != null ">#{createUserId},</if>
            <if test="updateBy != null  and updateBy != ''">#{updateBy},</if>
            <if test="updateTime != null ">#{updateTime},</if>
            <if test="updateUserId != null ">#{updateUserId},</if>
            <if test="parentId != null ">#{parentId},</if>
            <if test="ancestors != null  and ancestors != ''">#{ancestors},</if>
            <if test="typeName != null  and typeName != ''">#{typeName},</if>
            <if test="orderNum != null ">#{orderNum},</if>
         </trim>
    </insert>
 
    <update id="updateSecurityType" parameterType="SecurityType">
        update dc_security_type
        <trim prefix="SET" suffixOverrides=",">
            <if test="createBy != null  and createBy != ''">create_by = #{createBy},</if>
            <if test="createTime != null ">create_time = #{createTime},</if>
            <if test="createUserId != null ">create_user_id = #{createUserId},</if>
            <if test="updateBy != null  and updateBy != ''">update_by = #{updateBy},</if>
            <if test="updateTime != null ">update_time = #{updateTime},</if>
            <if test="updateUserId != null ">update_user_id = #{updateUserId},</if>
            <if test="parentId != null ">parent_id = #{parentId},</if>
            <if test="ancestors != null  and ancestors != ''">ancestors = #{ancestors},</if>
            <if test="typeName != null  and typeName != ''">type_name = #{typeName},</if>
            <if test="orderNum != null ">order_num = #{orderNum},</if>
        </trim>
        where security_type_id = #{securityTypeId}
    </update>
 
    <delete id="deleteSecurityTypeById" parameterType="Long">
        delete from dc_security_type where security_type_id = #{securityTypeId}
    </delete>
 
    <delete id="deleteSecurityTypeByIds" parameterType="String">
        delete from dc_security_type where security_type_id in 
        <foreach item="securityTypeId" collection="array" open="(" separator="," close=")">
            #{securityTypeId}
        </foreach>
    </delete>
 
    <update id="updateTypeChildren" parameterType="java.util.List">
        update dc_security_type set ancestors =
        <foreach collection="types" item="item" index="index"
                 separator=" " open="case security_type_id" close="end">
            when #{item.securityTypeId} then #{item.ancestors}
        </foreach>
        where security_type_id in
        <foreach collection="types" item="ww" index="index"
                 separator="," open="(" close=")">
            #{item.securityTypeId}
        </foreach>
    </update>
 
    <select id="selectChildrenTypeById" parameterType="Long" resultMap="SecurityTypeResult">
        select security_type_id, create_by, create_time, create_user_id,
               update_by, update_time, update_user_id,
               parent_id, ancestors, type_name, order_num
        from dc_security_type where find_in_set(#{typeId}, ancestors)
    </select>
    
</mapper>