OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2021-11-15 dc873bdc1e57945d6cb6eadd41ef38cc2a4b35d3
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
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 
<mapper namespace="kr.wisestone.owl.mapper.IssueUserMapper">
 
    <!--    이슈 담당자 bulk insert, import, modify, add 에서 사용 -->
    <insert id="insertIssueUser" keyColumn="id" keyProperty="id" useGeneratedKeys="true"
            parameterType="java.util.HashMap">
        INSERT INTO issue_user(department_id, user_id, issue_id, workspace_id, register_id, modify_id, register_date, modify_date)
        VALUES
        <foreach collection="list" item="map" index="index" separator="," open="" close="">
            (#{map.departmentId},#{map.userId}, #{map.issueId}, #{map.workspaceId}, #{map.registerId}, #{map.registerId}, NOW(), NOW())
        </foreach>
    </insert>
 
    <!--담당부서-->
    <!--    이슈 담당부서 bulk 삭제 - modify, add 에서 사용  -->
    <delete id="deleteIssueUserByIssueIdAndMultiDepartmentId" parameterType="java.util.HashMap">
        DELETE FROM issue_user WHERE issue_id = #{issueId} AND department_id IN (
        <foreach collection="map.departmentIds" item="item" index="index" separator="," open="" close="">
            #{item}
        </foreach>
        )
    </delete>
 
    <delete id="deleteIssueUserByDepartmentIdAndMultiIssueId" parameterType="java.util.HashMap">
        DELETE FROM issue_user WHERE department_id = #{departmentId} AND issue_id IN (
        <foreach collection="issueIds" item="item" index="index" separator="," open="" close="">
            #{item}
        </foreach>
        )
    </delete>
 
    <!--    이슈 담당부서를 조회한다 -->
    <select id="findByDepartmentIdAndProjectId" resultType="java.util.HashMap" parameterType="java.util.HashMap">
        SELECT DISTINCT(i.id) FROM issue i
                                       INNER JOIN issue_user iu ON iu.issue_id = i.id
                                       INNER JOIN department d ON d.id = iu.department_id
        WHERE i.project_id = #{projectId} AND d.id = #{departmentId}
    </select>
 
 
    <!--담당자-->
    <!--    이슈 담당자 bulk 삭제 - modify, add 에서 사용  -->
    <delete id="deleteIssueUserByIssueIdAndMultiUserId" parameterType="java.util.HashMap">
        DELETE FROM issue_user WHERE issue_id = #{issueId} AND user_id IN (
        <foreach collection="userIds" item="item" index="index" separator="," open="" close="">
            #{item}
        </foreach>
        )
    </delete>
 
    <delete id="deleteIssueUserByUserIdAndMultiIssueId" parameterType="java.util.HashMap">
        DELETE FROM issue_user WHERE user_id = #{userId} AND issue_id IN (
        <foreach collection="issueIds" item="item" index="index" separator="," open="" close="">
            #{item}
        </foreach>
        )
    </delete>
 
    <!--    이슈 담당자를 조회한다 -->
    <select id="findByUserIdAndProjectId" resultType="java.util.HashMap" parameterType="java.util.HashMap">
      SELECT DISTINCT(i.id) FROM issue i
        INNER JOIN issue_user iu ON iu.issue_id = i.id
        INNER JOIN user u ON u.id = iu.user_id
        WHERE i.project_id = #{projectId} AND u.id = #{userId}
    </select>
 
</mapper>