<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
<mapper namespace="kr.wisestone.owl.mapper.WorkspaceMapper">
|
|
<!-- 업무 공간 삭제 -->
|
<delete id="deleteWorkspace" parameterType="java.util.HashMap">
|
<choose>
|
<when test="workflowIds.size != 0">
|
<!-- 워크플로우 연결 정보 삭제 -->
|
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">
|
<!-- 업무 공간에 초대한 프로젝트 정보 삭제 -->
|
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">
|
<!-- 프로젝트 참여 사용자 삭제 -->
|
DELETE FROM project_role_user WHERE project_role_id IN (
|
<foreach collection="projectRoleIds" item="item" index="index" separator="," open="" close="">
|
#{item}
|
</foreach>
|
);
|
|
<!-- 프로젝트 권한 연결 정보 삭제 -->
|
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">
|
|
<!-- 프로젝트 역할 삭제 -->
|
DELETE FROM project_role WHERE project_id IN (
|
<foreach collection="projectIds" item="item" index="index" separator="," open="" close="">
|
#{item}
|
</foreach>
|
);
|
|
<!-- 프로젝트에 연결된 사용자 정의 필드 정보 삭제 -->
|
DELETE FROM issue_type_custom_field WHERE project_id IN (
|
<foreach collection="projectIds" item="item" index="index" separator="," open="" close="">
|
#{item}
|
</foreach>
|
);
|
|
<!-- 이슈 고유 번호 생성 정보 삭제 -->
|
DELETE FROM issue_number_generator WHERE project_id IN (
|
<foreach collection="projectIds" item="item" index="index" separator="," open="" close="">
|
#{item}
|
</foreach>
|
);
|
|
<!-- 이슈 이력 정보 삭제 -->
|
DELETE FROM issue_history WHERE project_id IN (
|
<foreach collection="projectIds" item="item" index="index" separator="," open="" close="">
|
#{item}
|
</foreach>
|
);
|
|
<!-- 이슈 삭제 -->
|
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">
|
|
<!-- 이슈 사용자 정의 필드 정보 삭제 -->
|
DELETE FROM issue_custom_field_value WHERE custom_field_id IN (
|
<foreach collection="customFieldIds" item="item" index="index" separator="," open="" close="">
|
#{item}
|
</foreach>
|
);
|
|
<!-- 사용자 정의 필드 값 삭제 -->
|
DELETE FROM custom_field_value WHERE custom_field_id IN (
|
<foreach collection="customFieldIds" item="item" index="index" separator="," open="" close="">
|
#{item}
|
</foreach>
|
);
|
</when>
|
</choose>
|
|
<!-- 사용자 정의 필드 삭제 -->
|
DELETE FROM custom_field WHERE workspace_id = #{workspaceId};
|
|
<!-- 이슈 상태 삭제 -->
|
DELETE FROM issue_status WHERE workspace_id = #{workspaceId};
|
|
<!-- 워크플로우 삭제 -->
|
DELETE FROM workflow WHERE workspace_id = #{workspaceId};
|
|
<!-- 이슈 타입 삭제 -->
|
DELETE FROM issue_type WHERE workspace_id = #{workspaceId};
|
|
<!-- 프로젝트 삭제 -->
|
DELETE FROM project WHERE workspace_id = #{workspaceId};
|
|
<!-- 업무 공간에 초대 정보 삭제 -->
|
DELETE FROM user_invite WHERE workspace_id = #{workspaceId};
|
|
<!-- 업무 공간 참여자 삭제 -->
|
DELETE FROM user_workspace WHERE workspace_id = #{workspaceId} AND manager_yn = 'N';
|
|
<!-- 이슈 담당자 정보 삭제 -->
|
DELETE FROM issue_user WHERE workspace_id = #{workspaceId};
|
|
<!-- 이슈 리스크 정보 삭제 -->
|
DELETE FROM issue_risk WHERE workspace_id = #{workspaceId};
|
|
<!-- 관심 이슈 정보 삭제 -->
|
DELETE FROM user_like_issue WHERE workspace_id = #{workspaceId};
|
|
<!-- 이슈 댓글 삭제 -->
|
DELETE FROM issue_comment WHERE workspace_id = #{workspaceId};
|
|
<!-- 이슈 검색 조건 삭제 -->
|
DELETE FROM issue_search WHERE workspace_id = #{workspaceId};
|
|
<!-- 이슈 테이블 설정 삭제 -->
|
DELETE FROM issue_table_config WHERE workspace_id = #{workspaceId};
|
|
<!-- 이슈 버전 정보 삭제 -->
|
DELETE FROM issue_version WHERE workspace_id = #{workspaceId};
|
|
<!-- 우선 순위 정보 삭제 -->
|
DELETE FROM priority WHERE workspace_id = #{workspaceId};
|
|
<!-- 중요도 정보 삭제 -->
|
DELETE FROM severity WHERE workspace_id = #{workspaceId};
|
|
<!-- 이슈 발생 예약 정보 삭제 -->
|
DELETE FROM issue_reservation WHERE workspace_id = #{workspaceId};
|
|
</delete>
|
|
</mapper>
|