From 916a3cbabe4e50062fce61ff6f2f5d46c05dfbd1 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 목, 17 3월 2022 17:47:45 +0900
Subject: [PATCH] - api로 이슈 추가 시 url/ip로 업체 찾는 코드 수정

---
 src/main/resources/mybatis/query-template/department-template.xml |   55 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 52 insertions(+), 3 deletions(-)

diff --git a/src/main/resources/mybatis/query-template/department-template.xml b/src/main/resources/mybatis/query-template/department-template.xml
index 98aaf4d..23b0dfb 100644
--- a/src/main/resources/mybatis/query-template/department-template.xml
+++ b/src/main/resources/mybatis/query-template/department-template.xml
@@ -12,12 +12,20 @@
         FROM
         department d
         WHERE 1=1
-        <if test="departmentName != '' and departmentName != null">
+        <if test="departmentName != null and departmentName != ''">
             AND d.department_name like CONCAT('%',#{departmentName},'%')
         </if>
-        <if test="id != '' and id != null">
+        <if test="id != null and id != ''">
             AND d.id like CONCAT('%',#{id},'%')
         </if>
+        <choose>
+            <when test="excludeIds != null and excludeIds.size != 0">
+                AND d.id NOT IN
+                <foreach collection="excludeIds" item="item" index="index" separator="," open="(" close=")">
+                    #{item}
+                </foreach>
+            </when>
+        </choose>
         <if test="pageSize != '' and pageSize != null">
             limit #{pageSize} offset #{page};
         </if>
@@ -25,7 +33,7 @@
 
     <select id="count" resultType="java.lang.Long" parameterType="kr.wisestone.owl.web.condition.DepartmentCondition">
         SELECT
-        count(d.id)
+        count(DISTINCT d.id)
         FROM
         department d
         WHERE 1=1
@@ -49,6 +57,47 @@
         <if test="id != '' and id != null">
             AND ud.user_id = #{id}
         </if>
+        <choose>
+            <when test="excludeIds != null and excludeIds.size != 0">
+                AND d.id NOT IN
+                <foreach collection="excludeIds" item="item" index="index" separator="," open="(" close=")">
+                    #{item}
+                </foreach>
+            </when>
+        </choose>
+    </select>
+
+    <select id="findProjectDepartment" resultType="java.util.HashMap"
+            parameterType="kr.wisestone.owl.web.condition.UserCondition">
+        select DISTINCT (d.id) as departmentId, d.department_name as departmentName from department d
+         inner join project_role_department prd on prd.department_id = d.id
+         inner join project_role pr on pr.id = prd.project_role_id
+         inner join project p on p.id = pr.project_id
+        where p.id = #{projectId};
+    </select>
+
+    <select id="findByIssueStatusId" resultType="java.util.HashMap" parameterType="kr.wisestone.owl.web.condition.DepartmentCondition">
+        SELECT
+        d.id as id,
+        d.department_name as departmentName
+        FROM
+        department d
+        INNER JOIN workflow_department wd ON wd.department_id = d.id
+        WHERE 1=1
+        <if test="issueStatusId != null and issueStatusId != ''">
+            AND wd.issue_status_id = #{issueStatusId}
+        </if>
+        <if test="workflowId != null and workflowId != ''">
+            AND wd.workflow_Id = #{workflowId}
+        </if>
+        <choose>
+            <when test="excludeIds != null and excludeIds.size != 0">
+                AND d.id NOT IN
+                <foreach collection="excludeIds" item="item" index="index" separator="," open="(" close=")">
+                    #{item}
+                </foreach>
+            </when>
+        </choose>
     </select>
 
 

--
Gitblit v1.8.0