From 3bdf2a1f2757de8ab6570508385d89124243943c Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 금, 10 12월 2021 15:34:13 +0900 Subject: [PATCH] 일반회원 대시보드 오류 해결 --- src/main/resources/mybatis/query-template/project-template.xml | 33 ++++++++++++++++++++++----------- 1 files changed, 22 insertions(+), 11 deletions(-) diff --git a/src/main/resources/mybatis/query-template/project-template.xml b/src/main/resources/mybatis/query-template/project-template.xml index 100ae59..f5054ef 100644 --- a/src/main/resources/mybatis/query-template/project-template.xml +++ b/src/main/resources/mybatis/query-template/project-template.xml @@ -74,11 +74,10 @@ 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> @@ -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.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"> @@ -331,7 +342,7 @@ <!-- �빐�떦 �뾽臾� 怨듦컙�뿉�꽌 李몄뿬�븯怨� �엳�뒗 吏꾪뻾以묒씤 �봽濡쒖젥�듃瑜� 議고쉶�븳�떎 --> - <!--<select id="findByWorkspaceIdAndIncludeProjectAll" resultType="java.util.HashMap" + <select id="findByWorkspaceIdAndIncludeProjectAll" resultType="java.util.HashMap" parameterType="kr.wisestone.owl.web.condition.ProjectCondition"> SELECT DISTINCT p.id as id, @@ -367,9 +378,9 @@ </foreach> </when> </choose> - </select>--> + </select> - <select id="findByWorkspaceIdAndIncludeProjectAll" resultType="java.util.HashMap" + <!--<select id="findByWorkspaceIdAndIncludeProjectAll" resultType="java.util.HashMap" parameterType="kr.wisestone.owl.web.condition.ProjectCondition"> SELECT DISTINCT p.id as id, @@ -406,7 +417,7 @@ </foreach> </when> </choose> - </select> + </select>--> <!-- �빐�떦 �뾽臾� 怨듦컙�뿉�꽌 李몄뿬�븯怨� �엳�뒗 吏꾪뻾以묒씤 �봽濡쒖젥�듃瑜� 議고쉶�븳�떎 --> <!--<select id="findByWorkspaceIdAndIncludeProject" resultType="java.util.HashMap" @@ -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> -- Gitblit v1.8.0