OWL ITS + 탐지시스템(인터넷 진흥원)
jhjang
2021-12-07 12a790240ef0301f839a55e1846ed0c5a32dffee
src/main/resources/mybatis/query-template/workspace-template.xml
@@ -4,6 +4,159 @@
<mapper namespace="kr.wisestone.owl.mapper.WorkspaceMapper">
    <!--    업무 공간 삭제  -->
    <!--<delete id="deleteWorkspace" parameterType="java.util.HashMap">
        <choose>
            <when test="workflowIds.size != 0">
                &lt;!&ndash;    워크플로우 연결 정보 삭제  &ndash;&gt;
                DELETE FROM workflow_transition WHERE workflow_id IN (
                <foreach collection="workflowIds" item="item" index="index" separator="," open="" close="">
                    #{item}
                </foreach>
                );
            </when>
        </choose>
        <choose>
            <when test="userInviteIds.size != 0">
                &lt;!&ndash;    업무 공간에 초대한 프로젝트 정보 삭제   &ndash;&gt;
                DELETE FROM user_invite_project WHERE user_invite_id IN (
                <foreach collection="userInviteIds" item="item" index="index" separator="," open="" close="">
                    #{item}
                </foreach>
                );
            </when>
        </choose>
        <choose>
            <when test="projectRoleIds.size != 0">
                &lt;!&ndash;    프로젝트 참여 사용자 삭제  &ndash;&gt;
                DELETE FROM project_role_user WHERE project_role_id IN (
                <foreach collection="projectRoleIds" item="item" index="index" separator="," open="" close="">
                    #{item}
                </foreach>
                );
                &lt;!&ndash;    프로젝트 권한 연결 정보 삭제  &ndash;&gt;
                DELETE FROM project_role_permission WHERE project_role_id IN(
                <foreach collection="projectRoleIds" item="item" index="index" separator="," open="" close="">
                    #{item}
                </foreach>
                );
            </when>
        </choose>
        <choose>
            <when test="projectIds.size != 0">
                &lt;!&ndash;    프로젝트 역할 삭제  &ndash;&gt;
                DELETE FROM project_role WHERE project_id IN (
                <foreach collection="projectIds" item="item" index="index" separator="," open="" close="">
                    #{item}
                </foreach>
                );
                &lt;!&ndash;    프로젝트에 연결된 사용자 정의 필드 정보 삭제   &ndash;&gt;
                DELETE FROM issue_type_custom_field WHERE project_id IN (
                <foreach collection="projectIds" item="item" index="index" separator="," open="" close="">
                    #{item}
                </foreach>
                );
                &lt;!&ndash;    이슈 고유 번호 생성 정보 삭제  &ndash;&gt;
                DELETE FROM issue_number_generator WHERE project_id IN (
                <foreach collection="projectIds" item="item" index="index" separator="," open="" close="">
                    #{item}
                </foreach>
                );
                &lt;!&ndash;    이슈 이력 정보 삭제 &ndash;&gt;
                DELETE FROM issue_history WHERE project_id IN (
                <foreach collection="projectIds" item="item" index="index" separator="," open="" close="">
                    #{item}
                </foreach>
                );
                &lt;!&ndash;    이슈 삭제   &ndash;&gt;
                DELETE FROM issue WHERE project_id IN (
                <foreach collection="projectIds" item="item" index="index" separator="," open="" close="">
                    #{item}
                </foreach>
                );
            </when>
        </choose>
        <choose>
            <when test="customFieldIds.size != 0">
                &lt;!&ndash;    이슈 사용자 정의 필드 정보 삭제  &ndash;&gt;
                DELETE FROM issue_custom_field_value WHERE custom_field_id IN (
                <foreach collection="customFieldIds" item="item" index="index" separator="," open="" close="">
                    #{item}
                </foreach>
                );
                &lt;!&ndash;    사용자 정의 필드 값 삭제  &ndash;&gt;
                DELETE FROM custom_field_value WHERE custom_field_id IN (
                <foreach collection="customFieldIds" item="item" index="index" separator="," open="" close="">
                    #{item}
                </foreach>
                );
            </when>
        </choose>
        &lt;!&ndash;    사용자 정의 필드 삭제    &ndash;&gt;
        DELETE FROM custom_field WHERE workspace_id = #{workspaceId};
        &lt;!&ndash;    이슈 상태 삭제    &ndash;&gt;
        DELETE FROM issue_status WHERE workspace_id = #{workspaceId};
        &lt;!&ndash;    워크플로우 삭제    &ndash;&gt;
        DELETE FROM workflow WHERE workspace_id = #{workspaceId};
        &lt;!&ndash;    이슈 타입 삭제    &ndash;&gt;
        DELETE FROM issue_type WHERE workspace_id = #{workspaceId};
        &lt;!&ndash;    프로젝트 삭제 &ndash;&gt;
        DELETE FROM project WHERE workspace_id = #{workspaceId};
        &lt;!&ndash;    업무 공간에 초대 정보 삭제 &ndash;&gt;
        DELETE FROM user_invite WHERE workspace_id = #{workspaceId};
        &lt;!&ndash;    업무 공간 참여자 삭제    &ndash;&gt;
        DELETE FROM user_workspace WHERE workspace_id = #{workspaceId} AND manager_yn = 'N';
        &lt;!&ndash;    이슈 담당자 정보 삭제    &ndash;&gt;
        DELETE FROM issue_user WHERE workspace_id = #{workspaceId};
        &lt;!&ndash;    이슈 리스크 정보 삭제    &ndash;&gt;
        DELETE FROM issue_risk WHERE workspace_id = #{workspaceId};
        &lt;!&ndash;    관심 이슈 정보 삭제 &ndash;&gt;
        DELETE FROM user_like_issue WHERE workspace_id = #{workspaceId};
        &lt;!&ndash;    이슈 댓글 삭제    &ndash;&gt;
        DELETE FROM issue_comment WHERE workspace_id = #{workspaceId};
        &lt;!&ndash;    이슈 검색 조건 삭제 &ndash;&gt;
        DELETE FROM issue_search WHERE workspace_id = #{workspaceId};
        &lt;!&ndash;    이슈 테이블 설정 삭제 &ndash;&gt;
        DELETE FROM issue_table_config WHERE workspace_id = #{workspaceId};
        &lt;!&ndash;    이슈 버전 정보 삭제 &ndash;&gt;
        DELETE FROM issue_version WHERE workspace_id = #{workspaceId};
        &lt;!&ndash;    우선 순위 정보 삭제 &ndash;&gt;
        DELETE FROM priority WHERE workspace_id = #{workspaceId};
        &lt;!&ndash;    중요도 정보 삭제   &ndash;&gt;
        DELETE FROM severity WHERE workspace_id = #{workspaceId};
        &lt;!&ndash;    이슈 발생 예약 정보 삭제  &ndash;&gt;
        DELETE FROM issue_reservation WHERE workspace_id = #{workspaceId};
    </delete>-->
    <delete id="deleteWorkspace" parameterType="java.util.HashMap">
        <choose>
            <when test="workflowIds.size != 0">
@@ -29,8 +182,8 @@
        <choose>
            <when test="projectRoleIds.size != 0">
                <!--    프로젝트 참여 사용자 삭제  -->
                DELETE FROM project_role_user WHERE project_role_id IN (
                <!--    프로젝트 참여 부서 삭제  -->
                DELETE FROM project_role_department WHERE project_role_id IN (
                <foreach collection="projectRoleIds" item="item" index="index" separator="," open="" close="">
                    #{item}
                </foreach>