OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2021-12-01 5fb1952ae91f1a739803247266e87dbd15ea1f27
src/main/resources/mybatis/query-template/issue-template.xml
@@ -50,21 +50,25 @@
        temp_issue_comment on (temp_issue_comment.issue_id = issue.id)
        LEFT OUTER JOIN user user ON issue_user.user_id = user.id
        WHERE 1=1
        <if test="title != null and !title.equals('') ">
        <if test="keyWord != null and !keyWord.equals('') ">
            AND issue.title like CONCAT('%',#{keyWord},'%')
            OR issue.description like CONCAT('%',#{keyWord},'%')
            OR issue.start_date like CONCAT('%',#{keyWord},'%')
            OR issue.complete_date like CONCAT('%',#{keyWord},'%')
            OR issue.issue_number like CONCAT('%',#{keyWord},'%')
            OR issue.register_date like CONCAT('%',#{keyWord},'%')
            OR project.name like CONCAT('%',#{keyWord},'%')
            OR project.project_key like CONCAT('%',#{keyWord},'%')
            OR issue_type.name like CONCAT('%',#{keyWord},'%')
            OR issue_status.issue_status_type like CONCAT('%',#{keyWord},'%')
            OR issue_status.name like CONCAT('%',#{keyWord},'%')
            OR priority.name like CONCAT('%',#{keyWord},'%')
            OR severity.name like CONCAT('%',#{keyWord},'%')
            OR issue_custom.use_value like CONCAT('%',#{keyWord},'%')
        </if>
        <if test="title != null and !title.equals('')">
            AND issue.title like CONCAT('%',#{title},'%')
            OR issue.description like CONCAT('%',#{title},'%')
            OR issue.start_date like CONCAT('%',#{title},'%')
            OR issue.complete_date like CONCAT('%',#{title},'%')
            OR issue.issue_number like CONCAT('%',#{title},'%')
            OR issue.register_date like CONCAT('%',#{title},'%')
            OR project.name like CONCAT('%',#{title},'%')
            OR project.project_key like CONCAT('%',#{title},'%')
            OR issue_type.name like CONCAT('%',#{title},'%')
            OR issue_status.issue_status_type like CONCAT('%',#{title},'%')
            OR issue_status.name like CONCAT('%',#{title},'%')
            OR priority.name like CONCAT('%',#{title},'%')
            OR severity.name like CONCAT('%',#{title},'%')
            OR issue_custom.use_value like CONCAT('%',#{title},'%')
        </if>
        <if test="description != null and !description.equals('')">
@@ -478,5 +482,22 @@
        issue WHERE issue_status_id = #{issueStatusId};
    </select>
    <!--    특정 사용자 정의 필드 값이 같은 이슈를 조회 -->
    <select id="findByCustomFieldValue" resultType="java.util.HashMap" parameterType="kr.wisestone.owl.web.condition.IssueCustomFieldValueCondition">
        SELECT
        id
        FROM issue
        LEFT OUTER JOIN issue_custom_field_value issue_custom FORCE INDEX(issueIdIndex) ON issue.id = issue_custom.issue_id
        WHERE 1=1
        AND issue.parent_issue_id IS NULL
        <choose>
            <when test="useValues.size != 0">
                AND issue_custom.use_value IN
                <foreach collection="useValues" item="item" index="index" separator="," open="(" close=")">
                    #{item}
                </foreach>
            </when>
        </choose>
    </select>
</mapper>