From 9ff3e8c43d01f758381b4925cff44502f1241750 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 수, 22 12월 2021 14:26:36 +0900 Subject: [PATCH] - 일반 사용자로 검색 기능 제대로 동작안되는 문제 해결 - 이슈 유형에서 사용중인 프로젝트는 삭제 불가 - 이슈 유형에서 프로젝트 검색 시 워크스페이스 관리자는 모든 프로젝트 검색 가능(기존엔 참여하고있는 프로젝트만 검색가능하게되어있었음) --- src/main/resources/mybatis/query-template/project-template.xml | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 57 insertions(+), 2 deletions(-) diff --git a/src/main/resources/mybatis/query-template/project-template.xml b/src/main/resources/mybatis/query-template/project-template.xml index e2d6b13..1ec4ee1 100644 --- a/src/main/resources/mybatis/query-template/project-template.xml +++ b/src/main/resources/mybatis/query-template/project-template.xml @@ -82,12 +82,15 @@ 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} </foreach> </when> + <otherwise> + AND 1 != 1 + </otherwise> </choose> <choose> @@ -184,12 +187,15 @@ </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} </foreach> </when> + <otherwise> + AND 1 != 1 + </otherwise> </choose> <choose> @@ -332,6 +338,44 @@ </when> </choose> AND p.workspace_id = #{workspaceId} + </select> + + <!-- �빐�떦 �뾽臾� 怨듦컙�뿉�꽌 吏꾪뻾以묒씤 紐⑤뱺 �봽濡쒖젥�듃瑜� 議고쉶�븳�떎 --> + <select id="findByWorkspaceIdAndProjectAll" 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 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> @@ -480,6 +524,17 @@ 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="statuses.size != 0"> AND p.status IN <foreach collection="statuses" item="item" index="index" separator="," open="(" close=")"> -- Gitblit v1.8.0