liuxiaolong
2019-05-09 0d1d88cdb668e75ea8609417ac18ae19947e9525
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
<?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">
<!-- 
    namespace:必须与对应的接口全类名一致
    id:必须与对应接口的某个对应的方法名一致
    
 -->
<mapper namespace="com.basic.x01.securityCheck.mapper.SendListMapper">
 
    <resultMap id="TbSecurityCheckList" type="TbSecurityCheckList">
        <id property="listId" column="list_id" />
        <result property="typeId" column="type_id" />
        <result property="orgId" column="org_id" />
        <result property="typeName" column="type_name" />
        <result property="listName" column="list_name" />
        <result property="startDate" column="start_date" />
        <result property="endDate" column="end_date" />
        <result property="weekDays" column="week_days" />
        <result property="checkFlow" column="check_flow" />
        <result property="createTime" column="create_time" />
    </resultMap>
    
    <select id="getSecurityCheckListByOrgId" resultMap="TbSecurityCheckList">
        select list.*, (select type_name from tb_security_type type
            where type.type_id=list.type_id
                and type.org_id=list.org_id
                limit 1
            ) as type_name
        from tb_security_check_list list
        where list.org_id=#{orgId}
        order by list.create_time desc
    </select>
    <update id="updatePreviousCheckList">
        update tb_security_check_list_item
        set end_date=#{endDate}, ended='1'
        where (ended is null or ended ='0')
            and list_id !=#{listId}
            and concat(item_id, school_id) in 
            <foreach item="item" index="index" collection="idList"
                open="(" separator="," close=")">
                #{item}    
            </foreach>
    </update>
    <insert id="insertTbSecurityCheckListSchool">
        insert into tb_security_check_list_school (
            list_id, school_id
        ) values 
        <foreach item="item" index="index" collection="schoolIdList" separator=",">
            (#{list.listId}, #{item}
            )
        </foreach>
    </insert>
    <insert id="insertTbSecurityCheckListItem">
        insert into tb_security_check_list_item (
            list_id, item_id, school_id, 
            type_id, org_id, 
            item_name, item_content, check_way, item_create_time, 
            start_date, end_date, week_days, ended
        ) 
        select #{list.listId}, item.item_id, sch.school_id,
            item.type_id, item.org_id, 
            item.item_name, item.item_content, item.check_way, item.create_time,
            #{list.startDate}, #{list.endDate}, #{list.weekDays}, '0'
        from tb_security_check_item item, tb_security_check_list_school sch
        where item.org_id=#{list.orgId} and item.type_id=#{list.typeId}
            and sch.list_id=#{list.listId}
            and item.item_id in 
            <foreach item="item" index="index" collection="itemIdList"
                open="(" separator="," close=")">
                #{item}    
            </foreach>
        order by create_time
    </insert>
    <insert id="insertTbSecurityCheckList" parameterType="TbSecurityCheckList">
        <selectKey resultType="java.lang.String" order="BEFORE" keyProperty="listId">  
            select replace(uuid(),'-','') as listId
        </selectKey>  
        insert into tb_security_check_list (
            list_id, type_id, org_id, list_name,
            start_date, end_date, week_days,
            check_flow, 
            create_time, create_user_id
        ) values (
            #{listId}, #{typeId}, #{orgId}, #{listName},
            #{startDate}, #{endDate}, #{weekDays},
            #{checkFlow}, 
            date_format(now(),'%Y-%m-%d %H:%i:%S'), #{createUserId}
        )
    </insert>
</mapper>