OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2021-12-14 d64ce641aa6985cf531abe819ea7991f4fd2ec94
src/main/resources/mybatis/query-template/project-template.xml
@@ -74,16 +74,15 @@
        project p
        INNER JOIN project_role pr on p.id = pr.project_id
        INNER JOIN project_role_department prd on prd.project_role_id = pr.id
        INNER JOIN department d on d.id = prd.department_id
        INNER JOIN user_department ud on ud.department_id = prd.department_id
        INNER JOIN workspace ws on ws.id = p.workspace_id
        LEFT JOIN project_closure pc ON p.id = pc.project_id
        WHERE if (pc.parent_project_id > -1, pc.parent_project_id, -1) = -1
        AND prd.department_id = d.id
        <if test="name != '' and name != null">
            AND p.name like CONCAT('%',#{name},'%')
        </if>
        <choose>
            <when test="myDepartmentIds.size != 0">
            <when test="myDepartmentIds != null and myDepartmentIds.size != 0">
                AND prd.department_id IN
                <foreach collection="myDepartmentIds" item="item" index="index" separator="," open="(" close=")">
                    #{item}
@@ -178,14 +177,26 @@
        project p
        INNER JOIN project_role pr on p.id = pr.project_id
        INNER JOIN project_role_department prd on prd.project_role_id = pr.id
        INNER JOIN department d on d.id = prd.department_id
        INNER JOIN user_department ud on ud.department_id = prd.department_id
        INNER JOIN workspace ws on ws.id = p.workspace_id
        LEFT JOIN project_closure pc on p.id = pc.project_id
        WHERE prd.department_id = d.id
        WHERE prd.department_id = ud.id
        AND if (pc.parent_project_id > -1, pc.parent_project_id, -1) = -1
        <if test="name != '' and name != null">
            AND p.name like CONCAT('%',#{name},'%')
        </if>
        <choose>
            <when test="myDepartmentIds != null and myDepartmentIds.size != 0">
                AND prd.department_id IN
                <foreach collection="myDepartmentIds" item="item" index="index" separator="," open="(" close=")">
                    #{item}
                </foreach>
            </when>
            <otherwise>
                AND 1 != 1
            </otherwise>
        </choose>
        <choose>
            <when test="roleTypes.size != 0">
@@ -466,9 +477,9 @@
        project p
        INNER JOIN project_role pr on p.id = pr.project_id
        INNER JOIN project_role_department prd on prd.project_role_id = pr.id
        INNER JOIN department d on d.id = prd.department_id
        INNER JOIN user_department ud on ud.department_id = prd.department_id
        LEFT JOIN project_closure pc ON p.id = pc.project_id
        WHERE prd.department_id = d.id
        WHERE prd.department_id = ud.department_id
        AND if (pc.parent_project_id > -1, pc.parent_project_id, -1) = -1
        AND p.workspace_id = #{workspaceId}
        <if test="name != '' and name != null">
@@ -511,7 +522,7 @@
            project p
                INNER JOIN project_role pr on p.id = pr.project_id
                INNER JOIN project_role_department prd on prd.project_role_id = pr.id
                INNER JOIN department d on d.id = prd.department_id
                INNER JOIN user_department ud on ud.department_id = prd.department_id
        WHERE 1=1
          AND p.id = #{id}
    </select>