OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2021-12-08 ab5d57055cf4c9943468baaa8934e0e9aa943894
src/main/resources/mybatis/query-template/widget-template.xml
@@ -29,7 +29,7 @@
        SELECT
        COUNT(i.id) FROM issue i
        INNER JOIN issue_department isd ON isd.issue_id = i.id
        INNER JOIN department d ON d.id = isd.department_id
        INNER JOIN user_department ud ON ud.department_id = isd.department_id
        WHERE EXISTS(SELECT 1 FROM issue_status iss WHERE iss.issue_status_type != 'CLOSE' AND i.issue_status_id =
        iss.id)
        <choose>
@@ -73,7 +73,7 @@
        SELECT
        COUNT(i.id) FROM issue i
        INNER JOIN issue_department isd ON isd.issue_id = i.id
        INNER JOIN department d ON d.id = isd.department_id
        INNER JOIN user_department ud ON ud.department_id = isd.department_id
        where exists(select 1 from issue_status iss where iss.id = i.issue_status_id and iss.issue_status_type != 'CLOSE')
        <choose>
            <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0">
@@ -153,7 +153,7 @@
        SELECT
        COUNT(i.id) FROM issue i
        INNER JOIN issue_department isd ON isd.issue_id = i.id
        INNER JOIN department d ON d.id = isd.department_id
        INNER JOIN user_department ud ON ud.department_id = isd.department_id
        WHERE EXISTS(SELECT 1 FROM issue_department isd WHERE isd.issue_id = i.id
        <choose>
            <when test="myDepartmentIds.size != 0">
@@ -199,7 +199,7 @@
        select
        count(i.id) as todayCount from issue i
        INNER JOIN issue_department isd ON isd.issue_id = i.id
        INNER JOIN department d ON d.id = isd.department_id
        INNER JOIN user_department ud ON ud.department_id = isd.department_id
        where
        i.register_id = #{loginUserId}
        <choose>
@@ -308,7 +308,7 @@
        count(*) as issueCount from issue i
        inner join issue_status iss on iss.id = i.issue_status_id
        INNER JOIN issue_department isd ON isd.issue_id = i.id
        INNER JOIN department d ON d.id = isd.department_id
        INNER JOIN user_department ud ON ud.department_id = isd.department_id
        where iss.issue_status_type = 'CLOSE'
        <choose>
            <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0">
@@ -535,7 +535,9 @@
            parameterType="kr.wisestone.owl.web.condition.WidgetCondition">
        select
        count(i.id) as todayCount from issue i where
        exists(select 1 from issue_department isd where isd.issue_id = i.id
        exists(select 1 from issue_department isd
        INNER JOIN user_department ud ON ud.department_id = isd.department_id
        where isd.issue_id = i.id
        <choose>
            <when test="myDepartmentIds.size != 0">
                AND isd.department_id IN
@@ -684,6 +686,7 @@
        replace(SUBSTRING(i.register_date, 1, 10), "-", ".") as registerDate
        from issue i
        inner join issue_department isd on isd.issue_id = i.id
        INNER JOIN user_department ud ON ud.department_id = isd.department_id
        inner join issue_status iss on iss.id = i.issue_status_id
        inner join project p on p.id = i.project_id
        WHERE 1=1
@@ -1001,6 +1004,35 @@
        group by p.id
    </select>
    <select id="findByStandIssueStatusOfDepartment" resultType="java.util.HashMap"
            parameterType="kr.wisestone.owl.web.condition.WidgetCondition">
        select
        <choose>
            <when test="issueStatuses.size != 0">
                <foreach collection="issueStatuses" item="item" index="index" separator="," open="" close="">
                    count(case when i.issue_status_id = #{item.id} then 1 end) as #{item.name}
                </foreach>
            </when>
        </choose>
        ,p.id,
        p.name as projectName
        from issue i
        inner join project p on p.id = i.project_id
        inner join issue_status iss on iss.id = i.issue_status_id
        INNER JOIN issue_department isd ON isd.issue_id = i.id
        INNER JOIN user_department ud ON ud.department_id = isd.department_id
        where 1=1
        <choose>
            <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0">
                AND i.project_id IN
                <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")">
                    #{item}
                </foreach>
            </when>
        </choose>
        group by p.id
    </select>
    <!--    9번 위젯 끝 -->
    <!--    11번 위젯 시작 -->
@@ -1085,6 +1117,7 @@
        from
        department d
        inner join project_role_department prd on prd.department_id = d.id
        INNER JOIN user_department ud ON ud.department_id = prd.department_id
        inner join project_role pr on pr.id = prd.project_role_id
        inner join project p on p.id = pr.project_id
        WHERE
@@ -1243,8 +1276,18 @@
    <select id="findByStandIssueType" resultType="java.util.HashMap"
            parameterType="kr.wisestone.owl.web.condition.WidgetCondition">
        SELECT issue_type.name as name, COUNT(issue.id) as issueCount FROM issue issue
        INNER JOIN issue_type issue_type ON issue.issue_type_id = issue_type.id
        SELECT issue_type.name as name, COUNT(issue.id) as issueCount FROM issue
        INNER JOIN issue_type ON issue.issue_type_id = issue_type.id
        WHERE issue.project_id = #{projectId}
        GROUP BY issue_type.name
    </select>
    <select id="findByStandIssueTypeOfDepartment" resultType="java.util.HashMap"
            parameterType="kr.wisestone.owl.web.condition.WidgetCondition">
        SELECT issue_type.name as name, COUNT(issue.id) as issueCount FROM issue
        INNER JOIN issue_type ON issue.issue_type_id = issue_type.id
        INNER JOIN issue_department isd ON isd.issue_id = issue.id
        INNER JOIN user_department ud ON ud.department_id = isd.department_id
        WHERE issue.project_id = #{projectId}
        GROUP BY issue_type.name
    </select>
@@ -1289,6 +1332,7 @@
        INNER JOIN severity s ON s.id = i.severity_id
        INNER JOIN issue_status iss ON iss.id = i.issue_status_id
        INNER JOIN issue_department isd on isd.issue_id = i.id
        INNER JOIN user_department ud ON ud.department_id = isd.department_id
        WHERE w.id = #{workspaceId}
        AND iss.issue_status_type != 'CLOSE'
        <choose>
@@ -1363,6 +1407,7 @@
        INNER JOIN severity s ON s.id = i.severity_id
        INNER JOIN issue_status iss ON iss.id = i.issue_status_id
        INNER JOIN issue_department isd on isd.issue_id = i.id
        INNER JOIN user_department ud ON ud.department_id = isd.department_id
        WHERE w.id = #{workspaceId}
        AND s.id = #{severityId}
        AND iss.issue_status_type != 'CLOSE'