OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2021-11-23 b2bf222751b9bba2315f861c2c5a2511dad86626
src/main/resources/mybatis/query-template/widget-template.xml
@@ -305,7 +305,7 @@
    <!--    5번 위젯 시작 -->
    <!--    번복되는 상태 변경 및 빈번한 담당자 변경 개수   -->
    <select id="countChangeStatusAndAssigneeIssue" resultType="java.util.HashMap"
    <!--<select id="countChangeStatusAndAssigneeIssue" resultType="java.util.HashMap"
            parameterType="kr.wisestone.owl.web.condition.WidgetCondition">
        select
        count(case when ir.change_assignee_count > 3 then 1 end) as changeAssigneeCount,
@@ -322,10 +322,29 @@
                </foreach>
            </when>
        </choose>
    </select>-->
    <select id="countChangeStatusAndDepartmentIssue" resultType="java.util.HashMap"
            parameterType="kr.wisestone.owl.web.condition.WidgetCondition">
        select
        count(case when ir.change_department_count > 3 then 1 end) as changeDepartmentCount,
        count(case when ir.change_issue_status_count > 3 then 1 end) as changeIssueStatusCount
        from issue i
        inner join issue_risk ir on ir.issue_id = i.id
        inner join issue_status iss on iss.id = i.issue_status_id
        where iss.issue_status_type != 'CLOSE'
        <choose>
            <when test="projectIds.size != 0">
                AND i.project_id IN
                <foreach collection="projectIds" item="item" index="index" separator="," open="(" close=")">
                    #{item}
                </foreach>
            </when>
        </choose>
    </select>
    <!--    위험 관리    -->
    <select id="findRiskIssue" resultType="java.util.HashMap"
    <!--<select id="findRiskIssue" resultType="java.util.HashMap"
            parameterType="kr.wisestone.owl.web.condition.WidgetCondition">
        select
        DISTINCT i.id, i.title, iss.name as issueStatusName,
@@ -351,6 +370,33 @@
        <if test="page != null and !page.equals('')">
            limit #{pageSize} offset #{page};
        </if>
    </select>-->
    <select id="findRiskIssue" resultType="java.util.HashMap"
            parameterType="kr.wisestone.owl.web.condition.WidgetCondition">
        select
        DISTINCT i.id, i.title, iss.name as issueStatusName,
        (case when ir.change_department_count > 3 then true else false end) as changeDepartmentType,
        (case when ir.change_issue_status_count > 3 then true else false end) as changeIssueStatusType,
        CONCAT(p.project_key, '-', i.issue_number) AS issueKey,
        i.issue_number as issueNumber,
        p.project_key as projectKey
        from issue i
        inner join issue_risk ir on ir.issue_id = i.id
        inner join issue_status iss on iss.id = i.issue_status_id
        inner join project p on p.id = i.project_id
        where iss.issue_status_type != 'CLOSE'
        <choose>
            <when test="projectIds.size != 0">
                AND p.id IN
                <foreach collection="projectIds" item="item" index="index" separator="," open="(" close=")">
                    #{item}
                </foreach>
            </when>
        </choose>
        and (ir.change_department_count > 3 || ir.change_issue_status_count > 3)
        <if test="page != null and !page.equals('')">
            limit #{pageSize} offset #{page};
        </if>
    </select>
    <!--    위험 관리 개수    -->
@@ -370,7 +416,7 @@
                </foreach>
            </when>
        </choose>
        and (ir.change_assignee_count > 3 || ir.change_issue_status_count > 3)
        and (ir.change_department_count > 3 || ir.change_issue_status_count > 3)
    </select>
    <!--    5번 위젯 끝 -->