From 71b8c61b79be17f9ac886b947051d3256a32f159 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 금, 18 2월 2022 11:14:16 +0900 Subject: [PATCH] 이슈유형 설정에 상위 이슈 업체/ISP/호스팅 상속 기능 추가 --- src/main/resources/mybatis/query-template/project-template.xml | 119 ++++++++++++++++++++++++++++++++++------------------------- 1 files changed, 68 insertions(+), 51 deletions(-) diff --git a/src/main/resources/mybatis/query-template/project-template.xml b/src/main/resources/mybatis/query-template/project-template.xml index 823b0f3..35136a4 100644 --- a/src/main/resources/mybatis/query-template/project-template.xml +++ b/src/main/resources/mybatis/query-template/project-template.xml @@ -53,7 +53,7 @@ </when> </choose> AND ws.id = #{workspaceId} - ORDER BY p.id desc + ORDER BY p.register_date desc <if test="page != null and !page.equals('')"> limit #{pageSize} offset #{page}; </if> @@ -77,7 +77,7 @@ 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 1=1 + WHERE 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> @@ -120,7 +120,7 @@ </when> </choose> AND ws.id = #{workspaceId} - ORDER BY p.id desc + ORDER BY p.register_date desc <if test="page != null and !page.equals('')"> limit #{pageSize} offset #{page}; </if> @@ -181,6 +181,7 @@ 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 = 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> @@ -263,7 +264,7 @@ </choose> AND p.workspace_id = #{workspaceId} <if test="page != null and !page.equals('')"> - ORDER BY p.id desc + ORDER BY p.register_date desc limit #{pageSize} offset #{page}; </if> </select> @@ -377,43 +378,43 @@ </choose> </select> - <!-- <select id="findByWorkspaceIdAndIncludeProjectAll" resultType="java.util.HashMap" - parameterType="kr.wisestone.owl.web.condition.ProjectCondition"> - SELECT - DISTINCT p.id as id, - p.name as name, - p.description as description, - p.status as status, - p.start_date as startDate, - p.end_date as endDate, - p.project_key as projectKey, - CASE p.default_yn WHEN 'Y' THEN 'true' ELSE 'false' END as defaultYn - FROM - project p - INNER JOIN project_role pr on p.id = pr.project_id - INNER JOIN project_role_user pru on pru.project_role_id = pr.id - WHERE pru.user_id = #{loginUserId} - AND p.workspace_id = #{workspaceId} - <if test="name != '' and name != null"> - AND p.name like CONCAT('%',#{name},'%') - </if> - <choose> - <when test="statuses.size != 0"> - AND p.status IN - <foreach collection="statuses" item="item" index="index" separator="," open="(" close=")"> - #{item} - </foreach> - </when> - </choose> - <choose> - <when test="excludeIds.size != 0"> - AND p.id NOT IN - <foreach collection="excludeIds" item="item" index="index" separator="," open="(" close=")"> - #{item} - </foreach> - </when> - </choose> - </select>--> + <!-- <select id="findByWorkspaceIdAndIncludeProjectAll" resultType="java.util.HashMap" + parameterType="kr.wisestone.owl.web.condition.ProjectCondition"> + SELECT + DISTINCT p.id as id, + p.name as name, + p.description as description, + p.status as status, + p.start_date as startDate, + p.end_date as endDate, + p.project_key as projectKey, + CASE p.default_yn WHEN 'Y' THEN 'true' ELSE 'false' END as defaultYn + FROM + project p + INNER JOIN project_role pr on p.id = pr.project_id + INNER JOIN project_role_user pru on pru.project_role_id = pr.id + WHERE pru.user_id = #{loginUserId} + AND p.workspace_id = #{workspaceId} + <if test="name != '' and name != null"> + AND p.name like CONCAT('%',#{name},'%') + </if> + <choose> + <when test="statuses.size != 0"> + AND p.status IN + <foreach collection="statuses" item="item" index="index" separator="," open="(" close=")"> + #{item} + </foreach> + </when> + </choose> + <choose> + <when test="excludeIds.size != 0"> + AND p.id NOT IN + <foreach collection="excludeIds" item="item" index="index" separator="," open="(" close=")"> + #{item} + </foreach> + </when> + </choose> + </select>--> <!-- �빐�떦 �뾽臾� 怨듦컙�뿉�꽌 李몄뿬�븯怨� �엳�뒗 吏꾪뻾以묒씤 �봽濡쒖젥�듃瑜� 議고쉶�븳�떎 --> <select id="findByWorkspaceIdAndIncludeProjectAll" resultType="java.util.HashMap" @@ -564,6 +565,7 @@ 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 = 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"> AND p.name like CONCAT('%',#{name},'%') @@ -623,20 +625,35 @@ <select id="findChildrenProject" resultType="java.util.HashMap" parameterType="long"> SELECT - p.id as id, - p.name as name, - p.description as description, - p.status as status, - p.start_date as startDate, - p.end_date as endDate, - p.project_key as projectKey, - pc.parent_project_id as parentProjectId + p.id as id, + p.name as name, + p.description as description, + p.status as status, + p.start_date as startDate, + p.end_date as endDate, + p.project_key as projectKey, + pc.parent_project_id as parentProjectId FROM - project p - LEFT JOIN project_closure pc ON p.id = pc.project_id + project p + LEFT JOIN project_closure pc ON p.id = pc.project_id WHERE pc.parent_project_id = #{parent_project_id} </select> + <select id="findByIssueType" resultType="java.util.HashMap" parameterType="kr.wisestone.owl.web.condition.ProjectCondition"> + SELECT + p.id as id, + p.name as name, + p.description as description, + p.status as status, + p.start_date as startDate, + p.end_date as endDate, + p.project_key as projectKey + FROM + project p + INNER JOIN issue_type it ON it.project_id = p.id + WHERE it.id = #{issueTypeId} + </select> + <!-- �봽濡쒖젥�듃 �궘�젣 --> <!--<delete id="deleteProject" parameterType="java.util.HashMap"> <!– �봽濡쒖젥�듃�뿉 �뿰寃곕맂 �궗�슜�옄 �젙�쓽 �븘�뱶 �젙蹂� �궘�젣 –> -- Gitblit v1.8.0