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